summaryrefslogtreecommitdiffstats
path: root/private/inc/dhcpcapi.h
diff options
context:
space:
mode:
authorAdam <you@example.com>2020-05-17 05:51:50 +0200
committerAdam <you@example.com>2020-05-17 05:51:50 +0200
commite611b132f9b8abe35b362e5870b74bce94a1e58e (patch)
treea5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/inc/dhcpcapi.h
downloadNT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip
Diffstat (limited to 'private/inc/dhcpcapi.h')
-rw-r--r--private/inc/dhcpcapi.h145
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