acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
allocate.h
1/* Alloc.h -- Memory allocation functions
22009-02-07 : Igor Pavlov : Public domain */
3// from 7-zip on 2010-12-19
4#pragma once
5
6
7CLASS_DECL_ACME void * MyAlloc(size_t size);
8CLASS_DECL_ACME void * MyRealloc(void * address, size_t sizeOld, size_t sizeNew);
9CLASS_DECL_ACME void MyFree(void *address);
10
11
12
13#define __NORMAL_BLOCK 1
14#define ___CLIENT_BLOCK (_CLIENT_BLOCK|(0xc0<<16))
15
16
17
18#ifdef AAA_WANT_TO_REMOVE
19
20#ifdef XDEBUG
21
22#ifndef ___NO_DEBUG_CRT
23
24CLASS_DECL_ACME void * __alloc_memory_debug(size_t nSize, bool bIsObject, const ::file::path & path, ::i32 nLine);
25
26CLASS_DECL_ACME void __free_memory_debug(void * pbData, bool bIsObject);
27
28CLASS_DECL_ACME bool __default_alloc_hook(size_t, bool, ::i32);
29
30// A failure hook returns whether to permit allocation
31typedef bool (* __ALLOC_HOOK)(size_t nSize, bool bObject, ::i32 lRequestNumber);
32
33// set allocateø< hook, return old >(never nullptr)
34//CLASS_DECL_ACME __ALLOC_HOOK __set_alloc_hook(__ALLOC_HOOK pfnAllocHook);
35
36
37CLASS_DECL_ACME ::i32 __cdecl __alloc_alloc_hook(::i32 nAllocType, void * pvData, size_t nSize, ::i32 nBlockUse, long lRequest, const ::u8 * szFilename, ::i32 nLine);
38CLASS_DECL_ACME __ALLOC_HOOK __set_alloc_hook(__ALLOC_HOOK pfnNewHook);
39
40CLASS_DECL_ACME bool __enable_memory_leak_override(bool bEnable);
41CLASS_DECL_ACME bool __enable_memory_tracking(bool bTrack);
42
44// Enumerate all objects allocated in the diagnostic memory heap
45
46//struct CLASS_DECL_ACME ___ENUM_CONTEXT
47//{
48// void (*m_pfn)(matter*,void *);
49// void * m_pContext;
50//};
51
52//CLASS_DECL_ACME void __do_for_all_objects_proxy(void * pObject, void * pContext);
53//CLASS_DECL_ACME void __do_for_all_objects(void (c_cdecl *pfn)(matter*, void *), void * pContext);
54
56// Automatic debug memory diagnostics
57
58#endif // ___NO_DEBUG_CRT
59#endif // XDEBUG
60
62// Non-diagnostic memory routines
63
64CLASS_DECL_ACME ::i32 c_cdecl øallocate_handler(size_t /* nSize */);
65
66
67
68#endif // AAA_WANT_TO_REMOVE
69
70