2 * Memory Pool prototypes
9 Copyright (C) 2000, 2001, 2002 Kern Sibbald and John Walker
11 This program is free software; you can redistribute it and/or
12 modify it under the terms of the GNU General Public License as
13 published by the Free Software Foundation; either version 2 of
14 the License, or (at your option) any later version.
16 This program is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 General Public License for more details.
21 You should have received a copy of the GNU General Public
22 License along with this program; if not, write to the Free
23 Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
30 #define get_pool_memory(pool) sm_get_pool_memory(__FILE__, __LINE__, pool)
31 extern POOLMEM *sm_get_pool_memory(char *file, int line, int pool);
33 #define get_memory(size) sm_get_memory(__FILE__, __LINE__, size)
34 extern POOLMEM *sm_get_memory(char *fname, int line, size_t size);
36 #define sizeof_pool_memory(buf) sm_sizeof_pool_memory(__FILE__, __LINE__, buf)
37 extern size_t sm_sizeof_pool_memory(char *fname, int line, POOLMEM *buf);
39 #define realloc_pool_memory(buf,size) sm_realloc_pool_memory(__FILE__, __LINE__, buf, size)
40 extern POOLMEM *sm_realloc_pool_memory(char *fname, int line, POOLMEM *buf, size_t size);
42 #define check_pool_memory_size(buf,size) sm_check_pool_memory_size(__FILE__, __LINE__, buf, size)
43 extern POOLMEM *sm_check_pool_memory_size(char *fname, int line, POOLMEM *buf, size_t size);
47 extern POOLMEM *get_pool_memory(int pool);
48 extern POOLMEM *get_memory(size_t size);
49 extern size_t sizeof_pool_memory(POOLMEM *buf);
50 extern POOLMEM *realloc_pool_memory(POOLMEM *buf, size_t size);
51 extern POOLMEM *check_pool_memory_size(POOLMEM *buf, size_t size);
55 #define free_memory(x) free_pool_memory(x)
56 extern void free_pool_memory(POOLMEM *buf);
57 extern void close_memory_pool();
58 extern void print_memory_pool_stats();
60 #define PM_NOPOOL 0 /* nonpooled memory */
61 #define PM_FNAME 1 /* file name buffer */
62 #define PM_MESSAGE 2 /* daemon message */
63 #define PM_EMSG 3 /* error message */
64 #define PM_MAX PM_EMSG /* Number of types */