]> git.ipfire.org Git - thirdparty/squid.git/blob - src/mem/forward.h
Maintenance: automate header guards 2/3 (#1655)
[thirdparty/squid.git] / src / mem / forward.h
1 /*
2 * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
3 *
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.
7 */
8
9 /* DEBUG: section 13 High Level Memory Pool Management */
10
11 #ifndef SQUID_SRC_MEM_FORWARD_H
12 #define SQUID_SRC_MEM_FORWARD_H
13
14 #include "mem/AllocatorProxy.h"
15
16 #include <iosfwd>
17
18 class StoreEntry;
19
20 /// Memory Management
21 namespace Mem
22 {
23 class Meter;
24 class PoolMeter;
25 class PoolStats;
26
27 void Init();
28 void Stats(StoreEntry *);
29 void CleanIdlePools(void *unused);
30 void Report(std::ostream &);
31 void PoolReport(const PoolStats *, const PoolMeter *, std::ostream &);
32 };
33
34 extern const size_t squidSystemPageSize;
35
36 /// \deprecated use MEMPROXY_CLASS instead.
37 typedef void FREE(void *);
38
39 /// Types of memory pool which do not yet use MEMPROXY_CLASS() API
40 typedef enum {
41 MEM_NONE,
42 MEM_32B_BUF,
43 MEM_64B_BUF,
44 MEM_128B_BUF,
45 MEM_256B_BUF,
46 MEM_512B_BUF,
47 MEM_1K_BUF,
48 MEM_2K_BUF,
49 MEM_4K_BUF,
50 MEM_8K_BUF,
51 MEM_16K_BUF,
52 MEM_32K_BUF,
53 MEM_64K_BUF,
54 MEM_DREAD_CTRL,
55 MEM_DWRITE_Q,
56 MEM_MD5_DIGEST,
57 MEM_MAX
58 } mem_type;
59
60 /// Main cleanup handler.
61 void memClean(void);
62 void memInitModule(void);
63 void memCleanModule(void);
64 void memConfigure(void);
65 /// Allocate one element from the typed pool
66 void *memAllocate(mem_type);
67 void *memAllocBuf(size_t net_size, size_t * gross_size);
68 void *memReallocBuf(void *buf, size_t net_size, size_t * gross_size);
69 /// Free a element allocated by memAllocate()
70 void memFree(void *, int type);
71 void memFreeBuf(size_t size, void *);
72 FREE *memFreeBufFunc(size_t size);
73 int memInUse(mem_type);
74
75 #endif /* SQUID_SRC_MEM_FORWARD_H */
76