|  | /** | 
|  | * This file has no copyright assigned and is placed in the Public Domain. | 
|  | * This file is part of the mingw-w64 runtime package. | 
|  | * No warranty is given; refer to the file DISCLAIMER.PD within this package. | 
|  | */ | 
|  | #ifndef _INC_DHCPV6CSDK | 
|  | #define _INC_DHCPV6CSDK | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | #if (_WIN32_WINNT >= 0x0600) | 
|  |  | 
|  | typedef enum _StatusCode { | 
|  | STATUS_NO_ERROR, | 
|  | STATUS_UNSPECIFIED_FAILURE, | 
|  | STATUS_NO_BINDING, | 
|  | STATUS_NOPREFIX_AVAIL | 
|  | } StatusCode; | 
|  |  | 
|  | typedef struct _DHCPV6CAPI_CLASSID { | 
|  | ULONG  Flags; | 
|  | LPBYTE Data; | 
|  | ULONG  nBytesData; | 
|  | } DHCPV6CAPI_CLASSID, *PDHCPV6CAPI_CLASSID, *LPDHCPV6CAPI_CLASSID; | 
|  |  | 
|  | typedef struct _DHCPV6CAPI_PARAMS { | 
|  | ULONG   Flags; | 
|  | ULONG   OptionId; | 
|  | WINBOOL IsVendor; | 
|  | LPBYTE  Data; | 
|  | DWORD   nBytesData; | 
|  | } DHCPV6CAPI_PARAMS, *PDHCPV6CAPI_PARAMS, *LPDHCPV6CAPI_PARAMS; | 
|  |  | 
|  | typedef struct _DHCPV6Prefix { | 
|  | UCHAR      prefix[16]; | 
|  | DWORD      prefixLength; | 
|  | DWORD      preferredLifeTime; | 
|  | DWORD      validLifeTime; | 
|  | StatusCode status; | 
|  | } DHCPV6Prefix, *PDHCPV6Prefix, *LPDHCPV6Prefix; | 
|  |  | 
|  | typedef struct _DHCPV6CAPI_PARAMS_ARRAY { | 
|  | ULONG               nParams; | 
|  | LPDHCPV6CAPI_PARAMS Params; | 
|  | } DHCPV6CAPI_PARAMS_ARRAY, *PDHCPV6CAPI_PARAMS_ARRAY, *LPDHCPV6CAPI_PARAMS_ARRAY; | 
|  |  | 
|  | typedef struct _DHCPV6PrefixLeaseInformation { | 
|  | DWORD          nPrefixes; | 
|  | LPDHCPV6Prefix prefixArray; | 
|  | DWORD          iaid; | 
|  | time_t         T1; | 
|  | time_t         T2; | 
|  | time_t         MaxLeaseExpirationTime; | 
|  | time_t         LastRenewalTime; | 
|  | StatusCode     status; | 
|  | LPBYTE         ServerId; | 
|  | DWORD          ServerIdLen; | 
|  | } DHCPV6PrefixLeaseInformation, *PDHCPV6PrefixLeaseInformation, *LPDHCPV6PrefixLeaseInformation, *LPDHCPV6CAPIPrefixLeaseInformation; | 
|  |  | 
|  | VOID APIENTRY Dhcpv6CApiCleanup(void); | 
|  |  | 
|  | DWORD APIENTRY Dhcpv6CApiInitialize( | 
|  | LPDWORD Version | 
|  | ); | 
|  |  | 
|  | DWORD APIENTRY Dhcpv6RenewPrefix( | 
|  | LPWSTR adapterName, | 
|  | LPDHCPV6CAPI_CLASSID classId, | 
|  | LPDHCPV6CAPIPrefixLeaseInformation prefixleaseInfo | 
|  | ); | 
|  |  | 
|  | DWORD APIENTRY Dhcpv6RenewPrefix( | 
|  | LPWSTR adapterName, | 
|  | LPDHCPV6CAPI_CLASSID classId, | 
|  | LPDHCPV6PrefixLeaseInformation prefixleaseInfo, | 
|  | DWORD pdwTimeToWait, | 
|  | DWORD bValidatePrefix | 
|  | ); | 
|  |  | 
|  | DWORD APIENTRY Dhcpv6RequestPrefix( | 
|  | LPWSTR adapterName, | 
|  | LPDHCPV6CAPI_CLASSID classId, | 
|  | LPDHCPV6PrefixLeaseInformation prefixleaseInfo, | 
|  | DWORD pdwTimeToWait | 
|  | ); | 
|  |  | 
|  | #endif /* (_WIN32_WINNT >= 0x0600) */ | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #endif /*_INC_DHCPV6CSDK*/ |