]>
Commit | Line | Data |
---|---|---|
528b2c61 | 1 | /* |
4ac4a490 | 2 | * Copyright (C) 1996-2017 The Squid Software Foundation and contributors |
528b2c61 | 3 | * |
bbc27441 AJ |
4 | * Squid software is distributed under GPLv2+ license and includes |
5 | * contributions from numerous individuals and organizations. | |
6 | * Please see the COPYING and CONTRIBUTORS files for details. | |
528b2c61 | 7 | */ |
bbc27441 AJ |
8 | |
9 | /* DEBUG: section 13 High Level Memory Pool Management */ | |
10 | ||
ed6e9fb9 AJ |
11 | #ifndef _SQUID_SRC_MEM_FORWARD_H |
12 | #define _SQUID_SRC_MEM_FORWARD_H | |
528b2c61 | 13 | |
ed6e9fb9 | 14 | #include "mem/AllocatorProxy.h" |
8a89c28f | 15 | |
427854fb | 16 | #include <iosfwd> |
27e059d4 | 17 | |
e1f7507e AJ |
18 | class StoreEntry; |
19 | class MemPoolStats; | |
20 | class MemPoolMeter; | |
62ee09ca | 21 | |
9663db1c | 22 | /// Memory Management |
ed6e9fb9 | 23 | namespace Mem |
62e76326 | 24 | { |
f53969cc SM |
25 | void Init(); |
26 | void Report(); | |
27 | void Stats(StoreEntry *); | |
28 | void CleanIdlePools(void *unused); | |
29 | void Report(std::ostream &); | |
30 | void PoolReport(const MemPoolStats * mp_st, const MemPoolMeter * AllMeter, std::ostream &); | |
528b2c61 | 31 | }; |
32 | ||
43d1bbe4 FC |
33 | extern const size_t squidSystemPageSize; |
34 | ||
8ad10d96 | 35 | /// \deprecated use MEMPROXY_CLASS instead. |
6f5dc9e4 FC |
36 | typedef void FREE(void *); |
37 | ||
169a73ce AJ |
38 | /// Types of memory pool which do not yet use MEMPROXY_CLASS() API |
39 | typedef enum { | |
40 | MEM_NONE, | |
41 | MEM_2K_BUF, | |
42 | MEM_4K_BUF, | |
43 | MEM_8K_BUF, | |
44 | MEM_16K_BUF, | |
45 | MEM_32K_BUF, | |
46 | MEM_64K_BUF, | |
169a73ce AJ |
47 | MEM_DREAD_CTRL, |
48 | MEM_DWRITE_Q, | |
169a73ce | 49 | MEM_MD5_DIGEST, |
169a73ce AJ |
50 | MEM_MAX |
51 | } mem_type; | |
52 | ||
8a648e8d FC |
53 | void memClean(void); |
54 | void memInitModule(void); | |
55 | void memCleanModule(void); | |
56 | void memConfigure(void); | |
57 | void *memAllocate(mem_type); | |
58 | void *memAllocString(size_t net_size, size_t * gross_size); | |
59 | void *memAllocBuf(size_t net_size, size_t * gross_size); | |
60 | void *memReallocBuf(void *buf, size_t net_size, size_t * gross_size); | |
61 | void memFree(void *, int type); | |
62 | void memFreeString(size_t size, void *); | |
63 | void memFreeBuf(size_t size, void *); | |
64 | FREE *memFreeBufFunc(size_t size); | |
65 | int memInUse(mem_type); | |
3b08e399 | 66 | void memDataInit(mem_type, const char *, size_t, int, bool doZero = true); |
8a648e8d | 67 | void memCheckInit(void); |
8a89c28f | 68 | |
ed6e9fb9 | 69 | #endif /* _SQUID_SRC_MEM_FORWARD_H */ |
f53969cc | 70 |