/*++ Copyright (c) 1995-2000 Microsoft Corporation Module Name: dnsclip.h Abstract: Domain Name System (DNS) Server -- Admin Client API Main header file for DNS client API library. Author: Jim Gilroy (jamesg) September 1995 Revision History: --*/ #ifndef _DNSCLIP_INCLUDED_ #define _DNSCLIP_INCLUDED_ #pragma warning(disable:4214) #pragma warning(disable:4514) #pragma warning(disable:4152) #include #include #include #include #include // headers are messed up // if you bring in nt.h, then don't bring in winnt.h and // then you miss these #ifndef MAXWORD #define MINCHAR 0x80 #define MAXCHAR 0x7f #define MINSHORT 0x8000 #define MAXSHORT 0x7fff #define MINLONG 0x80000000 #define MAXLONG 0x7fffffff #define MAXBYTE 0xff #define MAXWORD 0xffff #define MAXDWORD 0xffffffff #endif #include #include "dnsrpc_c.h" // MIDL generated RPC interface definitions #include #include #include #include #define STRSAFE_NO_DEPRECATE // Do not deprecate strcpy, etc. #include // safe string functions #define NO_DNSAPI_DLL #include "dnslib.h" // // Internal routines // #ifdef __cplusplus extern "C" { #endif VOID DnssrvCopyRpcNameToBuffer( IN PSTR pResult, IN PDNS_RPC_NAME pName ); PDNS_RPC_RECORD DnsConvertRecordToRpcBuffer( IN PDNS_RECORD pRecord ); PVOID DnssrvMidlAllocZero( IN DWORD dwSize ); PDNS_NODE DnsConvertRpcBuffer( OUT PDNS_NODE * ppNodeLast, IN DWORD dwBufferLength, IN BYTE abBuffer[], IN BOOLEAN fUnicode ); DNS_STATUS DNS_API_FUNCTION DnssrvEnumRecordsStub( IN LPCSTR Server, IN LPCSTR pszNodeName, IN LPCSTR pszStartChild, IN WORD wRecordType, IN DWORD dwSelectFlag, IN OUT PDWORD pdwBufferLength, OUT PBYTE * ppBuffer ); #ifdef __cplusplus } #endif // __cplusplus // // Heap routines // Use dnsapi.dll memory routines // #define ALLOCATE_HEAP(iSize) Dns_Alloc(iSize) #define ALLOCATE_HEAP_ZERO(iSize) Dns_AllocZero(iSize) #define REALLOCATE_HEAP(pMem,iSize) Dns_Realloc((pMem),(iSize)) #define FREE_HEAP(pMem) Dns_Free(pMem) // // Debug stuff // #if DBG #undef ASSERT #define ASSERT( expr ) DNS_ASSERT( expr ) #define DNSRPC_DEBUG_FLAG_FILE ("dnsrpc.flag") #define DNSRPC_DEBUG_FILE_NAME ("dnsrpc.log") #define DNS_DEBUG_EVENTLOG 0x00000010 #define DNS_DEBUG_RPC 0x00000020 #define DNS_DEBUG_STUB 0x00000040 #define DNS_DEBUG_HEAP 0x00010000 #define DNS_DEBUG_HEAP_CHECK 0x00020000 #define DNS_DEBUG_REGISTRY 0x00080000 #endif // // If you like having a local variable in functions to hold the function // name so that you can include it in debug logs without worrying about // changing all the occurences when the function is renamed, use this // at the top of the function: // DBG_FN( "MyFunction" ) <--- NOTE: no semi-colon!! // #if DBG #define DBG_FN( funcName ) static const char * fn = (funcName); #else #define DBG_FN( funcName ) #endif // // Miscellaneous // #define sizeofarray( _ArrayName ) ( sizeof( _ArrayName ) / sizeof( ( _ArrayName ) [ 0 ] ) ) // // Functions to get/set thread local W2K RPC bind retry flag. // VOID dnsrpcSetW2KBindFlag( BOOL newFlagValue ); BOOL dnsrpcGetW2KBindFlag( VOID ); #endif // _DNSCLIP_INCLUDED_