ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dhcpv6csdk.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 2381 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
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
10 extern "C" {
11 #endif
12
13 #if (_WIN32_WINNT >= 0x0600)
14
15 typedef enum _StatusCode {
16 STATUS_NO_ERROR,
17 STATUS_UNSPECIFIED_FAILURE,
18 STATUS_NO_BINDING,
19 STATUS_NOPREFIX_AVAIL
20 } StatusCode;
21
22 typedef struct _DHCPV6CAPI_CLASSID {
23 ULONG Flags;
24 LPBYTE Data;
25 ULONG nBytesData;
26 } DHCPV6CAPI_CLASSID, *PDHCPV6CAPI_CLASSID, *LPDHCPV6CAPI_CLASSID;
27
28 typedef 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
36 typedef struct _DHCPV6Prefix {
37 UCHAR prefix[16];
38 DWORD prefixLength;
39 DWORD preferredLifeTime;
40 DWORD validLifeTime;
41 StatusCode status;
42 } DHCPV6Prefix, *PDHCPV6Prefix, *LPDHCPV6Prefix;
43
44 typedef struct _DHCPV6CAPI_PARAMS_ARRAY {
45 ULONG nParams;
46 LPDHCPV6CAPI_PARAMS Params;
47 } DHCPV6CAPI_PARAMS_ARRAY, *PDHCPV6CAPI_PARAMS_ARRAY, *LPDHCPV6CAPI_PARAMS_ARRAY;
48
49 typedef 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
62 VOID APIENTRY Dhcpv6CApiCleanup(void);
63
64 DWORD APIENTRY Dhcpv6CApiInitialize(
65 LPDWORD Version
66 );
67
68 DWORD APIENTRY Dhcpv6RenewPrefix(
69 LPWSTR adapterName,
70 LPDHCPV6CAPI_CLASSID classId,
71 LPDHCPV6CAPIPrefixLeaseInformation prefixleaseInfo
72 );
73
74 DWORD APIENTRY Dhcpv6RenewPrefix(
75 LPWSTR adapterName,
76 LPDHCPV6CAPI_CLASSID classId,
77 LPDHCPV6PrefixLeaseInformation prefixleaseInfo,
78 DWORD pdwTimeToWait,
79 DWORD bValidatePrefix
80 );
81
82 DWORD 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*/