68#if ZPTR_BASE || defined(DOXYGEN)
83#define ZPTR_MAX_ADDR ((uintptr_t)ZPTR_BASE + (1 << 18))
92 uintptr_t int_ptr = (uintptr_t)pointer;
93 return ((!(int_ptr & 0x3)) \
94 && (int_ptr >= (uintptr_t)ZPTR_BASE) \
109 return (uint16_t)(((uint32_t)pointer - (uint32_t)ZPTR_BASE) >> 2);
122 return (
void *)(ZPTR_BASE + ((uint32_t)zptr << 2));
129static inline int zptr_check(
void *pointer) { (void)pointer;
return 0; }
131static inline void *
zptrd(
zptr_t zptr) {
return (
void *)zptr; }
POSIX.1-2008 compliant version of the assert macro.
#define assert(cond)
abort the program if assertion is false
static zptr_t zptrc(void *pointer)
Compress a pointer (if possible)
static int zptr_check(void *pointer)
Determine if a pointer is compressible by zptrc()
#define ZPTR_MAX_ADDR
zptr highest compressible address
static void * zptrd(zptr_t zptr)
Decompress a pointer.
uint16_t zptr_t
zptr type definition
Adds include for missing inttype definitions.