diff options
Diffstat (limited to 'private/inc/dhcpcapi.h')
-rw-r--r-- | private/inc/dhcpcapi.h | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/private/inc/dhcpcapi.h b/private/inc/dhcpcapi.h new file mode 100644 index 000000000..3efbd4285 --- /dev/null +++ b/private/inc/dhcpcapi.h @@ -0,0 +1,145 @@ +/*++ + +Copyright (c) 1992 Microsoft Corporation + +Module Name: + + dhcpcapi.h + +Abstract: + + This file contains function proto types for the DHCP CONFIG API + functions. + +Author: + + Madan Appiah (madana) Dec-22-1993 + +Environment: + + User Mode - Win32 + +Revision History: + + +--*/ + +#ifndef _DHCPCAPI_ +#define _DHCPCAPI_ + +typedef enum _SERVICE_ENABLE { + IgnoreFlag, + DhcpEnable, + DhcpDisable +} SERVICE_ENABLE, *LPSERVICE_ENABLE; + +DWORD +APIENTRY +DhcpAcquireParameters( + LPWSTR AdapterName + ); + +DWORD +APIENTRY +DhcpReleaseParameters( + LPWSTR AdapterName + ); + +DWORD +APIENTRY +DhcpEnableDynamicConfig( + LPWSTR AdapterName + ); + +DWORD +APIENTRY +DhcpDisableDynamicConfig( + LPWSTR AdapterName + ); + +DWORD +APIENTRY +DhcpNotifyConfigChange( + LPWSTR ServerName, + LPWSTR AdapterName, + BOOL IsNewIpAddress, + DWORD IpIndex, + DWORD IpAddress, + DWORD SubnetMask, + SERVICE_ENABLE DhcpServiceEnabled + ); + +DWORD +DhcpQueryHWInfo( + DWORD IpInterfaceContext, + DWORD *pIpInterfaceInstance, + LPBYTE HardwareAddressType, + LPBYTE *HardwareAddress, + LPDWORD HardwareAddressLength + ); + +// +// IP address lease apis for RAS . +// + + + +typedef struct _DHCP_CLIENT_UID { + LPBYTE ClientUID; + DWORD ClientUIDLength; +} DHCP_CLIENT_UID, *LPDHCP_CLIENT_UID; + +typedef struct _DHCP_LEASE_INFO { + DHCP_CLIENT_UID ClientUID; + DWORD IpAddress; + DWORD SubnetMask; + DWORD DhcpServerAddress; + DWORD Lease; + long LeaseObtained; + long T1Time; + long T2Time; + long LeaseExpires; +} DHCP_LEASE_INFO, *LPDHCP_LEASE_INFO; + +typedef struct _DHCP_OPTION_DATA { + DWORD OptionID; + DWORD OptionLen; + LPBYTE Option; +} DHCP_OPTION_DATA, *LPDHCP_OPTION_DATA; + +typedef struct _DHCP_OPTION_INFO { + DWORD NumOptions; + LPDHCP_OPTION_DATA OptionDataArray; +} DHCP_OPTION_INFO, *LPDHCP_OPTION_INFO; + + +typedef struct _DHCP_OPTION_LIST { + DWORD NumOptions; + LPWORD OptionIDArray; +} DHCP_OPTION_LIST, *LPDHCP_OPTION_LIST; + +DWORD +DhcpLeaseIpAddress( + DWORD AdapterIpAddress, + LPDHCP_CLIENT_UID ClientUID, + DWORD DesiredIpAddress, + LPDHCP_OPTION_LIST OptionList, + LPDHCP_LEASE_INFO *LeaseInfo, + LPDHCP_OPTION_INFO *OptionInfo + ); + +DWORD +DhcpRenewIpAddressLease( + DWORD AdapterIpAddress, + LPDHCP_LEASE_INFO ClientLeaseInfo, + LPDHCP_OPTION_LIST OptionList, + LPDHCP_OPTION_INFO *OptionInfo + ); + +DWORD +DhcpReleaseIpAddressLease( + DWORD AdapterIpAddress, + LPDHCP_LEASE_INFO ClientLeaseInfo + ); + +#endif |