[1] | 1 | /* SAMHAIN file system integrity testing */
|
---|
| 2 | /* Copyright (C) 1999 Rainer Wichmann */
|
---|
| 3 | /* */
|
---|
| 4 | /* This program is free software; you can redistribute it */
|
---|
| 5 | /* and/or modify */
|
---|
| 6 | /* it under the terms of the GNU General Public License as */
|
---|
| 7 | /* published by */
|
---|
| 8 | /* the Free Software Foundation; either version 2 of the License, or */
|
---|
| 9 | /* (at your option) any later version. */
|
---|
| 10 | /* */
|
---|
| 11 | /* This program is distributed in the hope that it will be useful, */
|
---|
| 12 | /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
|
---|
| 13 | /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
|
---|
| 14 | /* GNU General Public License for more details. */
|
---|
| 15 | /* */
|
---|
| 16 | /* You should have received a copy of the GNU General Public License */
|
---|
| 17 | /* along with this program; if not, write to the Free Software */
|
---|
| 18 | /* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
---|
| 19 |
|
---|
| 20 |
|
---|
| 21 | #ifndef SH_MEM_H
|
---|
| 22 | #define SH_MEM_H
|
---|
| 23 |
|
---|
| 24 |
|
---|
| 25 | #ifdef MEM_DEBUG
|
---|
| 26 |
|
---|
| 27 | void sh_mem_openf (char * file, int fd);
|
---|
| 28 | void sh_mem_closef (int fd);
|
---|
| 29 | void sh_mem_check (void);
|
---|
| 30 | void sh_mem_dump (void);
|
---|
| 31 | void sh_mem_free (void * a, char * file, int line);
|
---|
| 32 | void * sh_mem_malloc (size_t size, char * file, int line);
|
---|
| 33 | void sh_mem_stat (void);
|
---|
| 34 |
|
---|
| 35 | #define SH_FREE(a) sh_mem_free((a), FIL__, __LINE__)
|
---|
| 36 | #define SH_ALLOC(a) sh_mem_malloc((a), FIL__, __LINE__)
|
---|
| 37 |
|
---|
| 38 | #else
|
---|
| 39 |
|
---|
[149] | 40 | #if defined(__GNUC__) && (__GNUC__ >= 3)
|
---|
| 41 | #undef SH_GNUC_MALLOC
|
---|
| 42 | #define SH_GNUC_MALLOC __attribute__((malloc))
|
---|
| 43 | #else
|
---|
| 44 | #undef SH_GNUC_MALLOC
|
---|
| 45 | #define SH_GNUC_MALLOC
|
---|
| 46 | #endif
|
---|
[1] | 47 |
|
---|
| 48 | void sh_mem_free (/*@only@*//*@out@*//*@null@*/ void * a);
|
---|
[149] | 49 | /*@only@*//*@notnull@*/void * sh_mem_malloc (size_t size) SH_GNUC_MALLOC;
|
---|
[1] | 50 |
|
---|
| 51 | #define SH_FREE(a) sh_mem_free(a)
|
---|
| 52 | #define SH_ALLOC(a) sh_mem_malloc(a)
|
---|
| 53 |
|
---|
| 54 | #endif
|
---|
| 55 |
|
---|
| 56 | /* #ifndef SH_MEM_H */
|
---|
| 57 | #endif
|
---|