/*++ Copyright (c) 1994 Microsoft Corporation Module Name: dhcplib.h Abstract: This file contains proto type definitions for the dhcp lib functions. Author: Madan Appiah (madana) 12-Aug-1993 Environment: User Mode - Win32 - MIDL Revision History: --*/ #ifndef DHCPLIB_H_INCLUDED #define DHCPLIB_H_INCLUDED #define DhcpAllocateMemory(x) ALLOCATE_MEMORY(LPTR,(x)) #define DhcpFreeMemory(x) FREE_MEMORY(x) // // network.c // DHCP_IP_ADDRESS DhcpDefaultSubnetMask( DHCP_IP_ADDRESS IpAddress ); // // dhcp.c // /*PVOID DhcpAllocateMemory( DWORD Size ); VOID DhcpFreeMemory( PVOID Memory );*/ #if DBG #ifndef DEBUG_ALLOC #define DEBUG_ALLOC 0x02000000 #endif /* PVOID _inline DhcpAllocateMemoryEx( DWORD Size, DWORD LineNo, LPSTR FileName ) { LPVOID Ptr = DhcpAllocateMemory(Size); DhcpPrint(("Allocate %010x %04x %04d %s\n", Ptr, Size, LineNo, FileName)); return Ptr; } VOID _inline DhcpFreeMemoryEx( LPVOID Ptr, DWORD LineNo, LPSTR FileName ) { DhcpFreeMemory(Ptr); DhcpPrint("Free %010x %04x %04d %s\n", Ptr, 0, LineNo, FileName)); } */ //#define DhcpAllocateMemory(Sz) DhcpAllocateMemoryEx(Sz, __LINE__, __FILE__) //#define DhcpFreeMemory(Ptr) DhcpFreeMemoryEx(Ptr, __LINE__, __FILE__) #endif LPOPTION DhcpAppendOption( LPOPTION Option, BYTE OptionType, PVOID OptionValue, ULONG OptionLength, LPBYTE OptionEnd ); LPOPTION DhcpAppendClientIDOption( LPOPTION Option, BYTE ClientHWType, LPBYTE ClientHWAddr, BYTE ClientHWAddrLength, LPBYTE OptionEnd ); LPBYTE DhcpAppendMagicCookie( LPBYTE Option, LPBYTE OptionEnd ); LPOPTION DhcpAppendEnterpriseName( LPOPTION Option, PCHAR DSEnterpriseName, LPBYTE OptionEnd ); DATE_TIME DhcpCalculateTime( DWORD RelativeTime ); DATE_TIME DhcpGetDateTime( VOID ); DWORD DhcpReportEventW( LPWSTR Source, DWORD EventID, DWORD EventType, DWORD NumStrings, DWORD DataLength, LPWSTR *Strings, LPVOID Data ); DWORD DhcpReportEventA( LPWSTR Source, DWORD EventID, DWORD EventType, DWORD NumStrings, DWORD DataLength, LPSTR *Strings, LPVOID Data ); DWORD DhcpLogUnknownOption( LPWSTR Source, DWORD EventID, LPOPTION Option ); VOID DhcpCancelWaitableTimer( HANDLE TimerHandle ); DWORD DhcpStartWaitableTimer( HANDLE TimerHandle, DWORD SleepTime); // // convert.c // LPWSTR DhcpOemToUnicodeN( IN LPSTR Ansi, IN OUT LPWSTR Unicode, IN USHORT cChars ); LPWSTR DhcpOemToUnicode( IN LPSTR Ansi, IN OUT LPWSTR Unicode ); LPSTR DhcpUnicodeToOem( IN LPWSTR Unicode, IN LPSTR Ansi ); #if 0 VOID DhcpIpAddressToString( LPWSTR Buffer, DWORD HexNumber ); VOID DhcpStringToIpAddress( LPSTR Buffer, LPDHCP_IP_ADDRESS IpAddress, BOOL NetOrder ); #endif VOID DhcpHexToString( LPWSTR Buffer, LPBYTE HexNumber, DWORD Length ); VOID DhcpHexToAscii( LPSTR Buffer, LPBYTE HexNumber, DWORD Length ); VOID DhcpDecimalToString( LPWSTR Buffer, BYTE Number ); DWORD DhcpDottedStringToIpAddress( LPSTR String ); LPSTR DhcpIpAddressToDottedString( DWORD IpAddress ); DWORD DhcpStringToHwAddress( LPSTR AddressBuffer, LPSTR AddressString ); #if 0 DHCP_IP_ADDRESS DhcpHostOrder( DHCP_IP_ADDRESS NetworkOrderAddress ); DHCP_IP_ADDRESS DhcpNetworkOrder( DHCP_IP_ADDRESS NetworkOrderAddress ); #endif LPWSTR DhcpRegIpAddressToKey( DHCP_IP_ADDRESS IpAddress, LPWSTR KeyBuffer ); DWORD DhcpRegKeyToIpAddress( LPWSTR Key ); LPWSTR DhcpRegOptionIdToKey( DHCP_OPTION_ID OptionId, LPWSTR KeyBuffer ); DHCP_OPTION_ID DhcpRegKeyToOptionId( LPWSTR Key ); #if 0 //DBG VOID DhcpDumpMessage( DWORD DhcpDebugFlag, LPDHCP_MESSAGE DhcpMessage ); VOID DhcpAssertFailed( LPSTR FailedAssertion, LPSTR FileName, DWORD LineNumber, LPSTR Message ); #define DhcpAssert(Predicate) \ { \ if (!(Predicate)) \ DhcpAssertFailed( #Predicate, __FILE__, __LINE__, NULL ); \ } #define DhcpVerify(Predicate) \ { \ if (!(Predicate)) \ DhcpAssertFailed( #Predicate, __FILE__, __LINE__, NULL ); \ } #else #define DhcpAssert(_x_) #define DhcpDumpMessage(_x_, _y_) #define DhcpVerify(_x_) (_x_) #endif // not DBG VOID DhcpNTToNTPTime( LPDATE_TIME AbsNTTime, DWORD Offset, PULONG NTPTimeStamp ); VOID DhcpNTPToNTTime( PULONG NTPTimeStamp, DWORD Offset, DATE_TIME *NTTime ); #endif DHCPLIB_H_INCLUDED //------------------------------------------------------------------------ // End of file //------------------------------------------------------------------------