]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/mem/forward.h
2 * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
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.
9 /* DEBUG: section 13 High Level Memory Pool Management */
11 #ifndef SQUID_SRC_MEM_FORWARD_H
12 #define SQUID_SRC_MEM_FORWARD_H
14 #include "mem/AllocatorProxy.h"
28 void Stats(StoreEntry
*);
29 void CleanIdlePools(void *unused
);
30 void Report(std::ostream
&);
31 void PoolReport(const PoolStats
*, const PoolMeter
*, std::ostream
&);
34 extern const size_t squidSystemPageSize
;
36 /// \deprecated use MEMPROXY_CLASS instead.
37 typedef void FREE(void *);
39 /// Types of memory pool which do not yet use MEMPROXY_CLASS() API
60 /// Main cleanup handler.
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
);
75 #endif /* SQUID_SRC_MEM_FORWARD_H */