9 extern void *xmalloc(size_t size
) __hidden __warn_unused_result
;
10 extern void *xcalloc(size_t nmemb
, size_t size
) __hidden __warn_unused_result
;
11 extern void *xzmalloc(size_t size
) __hidden __warn_unused_result
;
12 extern void *xmallocz(size_t size
) __hidden __warn_unused_result
;
13 extern void *xmalloc_aligned(size_t size
, size_t alignment
) __hidden __warn_unused_result
;
14 extern void *xzmalloc_aligned(size_t size
, size_t alignment
) __hidden __warn_unused_result
;
15 extern void *xmemdupz(const void *data
, size_t len
) __hidden __warn_unused_result
;
16 extern void *xrealloc(void *ptr
, size_t size
) __hidden __warn_unused_result
;
17 extern void xfree_func(void *ptr
) __hidden
;
18 extern char *xstrdup(const char *str
) __hidden __warn_unused_result
;
19 extern char *xstrndup(const char *str
, size_t size
) __hidden __warn_unused_result
;
21 static inline void __xfree(void *ptr
)
23 if (unlikely((ptr
) == NULL
))
24 panic("xfree: NULL pointer given as argument\n");
28 #define xzfree(ptr, size) \
30 xmemset(ptr, 0, size); \
40 #endif /* XMALLOC_H */