X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fxalloc.h;fp=src%2Fxalloc.h;h=952f9217b953399d4de0cafb7da2917fba9474d4;hp=0000000000000000000000000000000000000000;hb=68f4ca711593416d0defd81199b176ba604c6cb1;hpb=fc74f52df914ac67ef27d10fa9ba4bfa11c2f40e diff --git a/src/xalloc.h b/src/xalloc.h new file mode 100644 index 00000000..952f9217 --- /dev/null +++ b/src/xalloc.h @@ -0,0 +1,29 @@ +#include + +#ifndef PARAMS +# if defined PROTOTYPES || (defined __STDC__ && __STDC__) +# define PARAMS(Args) Args +# else +# define PARAMS(Args) () +# endif +#endif + +/* Exit value when the requested amount of memory is not available. + The caller may set it to some other value. */ +extern int xalloc_exit_failure; + +/* FIXME: describe */ +extern char *const xalloc_msg_memory_exhausted; + +/* FIXME: describe */ +extern void (*xalloc_fail_func) (int); + +void *xmalloc PARAMS ((size_t n)) __attribute__ ((__malloc__)); +void *xmalloc_and_zero PARAMS ((size_t n)) __attribute__ ((__malloc__)); +void *xcalloc PARAMS ((size_t n, size_t s)); +void *xrealloc PARAMS ((void *p, size_t n)) __attribute__ ((__malloc__)); + +char *xstrdup PARAMS ((const char *s)) __attribute__ ((__malloc__)); + +extern int xasprintf(char **strp, const char *fmt, ...); +extern int xvasprintf(char **strp, const char *fmt, va_list ap);