source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dhcpv6csdk.h@ 1180

Last change on this file since 1180 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 2.3 KB
RevLine 
[1166]1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _INC_DHCPV6CSDK
7#define _INC_DHCPV6CSDK
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13#if (_WIN32_WINNT >= 0x0600)
14
15typedef enum _StatusCode {
16 STATUS_NO_ERROR,
17 STATUS_UNSPECIFIED_FAILURE,
18 STATUS_NO_BINDING,
19 STATUS_NOPREFIX_AVAIL
20} StatusCode;
21
22typedef struct _DHCPV6CAPI_CLASSID {
23 ULONG Flags;
24 LPBYTE Data;
25 ULONG nBytesData;
26} DHCPV6CAPI_CLASSID, *PDHCPV6CAPI_CLASSID, *LPDHCPV6CAPI_CLASSID;
27
28typedef struct _DHCPV6CAPI_PARAMS {
29 ULONG Flags;
30 ULONG OptionId;
31 WINBOOL IsVendor;
32 LPBYTE Data;
33 DWORD nBytesData;
34} DHCPV6CAPI_PARAMS, *PDHCPV6CAPI_PARAMS, *LPDHCPV6CAPI_PARAMS;
35
36typedef struct _DHCPV6Prefix {
37 UCHAR prefix[16];
38 DWORD prefixLength;
39 DWORD preferredLifeTime;
40 DWORD validLifeTime;
41 StatusCode status;
42} DHCPV6Prefix, *PDHCPV6Prefix, *LPDHCPV6Prefix;
43
44typedef struct _DHCPV6CAPI_PARAMS_ARRAY {
45 ULONG nParams;
46 LPDHCPV6CAPI_PARAMS Params;
47} DHCPV6CAPI_PARAMS_ARRAY, *PDHCPV6CAPI_PARAMS_ARRAY, *LPDHCPV6CAPI_PARAMS_ARRAY;
48
49typedef struct _DHCPV6PrefixLeaseInformation {
50 DWORD nPrefixes;
51 LPDHCPV6Prefix prefixArray;
52 DWORD iaid;
53 time_t T1;
54 time_t T2;
55 time_t MaxLeaseExpirationTime;
56 time_t LastRenewalTime;
57 StatusCode status;
58 LPBYTE ServerId;
59 DWORD ServerIdLen;
60} DHCPV6PrefixLeaseInformation, *PDHCPV6PrefixLeaseInformation, *LPDHCPV6PrefixLeaseInformation, *LPDHCPV6CAPIPrefixLeaseInformation;
61
62VOID APIENTRY Dhcpv6CApiCleanup(void);
63
64DWORD APIENTRY Dhcpv6CApiInitialize(
65 LPDWORD Version
66);
67
68DWORD APIENTRY Dhcpv6RenewPrefix(
69 LPWSTR adapterName,
70 LPDHCPV6CAPI_CLASSID classId,
71 LPDHCPV6CAPIPrefixLeaseInformation prefixleaseInfo
72);
73
74DWORD APIENTRY Dhcpv6RenewPrefix(
75 LPWSTR adapterName,
76 LPDHCPV6CAPI_CLASSID classId,
77 LPDHCPV6PrefixLeaseInformation prefixleaseInfo,
78 DWORD pdwTimeToWait,
79 DWORD bValidatePrefix
80);
81
82DWORD APIENTRY Dhcpv6RequestPrefix(
83 LPWSTR adapterName,
84 LPDHCPV6CAPI_CLASSID classId,
85 LPDHCPV6PrefixLeaseInformation prefixleaseInfo,
86 DWORD pdwTimeToWait
87);
88
89#endif /* (_WIN32_WINNT >= 0x0600) */
90
91#ifdef __cplusplus
92}
93#endif
94
95#endif /*_INC_DHCPV6CSDK*/
Note: See TracBrowser for help on using the repository browser.