ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/nspapi.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 11575 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 _NSPAPI_INCLUDED
7 #define _NSPAPI_INCLUDED
8
9 #include <_mingw_unicode.h>
10
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14
15 #ifndef _tagBLOB_DEFINED
16 #define _tagBLOB_DEFINED
17 #define _BLOB_DEFINED
18 #define _LPBLOB_DEFINED
19 typedef struct _BLOB {
20 ULONG cbSize;
21 BYTE *pBlobData;
22 } BLOB,*LPBLOB;
23 #endif
24
25 #ifndef GUID_DEFINED
26 #define GUID_DEFINED
27 typedef struct _GUID {
28 unsigned __LONG32 Data1;
29 unsigned short Data2;
30 unsigned short Data3;
31 unsigned char Data4[8];
32 } GUID;
33 #endif
34
35 #ifndef __LPGUID_DEFINED__
36 #define __LPGUID_DEFINED__
37 typedef GUID *LPGUID;
38 #endif
39
40 #define SERVICE_RESOURCE (0x00000001)
41 #define SERVICE_SERVICE (0x00000002)
42 #define SERVICE_LOCAL (0x00000004)
43
44 #define SERVICE_REGISTER (0x00000001)
45 #define SERVICE_DEREGISTER (0x00000002)
46 #define SERVICE_FLUSH (0x00000003)
47 #define SERVICE_ADD_TYPE (0x00000004)
48 #define SERVICE_DELETE_TYPE (0x00000005)
49
50 #define SERVICE_FLAG_DEFER (0x00000001)
51 #define SERVICE_FLAG_HARD (0x00000002)
52
53 #define PROP_COMMENT (0x00000001)
54 #define PROP_LOCALE (0x00000002)
55 #define PROP_DISPLAY_HINT (0x00000004)
56 #define PROP_VERSION (0x00000008)
57 #define PROP_START_TIME (0x00000010)
58 #define PROP_MACHINE (0x00000020)
59 #define PROP_ADDRESSES (0x00000100)
60 #define PROP_SD (0x00000200)
61 #define PROP_ALL (0x80000000)
62
63 #define SERVICE_ADDRESS_FLAG_RPC_CN (0x00000001)
64 #define SERVICE_ADDRESS_FLAG_RPC_DG (0x00000002)
65 #define SERVICE_ADDRESS_FLAG_RPC_NB (0x00000004)
66
67 #define NS_DEFAULT (0)
68
69 #define NS_SAP (1)
70 #define NS_NDS (2)
71 #define NS_PEER_BROWSE (3)
72
73 #define NS_TCPIP_LOCAL (10)
74 #define NS_TCPIP_HOSTS (11)
75 #define NS_DNS (12)
76 #define NS_NETBT (13)
77 #define NS_WINS (14)
78 #define NS_NLA (15)
79 #if (_WIN32_WINNT >= 0x0600)
80 #define NS_BTH (16)
81 #endif
82
83 #define NS_NBP (20)
84
85 #define NS_MS (30)
86 #define NS_STDA (31)
87 #define NS_NTDS (32)
88
89 #if (_WIN32_WINNT >= 0x0600)
90 #define NS_EMAIL (37)
91 #define NS_PNRPNAME (38)
92 #define NS_PNRPCLOUD (39)
93 #endif
94
95 #define NS_X500 (40)
96 #define NS_NIS (41)
97
98 #define NS_VNS (50)
99
100 #define NSTYPE_HIERARCHICAL (0x00000001)
101 #define NSTYPE_DYNAMIC (0x00000002)
102 #define NSTYPE_ENUMERABLE (0x00000004)
103 #define NSTYPE_WORKGROUP (0x00000008)
104
105 #define XP_CONNECTIONLESS (0x00000001)
106 #define XP_GUARANTEED_DELIVERY (0x00000002)
107 #define XP_GUARANTEED_ORDER (0x00000004)
108 #define XP_MESSAGE_ORIENTED (0x00000008)
109 #define XP_PSEUDO_STREAM (0x00000010)
110 #define XP_GRACEFUL_CLOSE (0x00000020)
111 #define XP_EXPEDITED_DATA (0x00000040)
112 #define XP_CONNECT_DATA (0x00000080)
113 #define XP_DISCONNECT_DATA (0x00000100)
114 #define XP_SUPPORTS_BROADCAST (0x00000200)
115 #define XP_SUPPORTS_MULTICAST (0x00000400)
116 #define XP_BANDWIDTH_ALLOCATION (0x00000800)
117 #define XP_FRAGMENTATION (0x00001000)
118 #define XP_ENCRYPTS (0x00002000)
119
120 #define RES_SOFT_SEARCH (0x00000001)
121 #define RES_FIND_MULTIPLE (0x00000002)
122 #define RES_SERVICE (0x00000004)
123
124 #define SERVICE_TYPE_VALUE_SAPIDA "SapId"
125 #define SERVICE_TYPE_VALUE_SAPIDW L"SapId"
126
127 #define SERVICE_TYPE_VALUE_CONNA "ConnectionOriented"
128 #define SERVICE_TYPE_VALUE_CONNW L"ConnectionOriented"
129
130 #define SERVICE_TYPE_VALUE_TCPPORTA "TcpPort"
131 #define SERVICE_TYPE_VALUE_TCPPORTW L"TcpPort"
132
133 #define SERVICE_TYPE_VALUE_UDPPORTA "UdpPort"
134 #define SERVICE_TYPE_VALUE_UDPPORTW L"UdpPort"
135
136 #define SERVICE_TYPE_VALUE_SAPID __MINGW_NAME_AW(SERVICE_TYPE_VALUE_SAPID)
137 #define SERVICE_TYPE_VALUE_CONN __MINGW_NAME_AW(SERVICE_TYPE_VALUE_CONN)
138 #define SERVICE_TYPE_VALUE_TCPPORT __MINGW_NAME_AW(SERVICE_TYPE_VALUE_TCPPORT)
139 #define SERVICE_TYPE_VALUE_UDPPORT __MINGW_NAME_AW(SERVICE_TYPE_VALUE_UDPPORT)
140
141 #define SET_SERVICE_PARTIAL_SUCCESS (0x00000001)
142
143 typedef struct _NS_INFOA {
144 DWORD dwNameSpace;
145 DWORD dwNameSpaceFlags;
146 LPSTR lpNameSpace;
147 } NS_INFOA,*PNS_INFOA,*LPNS_INFOA;
148
149 typedef struct _NS_INFOW {
150 DWORD dwNameSpace;
151 DWORD dwNameSpaceFlags;
152 LPWSTR lpNameSpace;
153 } NS_INFOW,*PNS_INFOW,*LPNS_INFOW;
154
155 __MINGW_TYPEDEF_AW(NS_INFO)
156 __MINGW_TYPEDEF_AW(PNS_INFO)
157 __MINGW_TYPEDEF_AW(LPNS_INFO)
158
159 typedef struct _SERVICE_TYPE_VALUE {
160 DWORD dwNameSpace;
161 DWORD dwValueType;
162 DWORD dwValueSize;
163 DWORD dwValueNameOffset;
164 DWORD dwValueOffset;
165 } SERVICE_TYPE_VALUE,*PSERVICE_TYPE_VALUE,*LPSERVICE_TYPE_VALUE;
166
167 typedef struct _SERVICE_TYPE_VALUE_ABSA {
168 DWORD dwNameSpace;
169 DWORD dwValueType;
170 DWORD dwValueSize;
171 LPSTR lpValueName;
172 PVOID lpValue;
173 } SERVICE_TYPE_VALUE_ABSA,*PSERVICE_TYPE_VALUE_ABSA,*LPSERVICE_TYPE_VALUE_ABSA;
174
175 typedef struct _SERVICE_TYPE_VALUE_ABSW {
176 DWORD dwNameSpace;
177 DWORD dwValueType;
178 DWORD dwValueSize;
179 LPWSTR lpValueName;
180 PVOID lpValue;
181 } SERVICE_TYPE_VALUE_ABSW,*PSERVICE_TYPE_VALUE_ABSW,*LPSERVICE_TYPE_VALUE_ABSW;
182
183 __MINGW_TYPEDEF_AW(SERVICE_TYPE_VALUE_ABS)
184 __MINGW_TYPEDEF_AW(PSERVICE_TYPE_VALUE_ABS)
185 __MINGW_TYPEDEF_AW(LPSERVICE_TYPE_VALUE_ABS)
186
187 typedef struct _SERVICE_TYPE_INFO {
188 DWORD dwTypeNameOffset;
189 DWORD dwValueCount;
190 SERVICE_TYPE_VALUE Values[1];
191 } SERVICE_TYPE_INFO,*PSERVICE_TYPE_INFO,*LPSERVICE_TYPE_INFO;
192
193 typedef struct _SERVICE_TYPE_INFO_ABSA {
194 LPSTR lpTypeName;
195 DWORD dwValueCount;
196 SERVICE_TYPE_VALUE_ABSA Values[1];
197 } SERVICE_TYPE_INFO_ABSA,*PSERVICE_TYPE_INFO_ABSA,*LPSERVICE_TYPE_INFO_ABSA;
198 typedef struct _SERVICE_TYPE_INFO_ABSW {
199 LPWSTR lpTypeName;
200 DWORD dwValueCount;
201 SERVICE_TYPE_VALUE_ABSW Values[1];
202 } SERVICE_TYPE_INFO_ABSW,*PSERVICE_TYPE_INFO_ABSW,*LPSERVICE_TYPE_INFO_ABSW;
203
204 __MINGW_TYPEDEF_AW(SERVICE_TYPE_INFO_ABS)
205 __MINGW_TYPEDEF_AW(PSERVICE_TYPE_INFO_ABS)
206 __MINGW_TYPEDEF_AW(LPSERVICE_TYPE_INFO_ABS)
207
208 typedef struct _SERVICE_ADDRESS {
209 DWORD dwAddressType;
210 DWORD dwAddressFlags;
211 DWORD dwAddressLength;
212 DWORD dwPrincipalLength;
213 BYTE *lpAddress;
214 BYTE *lpPrincipal;
215 } SERVICE_ADDRESS,*PSERVICE_ADDRESS,*LPSERVICE_ADDRESS;
216
217 typedef struct _SERVICE_ADDRESSES {
218 DWORD dwAddressCount;
219 SERVICE_ADDRESS Addresses[1];
220 } SERVICE_ADDRESSES,*PSERVICE_ADDRESSES,*LPSERVICE_ADDRESSES;
221
222 typedef struct _SERVICE_INFOA {
223 LPGUID lpServiceType;
224 LPSTR lpServiceName;
225 LPSTR lpComment;
226 LPSTR lpLocale;
227 DWORD dwDisplayHint;
228 DWORD dwVersion;
229 DWORD dwTime;
230 LPSTR lpMachineName;
231 LPSERVICE_ADDRESSES lpServiceAddress;
232 BLOB ServiceSpecificInfo;
233 } SERVICE_INFOA,*PSERVICE_INFOA,*LPSERVICE_INFOA;
234
235 typedef struct _SERVICE_INFOW {
236 LPGUID lpServiceType;
237 LPWSTR lpServiceName;
238 LPWSTR lpComment;
239 LPWSTR lpLocale;
240 DWORD dwDisplayHint;
241 DWORD dwVersion;
242 DWORD dwTime;
243 LPWSTR lpMachineName;
244 LPSERVICE_ADDRESSES lpServiceAddress;
245 BLOB ServiceSpecificInfo;
246 } SERVICE_INFOW,*PSERVICE_INFOW,*LPSERVICE_INFOW;
247
248 __MINGW_TYPEDEF_AW(SERVICE_INFO)
249 __MINGW_TYPEDEF_AW(PSERVICE_INFO)
250 __MINGW_TYPEDEF_AW(LPSERVICE_INFO)
251
252 typedef struct _NS_SERVICE_INFOA {
253 DWORD dwNameSpace;
254 SERVICE_INFOA ServiceInfo;
255 } NS_SERVICE_INFOA,*PNS_SERVICE_INFOA,*LPNS_SERVICE_INFOA;
256
257 typedef struct _NS_SERVICE_INFOW {
258 DWORD dwNameSpace;
259 SERVICE_INFOW ServiceInfo;
260 } NS_SERVICE_INFOW,*PNS_SERVICE_INFOW,*LPNS_SERVICE_INFOW;
261
262 __MINGW_TYPEDEF_AW(NS_SERVICE_INFO)
263 __MINGW_TYPEDEF_AW(PNS_SERVICE_INFO)
264 __MINGW_TYPEDEF_AW(LPNS_SERVICE_INFO)
265
266 #ifndef __CSADDR_DEFINED__
267 #define __CSADDR_DEFINED__
268
269 typedef struct _SOCKET_ADDRESS {
270 LPSOCKADDR lpSockaddr;
271 INT iSockaddrLength;
272 } SOCKET_ADDRESS,*PSOCKET_ADDRESS,*LPSOCKET_ADDRESS;
273
274 typedef struct _CSADDR_INFO {
275 SOCKET_ADDRESS LocalAddr;
276 SOCKET_ADDRESS RemoteAddr;
277 INT iSocketType;
278 INT iProtocol;
279 } CSADDR_INFO,*PCSADDR_INFO,*LPCSADDR_INFO;
280 #endif
281
282 typedef struct _PROTOCOL_INFOA {
283 DWORD dwServiceFlags;
284 INT iAddressFamily;
285 INT iMaxSockAddr;
286 INT iMinSockAddr;
287 INT iSocketType;
288 INT iProtocol;
289 DWORD dwMessageSize;
290 LPSTR lpProtocol;
291 } PROTOCOL_INFOA,*PPROTOCOL_INFOA,*LPPROTOCOL_INFOA;
292
293 typedef struct _PROTOCOL_INFOW {
294 DWORD dwServiceFlags;
295 INT iAddressFamily;
296 INT iMaxSockAddr;
297 INT iMinSockAddr;
298 INT iSocketType;
299 INT iProtocol;
300 DWORD dwMessageSize;
301 LPWSTR lpProtocol;
302 } PROTOCOL_INFOW,*PPROTOCOL_INFOW,*LPPROTOCOL_INFOW;
303
304 __MINGW_TYPEDEF_AW(PROTOCOL_INFO)
305 __MINGW_TYPEDEF_AW(PPROTOCOL_INFO)
306 __MINGW_TYPEDEF_AW(LPPROTOCOL_INFO)
307
308 typedef struct _NETRESOURCE2A {
309 DWORD dwScope;
310 DWORD dwType;
311 DWORD dwUsage;
312 DWORD dwDisplayType;
313 LPSTR lpLocalName;
314 LPSTR lpRemoteName;
315 LPSTR lpComment;
316 NS_INFO ns_info;
317 GUID ServiceType;
318 DWORD dwProtocols;
319 LPINT lpiProtocols;
320 } NETRESOURCE2A,*PNETRESOURCE2A,*LPNETRESOURCE2A;
321
322 typedef struct _NETRESOURCE2W {
323 DWORD dwScope;
324 DWORD dwType;
325 DWORD dwUsage;
326 DWORD dwDisplayType;
327 LPWSTR lpLocalName;
328 LPWSTR lpRemoteName;
329 LPWSTR lpComment;
330 NS_INFO ns_info;
331 GUID ServiceType;
332 DWORD dwProtocols;
333 LPINT lpiProtocols;
334 } NETRESOURCE2W,*PNETRESOURCE2W,*LPNETRESOURCE2W;
335
336 __MINGW_TYPEDEF_AW(NETRESOURCE2)
337 __MINGW_TYPEDEF_AW(PNETRESOURCE2)
338 __MINGW_TYPEDEF_AW(LPNETRESOURCE2)
339
340 typedef DWORD (*LPFN_NSPAPI)(VOID);
341
342 typedef VOID (*LPSERVICE_CALLBACK_PROC)(LPARAM lParam,HANDLE hAsyncTaskHandle);
343 typedef struct _SERVICE_ASYNC_INFO {
344 LPSERVICE_CALLBACK_PROC lpServiceCallbackProc;
345 LPARAM lParam;
346 HANDLE hAsyncTaskHandle;
347 } SERVICE_ASYNC_INFO,*PSERVICE_ASYNC_INFO,*LPSERVICE_ASYNC_INFO;
348
349 #define EnumProtocols __MINGW_NAME_AW(EnumProtocols)
350 #define GetAddressByName __MINGW_NAME_AW(GetAddressByName)
351 #define GetTypeByName __MINGW_NAME_AW(GetTypeByName)
352 #define GetNameByType __MINGW_NAME_AW(GetNameByType)
353 #define SetService __MINGW_NAME_AW(SetService)
354 #define GetService __MINGW_NAME_AW(GetService)
355
356 INT WINAPI EnumProtocolsA(LPINT lpiProtocols,LPVOID lpProtocolBuffer,LPDWORD lpdwBufferLength);
357 INT WINAPI EnumProtocolsW(LPINT lpiProtocols,LPVOID lpProtocolBuffer,LPDWORD lpdwBufferLength);
358 INT WINAPI GetAddressByNameA(DWORD dwNameSpace,LPGUID lpServiceType,LPSTR lpServiceName,LPINT lpiProtocols,DWORD dwResolution,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,LPVOID lpCsaddrBuffer,LPDWORD lpdwBufferLength,LPSTR lpAliasBuffer,LPDWORD lpdwAliasBufferLength);
359 INT WINAPI GetAddressByNameW(DWORD dwNameSpace,LPGUID lpServiceType,LPWSTR lpServiceName,LPINT lpiProtocols,DWORD dwResolution,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,LPVOID lpCsaddrBuffer,LPDWORD lpdwBufferLength,LPWSTR lpAliasBuffer,LPDWORD lpdwAliasBufferLength);
360 INT WINAPI GetTypeByNameA(LPSTR lpServiceName,LPGUID lpServiceType);
361 INT WINAPI GetTypeByNameW(LPWSTR lpServiceName,LPGUID lpServiceType);
362 INT WINAPI GetNameByTypeA(LPGUID lpServiceType,LPSTR lpServiceName,DWORD dwNameLength);
363 INT WINAPI GetNameByTypeW(LPGUID lpServiceType,LPWSTR lpServiceName,DWORD dwNameLength);
364 INT WINAPI SetServiceA(DWORD dwNameSpace,DWORD dwOperation,DWORD dwFlags,LPSERVICE_INFOA lpServiceInfo,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,LPDWORD lpdwStatusFlags);
365 INT WINAPI SetServiceW(DWORD dwNameSpace,DWORD dwOperation,DWORD dwFlags,LPSERVICE_INFOW lpServiceInfo,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,LPDWORD lpdwStatusFlags);
366 INT WINAPI GetServiceA(DWORD dwNameSpace,LPGUID lpGuid,LPSTR lpServiceName,DWORD dwProperties,LPVOID lpBuffer,LPDWORD lpdwBufferSize,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo);
367 INT WINAPI GetServiceW(DWORD dwNameSpace,LPGUID lpGuid,LPWSTR lpServiceName,DWORD dwProperties,LPVOID lpBuffer,LPDWORD lpdwBufferSize,LPSERVICE_ASYNC_INFO lpServiceAsyncInfo);
368
369 #ifdef __cplusplus
370 }
371 #endif
372 #endif