Added BPF attach/detach support check.
[netsniff-ng.git] / src / xmalloc.h
blob5015c0518ce7e2039c99063eb5b1620353ea5b42
1 /*
2 * netsniff-ng - the packet sniffing beast
3 * By Daniel Borkmann <daniel@netsniff-ng.org>
4 * Copyright 2009, 2010 Daniel Borkmann.
5 * Subject to the GPL, version 2.
6 */
8 #ifndef XMALLOC_H
9 #define XMALLOC_H
11 #include <stdlib.h>
13 #include "compiler.h"
14 #include "die.h"
16 extern __hidden void *xmalloc(size_t size);
17 extern __hidden void *xzmalloc(size_t size);
18 extern __hidden void *xmallocz(size_t size);
19 extern __hidden void *xvalloc(size_t size);
20 extern __hidden void *xmalloc_aligned(size_t size, size_t alignment);
21 extern __hidden void *xmemdupz(const void *data, size_t len);
22 extern __hidden void *xcalloc(size_t nmemb, size_t size);
23 extern __hidden void *xrealloc(void *ptr, size_t nmemb, size_t size);
24 extern __hidden void xfree_func(void *ptr);
25 extern __hidden char *xstrdup(const char *str);
26 extern __hidden char *xstrndup(const char *str, size_t size);
27 extern __hidden int xdup(int fd);
29 #define xfree(ptr) \
30 do { \
31 if ((ptr) == NULL) \
32 panic("xfree: NULL pointer given as argument\n"); \
33 free((ptr)); \
34 (ptr) = NULL; \
35 } while (0)
37 #endif /* XMALLOC_H */