Leaked source code of windows server 2003
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.
|
|
/*++
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_
|