tinc/lib/xalloc.h

30 lines
904 B
C
Raw Normal View History

2019-08-26 11:44:36 +00:00
#include <sys/types.h>
#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) ();
2019-08-26 11:44:36 +00:00
void *xmalloc PARAMS ((size_t n)) __attribute__ ((__malloc__));
void *xmalloc_and_zero PARAMS ((size_t n)) __attribute__ ((__malloc__));
2019-08-26 11:44:36 +00:00
void *xcalloc PARAMS ((size_t n, size_t s));
2019-08-26 11:44:36 +00:00
void *xrealloc PARAMS ((void *p, size_t n)) __attribute__ ((__malloc__));
2019-08-26 11:44:36 +00:00
2019-08-26 11:44:36 +00:00
char *xstrdup PARAMS ((const char *s)) __attribute__ ((__malloc__));
2019-08-26 11:44:38 +00:00
extern int xasprintf(char **strp, const char *fmt, ...);
extern int xvasprintf(char **strp, const char *fmt, va_list ap);