comparison fuhtark_test/include/winapi/dhcpsapi.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
comparison
equal deleted inserted replaced
1499:1f58458b7ef7 1500:91c8c3b7cbf0
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
5 */
6 #ifndef _DHCPSAPI_
7 #define _DHCPSAPI_
8
9 #ifndef WINAPI
10 #define WINAPI __stdcall
11 #endif
12
13 #define DHCP_API_FUNCTION WINAPI
14
15 #ifdef __cplusplus
16 #define DHCP_CONST const
17 extern "C" {
18 #else
19 #define DHCP_CONST
20 #endif
21
22 typedef DWORD DHCP_IP_ADDRESS,*PDHCP_IP_ADDRESS,*LPDHCP_IP_ADDRESS;
23 typedef DWORD DHCP_IP_MASK;
24 typedef DWORD DHCP_RESUME_HANDLE;
25 typedef DWORD DHCP_OPTION_ID;
26
27 typedef struct _DATE_TIME {
28 DWORD dwLowDateTime;
29 DWORD dwHighDateTime;
30 } DATE_TIME,*LPDATE_TIME;
31
32 typedef struct _DWORD_DWORD {
33 DWORD DWord1;
34 DWORD DWord2;
35 } DWORD_DWORD,*LPDWORD_DWORD;
36
37 typedef struct _DHCP_BINARY_DATA {
38 DWORD DataLength;
39 BYTE *Data;
40 } DHCP_BINARY_DATA,*LPDHCP_BINARY_DATA;
41
42 typedef DHCP_BINARY_DATA DHCP_CLIENT_UID;
43
44 #define DHCP_ENDPOINT_FLAG_CANT_MODIFY 0x01
45
46 typedef struct _DHCP_BIND_ELEMENT {
47 ULONG Flags;
48 WINBOOL fBoundToDHCPServer;
49 DHCP_IP_ADDRESS AdapterPrimaryAddress;
50 DHCP_IP_ADDRESS AdapterSubnetAddress;
51 LPWSTR IfDescription;
52 ULONG IfIdSize;
53 LPBYTE IfId;
54 } DHCP_BIND_ELEMENT,*LPDHCP_BIND_ELEMENT;
55
56 typedef struct _DHCP_BIND_ELEMENT_ARRAY {
57 DWORD NumElements;
58 LPDHCP_BIND_ELEMENT Elements;
59 } DHCP_BIND_ELEMENT_ARRAY,*LPDHCP_BIND_ELEMENT_ARRAY;
60
61 typedef enum _DHCP_CLIENT_SEARCH_TYPE {
62 DhcpClientIpAddress,DhcpClientHardwareAddress,DhcpClientName
63 } DHCP_SEARCH_INFO_TYPE,*LPDHCP_SEARCH_INFO_TYPE;
64
65 typedef struct _DHCP_CLIENT_SEARCH_INFO {
66 DHCP_SEARCH_INFO_TYPE SearchType;
67 union _DHCP_CLIENT_SEARCH_UNION {
68 DHCP_IP_ADDRESS ClientIpAddress;
69 DHCP_CLIENT_UID ClientHardwareAddress;
70 LPWSTR ClientName;
71 } SearchInfo;
72 } DHCP_SEARCH_INFO,*LPDHCP_SEARCH_INFO;
73
74 typedef enum _DHCP_OPTION_SCOPE_TYPE {
75 DhcpDefaultOptions,DhcpGlobalOptions,DhcpSubnetOptions,DhcpReservedOptions,DhcpMScopeOptions
76 } DHCP_OPTION_SCOPE_TYPE,*LPDHCP_OPTION_SCOPE_TYPE;
77
78 typedef struct _DHCP_RESERVED_SCOPE {
79 DHCP_IP_ADDRESS ReservedIpAddress;
80 DHCP_IP_ADDRESS ReservedIpSubnetAddress;
81 } DHCP_RESERVED_SCOPE,*LPDHCP_RESERVED_SCOPE;
82
83 typedef struct _DHCP_OPTION_SCOPE_INFO {
84 DHCP_OPTION_SCOPE_TYPE ScopeType;
85 union _DHCP_OPTION_SCOPE_UNION {
86 PVOID DefaultScopeInfo;
87 PVOID GlobalScopeInfo;
88 DHCP_IP_ADDRESS SubnetScopeInfo;
89 DHCP_RESERVED_SCOPE ReservedScopeInfo;
90 LPWSTR MScopeInfo;
91 } ScopeInfo;
92 } DHCP_OPTION_SCOPE_INFO,*LPDHCP_OPTION_SCOPE_INFO;
93
94 typedef struct _DHCP_HOST_INFO {
95 DHCP_IP_ADDRESS IpAddress;
96 LPWSTR NetBiosName;
97 LPWSTR HostName;
98 } DHCP_HOST_INFO,*LPDHCP_HOST_INFO;
99
100 typedef struct _DHCP_CLIENT_INFO {
101 DHCP_IP_ADDRESS ClientIpAddress;
102 DHCP_IP_MASK SubnetMask;
103 DHCP_CLIENT_UID ClientHardwareAddress;
104 LPWSTR ClientName;
105 LPWSTR ClientComment;
106 DATE_TIME ClientLeaseExpires;
107 DHCP_HOST_INFO OwnerHost;
108 } DHCP_CLIENT_INFO,*LPDHCP_CLIENT_INFO;
109
110 typedef struct _DHCP_CLIENT_INFO_ARRAY {
111 DWORD NumElements;
112 LPDHCP_CLIENT_INFO *Clients;
113 } DHCP_CLIENT_INFO_ARRAY,*LPDHCP_CLIENT_INFO_ARRAY;
114
115 typedef struct _DHCP_IP_ARRAY {
116 DWORD NumElements;
117 LPDHCP_IP_ADDRESS Elements;
118 } DHCP_IP_ARRAY,*LPDHCP_IP_ARRAY;
119
120 typedef enum _DHCP_SUBNET_STATE {
121 DhcpSubnetEnabled = 0,DhcpSubnetDisabled,DhcpSubnetEnabledSwitched,DhcpSubnetDisabledSwitched,DhcpSubnetInvalidState
122 } DHCP_SUBNET_STATE,*LPDHCP_SUBNET_STATE;
123
124 typedef struct _DHCP_SUBNET_INFO {
125 DHCP_IP_ADDRESS SubnetAddress;
126 DHCP_IP_MASK SubnetMask;
127 LPWSTR SubnetName;
128 LPWSTR SubnetComment;
129 DHCP_HOST_INFO PrimaryHost;
130 DHCP_SUBNET_STATE SubnetState;
131 } DHCP_SUBNET_INFO,*LPDHCP_SUBNET_INFO;
132
133 typedef enum _DHCP_OPTION_DATA_TYPE {
134 DhcpByteOption,DhcpWordOption,DhcpDWordOption,DhcpDWordDWordOption,DhcpIpAddressOption,DhcpStringDataOption,DhcpBinaryDataOption,DhcpEncapsulatedDataOption
135 } DHCP_OPTION_DATA_TYPE,*LPDHCP_OPTION_DATA_TYPE;
136
137 typedef struct _DHCP_OPTION_DATA_ELEMENT {
138 DHCP_OPTION_DATA_TYPE OptionType;
139 union _DHCP_OPTION_ELEMENT_UNION {
140 BYTE ByteOption;
141 WORD WordOption;
142 DWORD DWordOption;
143 DWORD_DWORD DWordDWordOption;
144 DHCP_IP_ADDRESS IpAddressOption;
145 LPWSTR StringDataOption;
146 DHCP_BINARY_DATA BinaryDataOption;
147 DHCP_BINARY_DATA EncapsulatedDataOption;
148
149 } Element;
150 } DHCP_OPTION_DATA_ELEMENT,*LPDHCP_OPTION_DATA_ELEMENT;
151
152 typedef struct _DHCP_OPTION_DATA {
153 DWORD NumElements;
154 LPDHCP_OPTION_DATA_ELEMENT Elements;
155 } DHCP_OPTION_DATA,*LPDHCP_OPTION_DATA;
156
157 typedef struct _DHCP_OPTION_VALUE {
158 DHCP_OPTION_ID OptionID;
159 DHCP_OPTION_DATA Value;
160 } DHCP_OPTION_VALUE,*LPDHCP_OPTION_VALUE;
161
162 DWORD WINAPI DhcpGetVersion(LPWSTR ServerIpAddress,LPDWORD MajorVersion,LPDWORD MinorVersion);
163 DWORD WINAPI DhcpSetServerBindingInfo(DHCP_CONST WCHAR *ServerIpAddress,ULONG Flags,LPDHCP_BIND_ELEMENT_ARRAY BindElementInfo);
164 DWORD WINAPI DhcpGetServerBindingInfo(DHCP_CONST WCHAR *ServerIpAddress,ULONG Flags,LPDHCP_BIND_ELEMENT_ARRAY *BindElementsInfo);
165 DWORD WINAPI DhcpCreateClientInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_CONST DHCP_CLIENT_INFO *ClientInfo);
166 DWORD WINAPI DhcpSetClientInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_CONST DHCP_CLIENT_INFO *ClientInfo);
167 DWORD WINAPI DhcpGetClientInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_CONST DHCP_SEARCH_INFO *SearchInfo,LPDHCP_CLIENT_INFO *ClientInfo);
168 DWORD WINAPI DhcpDeleteClientInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_CONST DHCP_SEARCH_INFO *ClientInfo);
169 DWORD WINAPI DhcpEnumSubnetClients(DHCP_CONST WCHAR *ServerIpAddress,DHCP_IP_ADDRESS SubnetAddress,DHCP_RESUME_HANDLE *ResumeHandle,DWORD PreferredMaximum,LPDHCP_CLIENT_INFO_ARRAY *ClientInfo,DWORD *ClientsRead,DWORD *ClientsTotal);
170 DWORD WINAPI DhcpEnumSubnets(DHCP_CONST WCHAR *ServerIpAddress,DHCP_RESUME_HANDLE *ResumeHandle,DWORD PreferredMaximum,LPDHCP_IP_ARRAY *EnumInfo,DWORD *ElementsRead,DWORD *ElementsTotal);
171 DWORD WINAPI DhcpGetSubnetInfo(DHCP_CONST WCHAR *ServerIpAddress,DHCP_IP_ADDRESS SubnetAddress,LPDHCP_SUBNET_INFO *SubnetInfo);
172 DWORD WINAPI DhcpGetOptionValue(DHCP_CONST WCHAR *ServerIpAddress,DHCP_OPTION_ID OptionID,DHCP_CONST DHCP_OPTION_SCOPE_INFO *ScopeInfo,LPDHCP_OPTION_VALUE *OptionValue);
173 VOID WINAPI DhcpRpcFreeMemory(PVOID BufferPointer);
174
175 #ifdef __cplusplus
176 }
177 #endif
178 #endif