Finalized commit 65d085f. Should be back to normal now.
[libpwmd.git] / src / mem.h
blobe9e319d5ee17a67b409cb0212abd39981b737888
1 /* vim:tw=78:ts=8:sw=4:set ft=c: */
2 /*
3 Copyright (C) 2007-2009 Ben Kibbey <bjk@luxsci.net>
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02110-1301 USA
20 #ifndef MEM_H
21 #define MEM_H
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
27 #ifdef MEM_DEBUG
28 #define xfree free
29 #define xmalloc malloc
30 #define xrealloc realloc
31 #define xcalloc calloc
32 #define xstrdup strdup
33 #else
34 struct memlist_s {
35 void *ptr;
36 size_t size;
37 struct memlist_s *next;
40 void xmem_init(void);
41 void xfree(void *ptr) __attribute__ ((visibility ("hidden")));
42 void *xmalloc(size_t size) __attribute__ ((visibility ("hidden")));
43 void *xrealloc(void *ptr, size_t size) __attribute__ ((visibility ("hidden")));
44 char *xstrdup(const char *str) __attribute__ ((visibility ("hidden")));
45 void *xcalloc(size_t nmemb, size_t size) __attribute__ ((visibility ("hidden")));
46 void xpanic(void) __attribute__ ((visibility ("hidden")));
47 #ifdef DEBUG
48 void xdump(void) __attribute__ ((visibility ("hidden")));
49 #endif
50 #endif
52 #ifdef __cplusplus
54 #endif
56 #endif