9#ifdef UACPI_USE_BUILTIN_STRING
30 #ifdef UACPI_COMPILER_HAS_BUILTIN_MEMCPY
31 #define uacpi_memcpy __builtin_memcpy
34 #define uacpi_memcpy memcpy
39 #ifdef UACPI_COMPILER_HAS_BUILTIN_MEMMOVE
40 #define uacpi_memmove __builtin_memmove
43 #define uacpi_memmove memmove
48 #ifdef UACPI_COMPILER_HAS_BUILTIN_MEMSET
49 #define uacpi_memset __builtin_memset
52 #define uacpi_memset memset
57 #ifdef UACPI_COMPILER_HAS_BUILTIN_MEMCMP
58 #define uacpi_memcmp __builtin_memcmp
61 #define uacpi_memcmp memcmp
86#ifndef uacpi_vsnprintf
93#ifdef UACPI_SIZED_FREES
94#define uacpi_free(mem, size) uacpi_kernel_free(mem, size)
96#define uacpi_free(mem, _) uacpi_kernel_free(mem)
99#define uacpi_memzero(ptr, size) uacpi_memset(ptr, 0, size)
101#define UACPI_COMPARE(x, y, op) ((x) op (y) ? (x) : (y))
102#define UACPI_MIN(x, y) UACPI_COMPARE(x, y, <)
103#define UACPI_MAX(x, y) UACPI_COMPARE(x, y, >)
105#define UACPI_ALIGN_UP_MASK(x, mask) (((x) + (mask)) & ~(mask))
106#define UACPI_ALIGN_UP(x, val, type) UACPI_ALIGN_UP_MASK(x, (type)(val) - 1)
108#define UACPI_ALIGN_DOWN_MASK(x, mask) ((x) & ~(mask))
109#define UACPI_ALIGN_DOWN(x, val, type) UACPI_ALIGN_DOWN_MASK(x, (type)(val) - 1)
111#define UACPI_IS_ALIGNED_MASK(x, mask) (((x) & (mask)) == 0)
112#define UACPI_IS_ALIGNED(x, val, type) UACPI_IS_ALIGNED_MASK(x, (type)(val) - 1)
114#define UACPI_IS_POWER_OF_TWO(x, type) UACPI_IS_ALIGNED(x, x, type)
125#ifndef UACPI_NATIVE_ALLOC_ZEROED
127#define uacpi_kernel_alloc_zeroed uacpi_builtin_alloc_zeroed
uacpi_u8 uacpi_bit_scan_forward(uacpi_u64)
uacpi_i32 uacpi_snprintf(uacpi_char *buffer, uacpi_size capacity, const uacpi_char *fmt,...)
uacpi_i32 uacpi_vsnprintf(uacpi_char *buffer, uacpi_size capacity, const uacpi_char *fmt, uacpi_va_list vlist)
uacpi_i32 uacpi_strcmp(const uacpi_char *lhs, const uacpi_char *rhs)
uacpi_size uacpi_strnlen(const uacpi_char *str, uacpi_size max)
void * uacpi_builtin_alloc_zeroed(uacpi_size size)
uacpi_u8 uacpi_bit_scan_backward(uacpi_u64)
void uacpi_memcpy_zerout(void *dst, const void *src, uacpi_size dst_size, uacpi_size src_size)
int memcmp(const void *lhs, const void *rhs, uacpi_size count)
uacpi_size uacpi_strlen(const uacpi_char *str)
GLuint GLuint GLsizei count
#define memcpy(s1, s2, n)
#define memmove(s1, s2, n)