124 lines
1.7 KiB
C
124 lines
1.7 KiB
C
|
/*++
|
|||
|
|
|||
|
Copyright (c) 1997 Microsoft Corporation
|
|||
|
|
|||
|
Module Name:
|
|||
|
|
|||
|
dnsmem.h
|
|||
|
|
|||
|
Abstract:
|
|||
|
|
|||
|
Domain Name System (DNS) Library
|
|||
|
|
|||
|
Memory routines declarations.
|
|||
|
|
|||
|
Author:
|
|||
|
|
|||
|
Jim Gilroy (jamesg) January 1997
|
|||
|
|
|||
|
Revision History:
|
|||
|
|
|||
|
--*/
|
|||
|
|
|||
|
#ifndef _DNS_MEMORY_INCLUDED_
|
|||
|
#define _DNS_MEMORY_INCLUDED_
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//
|
|||
|
// Ram's leak tracking debug routines
|
|||
|
// Changes made here to be exportable to dns server end
|
|||
|
|
|||
|
LPVOID
|
|||
|
DnsApiAlloc(
|
|||
|
DWORD cb
|
|||
|
);
|
|||
|
|
|||
|
#if DBG
|
|||
|
LPVOID
|
|||
|
DebugDnsApiAlloc(
|
|||
|
CHAR*,
|
|||
|
int,
|
|||
|
DWORD cb
|
|||
|
);
|
|||
|
#endif
|
|||
|
|
|||
|
#if DBG
|
|||
|
BOOL
|
|||
|
DebugDnsApiFree(
|
|||
|
LPVOID
|
|||
|
);
|
|||
|
#endif
|
|||
|
|
|||
|
BOOL
|
|||
|
DnsApiFree(
|
|||
|
LPVOID pMem
|
|||
|
);
|
|||
|
|
|||
|
//
|
|||
|
// Dont care about ReAlloc because it is not exported to server
|
|||
|
// side. May need to fix this if this is changed at a future point
|
|||
|
//
|
|||
|
|
|||
|
#if DBG
|
|||
|
LPVOID
|
|||
|
DebugDnsApiReAlloc(
|
|||
|
CHAR*,
|
|||
|
int,
|
|||
|
LPVOID pOldMem,
|
|||
|
DWORD cbOld,
|
|||
|
DWORD cbNew
|
|||
|
);
|
|||
|
#define DnsApiReAlloc( pOldMem, cbOld, cbNew ) DebugDnsApiReAlloc( __FILE__, __LINE__, pOldMem, cbOld, cbNew )
|
|||
|
#else
|
|||
|
LPVOID
|
|||
|
DnsApiReAlloc(
|
|||
|
LPVOID pOldMem,
|
|||
|
DWORD cbOld,
|
|||
|
DWORD cbNew
|
|||
|
);
|
|||
|
#endif
|
|||
|
|
|||
|
|
|||
|
#if DBG
|
|||
|
|
|||
|
extern LIST_ENTRY DnsMemList ;
|
|||
|
extern CRITICAL_SECTION DnsMemCritSect ;
|
|||
|
|
|||
|
VOID InitDnsMem(
|
|||
|
VOID
|
|||
|
);
|
|||
|
|
|||
|
VOID AssertDnsMemLeaks(
|
|||
|
VOID
|
|||
|
);
|
|||
|
|
|||
|
VOID
|
|||
|
DumpMemoryTracker(
|
|||
|
VOID
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
#else
|
|||
|
//
|
|||
|
// non-debug, macroize away heap tracking
|
|||
|
//
|
|||
|
#define InitDnsMem()
|
|||
|
#define AssertDnsMemLeaks()
|
|||
|
#define DumpMemoryTracker()
|
|||
|
#endif
|
|||
|
|
|||
|
|
|||
|
//
|
|||
|
// DCR: a better idea is just to call DnsApiHeapReset (if necessary)
|
|||
|
// to install any underlying allocators you want
|
|||
|
//
|
|||
|
// then just cover the standard macros for your debug builds
|
|||
|
//
|
|||
|
|
|||
|
#define DNS_ALLOCATE_HEAP(size) DnsApiAlloc(size)
|
|||
|
#define DNS_FREE_HEAP(p) DnsApiFree(p)
|
|||
|
|
|||
|
|
|||
|
#endif // _DNS_MEMORY_INCLUDED_
|