You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
1.9 KiB
123 lines
1.9 KiB
/*++
|
|
|
|
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_
|