]> git.ipfire.org Git - thirdparty/squid.git/blame - src/Mem.h
Bug 4148: external_acl_type header format does not accept the new libformat syntax
[thirdparty/squid.git] / src / Mem.h
CommitLineData
528b2c61 1/*
bbc27441 2 * Copyright (C) 1996-2014 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
528b2c61 11#ifndef SQUID_MEM
12#define SQUID_MEM
13
8a89c28f
FC
14/* for mem_type */
15#include "enums.h"
16/* for FREE */
17#include "typedefs.h"
18
427854fb 19#include <iosfwd>
27e059d4 20
e1f7507e
AJ
21class StoreEntry;
22class MemPoolStats;
23class MemPoolMeter;
62ee09ca 24
62e76326 25class Mem
26{
27
528b2c61 28public:
62e76326 29 static void Init();
97244680 30 static void Report();
62e76326 31 static void Stats(StoreEntry *);
32 static void CleanIdlePools(void *unused);
c21ad0f5 33 static void Report(std::ostream &);
34 static void PoolReport(const MemPoolStats * mp_st, const MemPoolMeter * AllMeter, std::ostream &);
ea391f18
FC
35
36protected:
37 static void RegisterWithCacheManager(void);
528b2c61 38};
39
43d1bbe4
FC
40extern const size_t squidSystemPageSize;
41
8a648e8d
FC
42void memClean(void);
43void memInitModule(void);
44void memCleanModule(void);
45void memConfigure(void);
46void *memAllocate(mem_type);
47void *memAllocString(size_t net_size, size_t * gross_size);
48void *memAllocBuf(size_t net_size, size_t * gross_size);
49void *memReallocBuf(void *buf, size_t net_size, size_t * gross_size);
50void memFree(void *, int type);
51void memFreeString(size_t size, void *);
52void memFreeBuf(size_t size, void *);
53FREE *memFreeBufFunc(size_t size);
54int memInUse(mem_type);
3b08e399 55void memDataInit(mem_type, const char *, size_t, int, bool doZero = true);
8a648e8d
FC
56void memCheckInit(void);
57void memConfigure(void);
8a89c28f 58
528b2c61 59#endif /* SQUID_MEM */