source: trunk/include/sh_mem.h@ 308

Last change on this file since 308 was 149, checked in by katerina, 17 years ago

Make sh_hash.c thread-safe, remove plenty of tiny allocations, improve sh_mem_dump, modify port check to run as thread, and fix unsetting of sh_thread_pause_flag (was too early).

File size: 2.2 KB
Line 
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
27void sh_mem_openf (char * file, int fd);
28void sh_mem_closef (int fd);
29void sh_mem_check (void);
30void sh_mem_dump (void);
31void sh_mem_free (void * a, char * file, int line);
32void * sh_mem_malloc (size_t size, char * file, int line);
33void 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
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
47
48void sh_mem_free (/*@only@*//*@out@*//*@null@*/ void * a);
49/*@only@*//*@notnull@*/void * sh_mem_malloc (size_t size) SH_GNUC_MALLOC;
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
Note: See TracBrowser for help on using the repository browser.