/** * 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*/