Disable optimizing of memset() during compilation.
[libpwmd.git] / src / mem.h
blob34cfb99e08efd627597b7f01686cbd5cc9e6598b
1 /*
2 Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012
3 Ben Kibbey <bjk@luxsci.net>
5 This file is part of libpwmd.
7 Libpwmd is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 2 of the License, or
10 (at your option) any later version.
12 Libpwmd is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with Libpwmd. If not, see <http://www.gnu.org/licenses/>.
20 #ifndef MEM_H
21 #define MEM_H
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
27 #ifdef HAVE_CONFIG_H
28 #include <config.h>
29 #endif
31 #include <sys/types.h>
32 #include <stdarg.h>
34 #ifdef MEM_DEBUG
35 #define _xfree free
36 #define _xmalloc malloc
37 #define _xrealloc realloc
38 #define _xcalloc calloc
39 #define _str_dup strdup
40 #else
41 void _xmem_init(void) __attribute__ ((visibility ("hidden")));
42 void _xfree(void *ptr) __attribute__ ((visibility ("hidden")));
43 void *_xmalloc(size_t size) __attribute__ ((visibility ("hidden")));
44 void *_xrealloc(void *ptr, size_t size) __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