source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/iketypes.h

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

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

File size: 24.2 KB
Line 
1/*** Autogenerated by WIDL 6.4 from include/iketypes.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __iketypes_h__
17#define __iketypes_h__
18
19/* Forward declarations */
20
21/* Headers for imported files */
22
23#include <fwptypes.h>
24
25#ifdef __cplusplus
26extern "C" {
27#endif
28
29/**
30 * This file is part of the mingw-w64 runtime package.
31 * No warranty is given; refer to the file DISCLAIMER within this package.
32 */
33
34#include <winapifamily.h>
35#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
36
37#define IKEEXT_ERROR_CODE_COUNT (ERROR_IPSEC_IKE_NEG_STATUS_END - ERROR_IPSEC_IKE_NEG_STATUS_BEGIN)
38
39/* Please keep in sync with winerror.h defines. */
40
41#define IKEEXT_CERT_FLAG_ENABLE_ACCOUNT_MAPPING (0x1)
42#define IKEEXT_CERT_FLAG_DISABLE_REQUEST_PAYLOAD (0x2)
43#define IKEEXT_CERT_FLAG_USE_NAP_CERTIFICATE (0x4)
44#define IKEEXT_CERT_FLAG_INTERMEDIATE_CA (0x8)
45#define IKEEXT_CERT_FLAG_IGNORE_INIT_CERT_MAP_FAILURE (0x10)
46#define IKEEXT_CERT_FLAG_PREFER_NAP_CERTIFICATE_OUTBOUND (0x20)
47#if (NTDDI_VERSION >= NTDDI_WIN8)
48#define IKEEXT_CERT_FLAG_SELECT_NAP_CERTIFICATE (0x40)
49#define IKEEXT_CERT_FLAG_VERIFY_NAP_CERTIFICATE (0x80)
50#define IKEEXT_CERT_FLAG_FOLLOW_RENEWAL_CERTIFICATE (0x100)
51#endif
52
53#define IKEEXT_CERT_AUTH_FLAG_SSL_ONE_WAY (0x1)
54#define IKEEXT_CERT_AUTH_FLAG_DISABLE_CRL_CHECK (0x2)
55#define IKEEXT_CERT_AUTH_ENABLE_CRL_CHECK_STRONG (0x4)
56#define IKEEXT_CERT_AUTH_DISABLE_SSL_CERT_VALIDATION (0x8)
57#if (NTDDI_VERSION >= NTDDI_WIN7)
58#define IKEEXT_CERT_AUTH_ALLOW_HTTP_CERT_LOOKUP (0x10)
59#define IKEEXT_CERT_AUTH_URL_CONTAINS_BUNDLE (0x20)
60#endif
61
62#define IKEEXT_KERB_AUTH_DISABLE_INITIATOR_TOKEN_GENERATION (0x1)
63#define IKEEXT_KERB_AUTH_DONT_ACCEPT_EXPLICIT_CREDENTIALS (0x2)
64#if (NTDDI_VERSION >= NTDDI_WIN8)
65#define IKEEXT_KERB_AUTH_FORCE_PROXY_ON_INITIATOR (0x4)
66#endif
67
68#define IKEEXT_RESERVED_AUTH_DISABLE_INITIATOR_TOKEN_GENERATION (0x1)
69
70#define IKEEXT_NTLM_V2_AUTH_DONT_ACCEPT_EXPLICIT_CREDENTIALS (0x1)
71
72#define IKEEXT_POLICY_FLAG_DISABLE_DIAGNOSTICS (0x00000001)
73#define IKEEXT_POLICY_FLAG_NO_MACHINE_LUID_VERIFY (0x00000002)
74#define IKEEXT_POLICY_FLAG_NO_IMPERSONATION_LUID_VERIFY (0x00000004)
75#define IKEEXT_POLICY_FLAG_ENABLE_OPTIONAL_DH (0x00000008)
76
77#define IKEEXT_CERT_CREDENTIAL_FLAG_NAP_CERT (0x1)
78
79#if (NTDDI_VERSION >= NTDDI_WIN7)
80#define IKEEXT_PSK_FLAG_LOCAL_AUTH_ONLY (0x1)
81#define IKEEXT_PSK_FLAG_REMOTE_AUTH_ONLY (0x2)
82
83#define IKEEXT_EAP_FLAG_LOCAL_AUTH_ONLY (0x1)
84#define IKEEXT_EAP_FLAG_REMOTE_AUTH_ONLY (0x2)
85#endif
86
87#ifndef __IPSEC_V4_UDP_ENCAPSULATION0_FWD_DECLARED
88#define __IPSEC_V4_UDP_ENCAPSULATION0_FWD_DECLARED
89typedef struct IPSEC_V4_UDP_ENCAPSULATION0_ IPSEC_V4_UDP_ENCAPSULATION0;
90#endif
91
92typedef UINT64 IKEEXT_COOKIE;
93
94typedef enum IKEEXT_EM_SA_STATE_ {
95 IKEEXT_EM_SA_STATE_NONE = 0,
96 IKEEXT_EM_SA_STATE_SENT_ATTS = 1,
97 IKEEXT_EM_SA_STATE_SSPI_SENT = 2,
98 IKEEXT_EM_SA_STATE_AUTH_COMPLETE = 3,
99 IKEEXT_EM_SA_STATE_FINAL = 4,
100 IKEEXT_EM_SA_STATE_COMPLETE = 5,
101 IKEEXT_EM_SA_STATE_MAX = 6
102} IKEEXT_EM_SA_STATE;
103
104typedef enum IKEEXT_SA_ROLE_ {
105 IKEEXT_SA_ROLE_INITIATOR = 0,
106 IKEEXT_SA_ROLE_RESPONDER = 1,
107 IKEEXT_SA_ROLE_MAX = 2
108} IKEEXT_SA_ROLE;
109
110typedef enum IKEEXT_AUTHENTICATION_METHOD_TYPE_ {
111 IKEEXT_PRESHARED_KEY = 0,
112 IKEEXT_CERTIFICATE = 1,
113 IKEEXT_KERBEROS = 2,
114 IKEEXT_ANONYMOUS = 3,
115 IKEEXT_SSL = 4,
116 IKEEXT_NTLM_V2 = 5,
117 IKEEXT_IPV6_CGA = 6,
118 IKEEXT_CERTIFICATE_ECDSA_P256 = 7,
119 IKEEXT_CERTIFICATE_ECDSA_P384 = 8,
120 IKEEXT_SSL_ECDSA_P256 = 9,
121 IKEEXT_SSL_ECDSA_P384 = 10,
122 IKEEXT_EAP = 11,
123 IKEEXT_RESERVED = 12,
124 IKEEXT_AUTHENTICATION_METHOD_TYPE_MAX = 13
125} IKEEXT_AUTHENTICATION_METHOD_TYPE;
126
127typedef enum IKEEXT_KEY_MODULE_TYPE_ {
128 IKEEXT_KEY_MODULE_IKE = 0,
129 IKEEXT_KEY_MODULE_AUTHIP = 1,
130 IKEEXT_KEY_MODULE_IKEV2 = 2,
131 IKEEXT_KEY_MODULE_MAX = 3
132} IKEEXT_KEY_MODULE_TYPE;
133
134typedef enum IKEEXT_MM_SA_STATE_ {
135 IKEEXT_MM_SA_STATE_NONE = 0,
136 IKEEXT_MM_SA_STATE_SA_SENT = 1,
137 IKEEXT_MM_SA_STATE_SSPI_SENT = 2,
138 IKEEXT_MM_SA_STATE_FINAL = 3,
139 IKEEXT_MM_SA_STATE_FINAL_SENT = 4,
140 IKEEXT_MM_SA_STATE_COMPLETE = 5,
141 IKEEXT_MM_SA_STATE_MAX = 6
142} IKEEXT_MM_SA_STATE;
143
144typedef enum IKEEXT_QM_SA_STATE_ {
145 IKEEXT_QM_SA_STATE_NONE = 0,
146 IKEEXT_QM_SA_STATE_INITIAL = 1,
147 IKEEXT_QM_SA_STATE_FINAL = 2,
148 IKEEXT_QM_SA_STATE_COMPLETE = 3,
149 IKEEXT_QM_SA_STATE_MAX = 4
150} IKEEXT_QM_SA_STATE;
151
152typedef enum IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE_ {
153 IKEEXT_IMPERSONATION_NONE = 0,
154 IKEEXT_IMPERSONATION_SOCKET_PRINCIPAL = 1,
155 IKEEXT_IMPERSONATION_MAX = 2
156} IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE;
157
158typedef enum IKEEXT_CERT_CONFIG_TYPE_ {
159 IKEEXT_CERT_CONFIG_EXPLICIT_TRUST_LIST = 0,
160 IKEEXT_CERT_CONFIG_ENTERPRISE_STORE = 1,
161 IKEEXT_CERT_CONFIG_TRUSTED_ROOT_STORE = 2,
162 IKEEXT_CERT_CONFIG_UNSPECIFIED = 3,
163 IKEEXT_CERT_CONFIG_TYPE_MAX = 4
164} IKEEXT_CERT_CONFIG_TYPE;
165
166typedef enum IKEEXT_CIPHER_TYPE_ {
167 IKEEXT_CIPHER_DES = 0,
168 IKEEXT_CIPHER_3DES = 1,
169 IKEEXT_CIPHER_AES_128 = 2,
170 IKEEXT_CIPHER_AES_192 = 3,
171 IKEEXT_CIPHER_AES_256 = 4,
172 IKEEXT_CIPHER_TYPE_MAX = 5
173} IKEEXT_CIPHER_TYPE;
174
175typedef enum IKEEXT_INTEGRITY_TYPE_ {
176 IKEEXT_INTEGRITY_MD5 = 0,
177 IKEEXT_INTEGRITY_SHA1 = 1,
178 IKEEXT_INTEGRITY_SHA_256 = 2,
179 IKEEXT_INTEGRITY_SHA_384 = 3,
180 IKEEXT_INTEGRITY_TYPE_MAX = 4
181} IKEEXT_INTEGRITY_TYPE;
182
183typedef enum IKEEXT_DH_GROUP_ {
184 IKEEXT_DH_GROUP_NONE = 0,
185 IKEEXT_DH_GROUP_1 = 1,
186 IKEEXT_DH_GROUP_2 = 2,
187 IKEEXT_DH_GROUP_14 = 3,
188 IKEEXT_DH_GROUP_2048 = IKEEXT_DH_GROUP_14,
189 IKEEXT_DH_ECP_256 = 4,
190 IKEEXT_DH_ECP_384 = 5,
191 IKEEXT_DH_GROUP_24 = 6,
192 IKEEXT_DH_GROUP_MAX = 7
193} IKEEXT_DH_GROUP;
194
195typedef struct IKEEXT_CERT_ROOT_CONFIG0_ {
196 FWP_BYTE_BLOB certData;
197 UINT32 flags;
198} IKEEXT_CERT_ROOT_CONFIG0;
199
200typedef struct IKEEXT_KERBEROS_AUTHENTICATION0__ {
201 UINT32 flags;
202} IKEEXT_KERBEROS_AUTHENTICATION0;
203
204typedef struct IKEEXT_NTLM_V2_AUTHENTICATION0__ {
205 UINT32 flags;
206} IKEEXT_NTLM_V2_AUTHENTICATION0;
207
208typedef struct IKEEXT_PRESHARED_KEY_AUTHENTICATION0__ {
209 FWP_BYTE_BLOB presharedKey;
210} IKEEXT_PRESHARED_KEY_AUTHENTICATION0;
211
212typedef struct IKEEXT_PRESHARED_KEY_AUTHENTICATION1__ {
213 FWP_BYTE_BLOB presharedKey;
214 UINT32 flags;
215} IKEEXT_PRESHARED_KEY_AUTHENTICATION1;
216
217typedef struct IKEEXT_CERTIFICATE_AUTHENTICATION0_ {
218 IKEEXT_CERT_CONFIG_TYPE inboundConfigType;
219 __C89_NAMELESS union {
220 __C89_NAMELESS struct {
221 UINT32 inboundRootArraySize;
222 IKEEXT_CERT_ROOT_CONFIG0 *inboundRootArray;
223 } __C89_NAMELESSSTRUCTNAME;
224 IKEEXT_CERT_ROOT_CONFIG0 *inboundEnterpriseStoreConfig;
225 IKEEXT_CERT_ROOT_CONFIG0 *inboundTrustedRootStoreConfig;
226 } __C89_NAMELESSUNIONNAME1;
227 IKEEXT_CERT_CONFIG_TYPE outboundConfigType;
228 __C89_NAMELESS union {
229 __C89_NAMELESS struct {
230 UINT32 outboundRootArraySize;
231 IKEEXT_CERT_ROOT_CONFIG0 *outboundRootArray;
232 } __C89_NAMELESSSTRUCTNAME;
233 IKEEXT_CERT_ROOT_CONFIG0 *outboundEnterpriseStoreConfig;
234 IKEEXT_CERT_ROOT_CONFIG0 *outboundTrustedRootStoreConfig;
235 } __C89_NAMELESSUNIONNAME2;
236 UINT32 flags;
237} IKEEXT_CERTIFICATE_AUTHENTICATION0;
238
239#if NTDDI_VERSION >= NTDDI_WIN7
240typedef struct IKEEXT_CERTIFICATE_AUTHENTICATION1_ {
241 IKEEXT_CERT_CONFIG_TYPE inboundConfigType;
242 __C89_NAMELESS union {
243 __C89_NAMELESS struct {
244 UINT32 inboundRootArraySize;
245 IKEEXT_CERT_ROOT_CONFIG0 *inboundRootArray;
246 } __C89_NAMELESSSTRUCTNAME;
247 IKEEXT_CERT_ROOT_CONFIG0 *inboundEnterpriseStoreConfig;
248 IKEEXT_CERT_ROOT_CONFIG0 *inboundTrustedRootStoreConfig;
249 } __C89_NAMELESSUNIONNAME1;
250 IKEEXT_CERT_CONFIG_TYPE outboundConfigType;
251 __C89_NAMELESS union {
252 __C89_NAMELESS struct {
253 UINT32 outboundRootArraySize;
254 IKEEXT_CERT_ROOT_CONFIG0 *outboundRootArray;
255 } __C89_NAMELESSSTRUCTNAME;
256 IKEEXT_CERT_ROOT_CONFIG0 *outboundEnterpriseStoreConfig;
257 IKEEXT_CERT_ROOT_CONFIG0 *outboundTrustedRootStoreConfig;
258 } __C89_NAMELESSUNIONNAME2;
259 UINT32 flags;
260 FWP_BYTE_BLOB localCertLocationUrl;
261} IKEEXT_CERTIFICATE_AUTHENTICATION1;
262#endif
263
264#if (NTDDI_VERSION >= NTDDI_WIN8)
265typedef enum IKEEXT_CERT_CRITERIA_NAME_TYPE_ {
266 IKEEXT_CERT_CRITERIA_DNS = 0,
267 IKEEXT_CERT_CRITERIA_UPN = 1,
268 IKEEXT_CERT_CRITERIA_RFC822 = 2,
269 IKEEXT_CERT_CRITERIA_CN = 3,
270 IKEEXT_CERT_CRITERIA_OU = 4,
271 IKEEXT_CERT_CRITERIA_O = 5,
272 IKEEXT_CERT_CRITERIA_DC = 6,
273 IKEEXT_CERT_CRITERIA_NAME_TYPE_MAX = 7
274} IKEEXT_CERT_CRITERIA_NAME_TYPE;
275
276typedef struct IKEEXT_CERT_EKUS0_ {
277 ULONG numEku;
278 LPSTR *eku;
279} IKEEXT_CERT_EKUS0;
280
281typedef struct IKEEXT_CERT_NAME0_ {
282 IKEEXT_CERT_CRITERIA_NAME_TYPE nameType;
283 LPWSTR certName;
284} IKEEXT_CERT_NAME0;
285
286typedef struct IKEEXT_CERTIFICATE_CRITERIA0_ {
287 FWP_BYTE_BLOB certData;
288 FWP_BYTE_BLOB certHash;
289 IKEEXT_CERT_EKUS0 *eku;
290 IKEEXT_CERT_NAME0 *name;
291 UINT32 flags;
292} IKEEXT_CERTIFICATE_CRITERIA0;
293
294typedef struct IKEEXT_CERTIFICATE_AUTHENTICATION2_ {
295 IKEEXT_CERT_CONFIG_TYPE inboundConfigType;
296 __C89_NAMELESS union {
297 __C89_NAMELESS struct {
298 UINT32 inboundRootArraySize;
299 IKEEXT_CERTIFICATE_CRITERIA0 *inboundRootCriteria;
300 } __C89_NAMELESSSTRUCTNAME1;
301 __C89_NAMELESS struct {
302 UINT32 inboundEnterpriseStoreArraySize;
303 IKEEXT_CERTIFICATE_CRITERIA0 *inboundEnterpriseStoreCriteria;
304 } __C89_NAMELESSSTRUCTNAME2;
305 __C89_NAMELESS struct {
306 UINT32 inboundRootStoreArraySize;
307 IKEEXT_CERTIFICATE_CRITERIA0 *inboundTrustedRootStoreCriteria;
308 } __C89_NAMELESSSTRUCTNAME3;
309 } __C89_NAMELESSUNIONNAME1;
310 IKEEXT_CERT_CONFIG_TYPE outboundConfigType;
311 __C89_NAMELESS union {
312 __C89_NAMELESS struct {
313 UINT32 outboundRootArraySize;
314 IKEEXT_CERTIFICATE_CRITERIA0 *outboundRootCriteria;
315 } __C89_NAMELESSSTRUCTNAME1;
316 __C89_NAMELESS struct {
317 UINT32 outboundEnterpriseStoreArraySize;
318 IKEEXT_CERTIFICATE_CRITERIA0 *outboundEnterpriseStoreCriteria;
319 } __C89_NAMELESSSTRUCTNAME2;
320 __C89_NAMELESS struct {
321 UINT32 outboundRootStoreArraySize;
322 IKEEXT_CERTIFICATE_CRITERIA0 *outboundTrustedRootStoreCriteria;
323 } __C89_NAMELESSSTRUCTNAME3;
324 } __C89_NAMELESSUNIONNAME2;
325 UINT32 flags;
326 FWP_BYTE_BLOB localCertLocationUrl;
327} IKEEXT_CERTIFICATE_AUTHENTICATION2;
328#endif
329
330typedef struct IKEEXT_IPV6_CGA_AUTHENTICATION0_ {
331 wchar_t *keyContainerName;
332 wchar_t *cspName;
333 UINT32 cspType;
334 FWP_BYTE_ARRAY16 cgaModifier;
335 BYTE cgaCollisionCount;
336} IKEEXT_IPV6_CGA_AUTHENTICATION0;
337
338#if (NTDDI_VERSION >= NTDDI_WIN8)
339typedef struct IKEEXT_KERBEROS_AUTHENTICATION1__ {
340 UINT32 flags;
341 wchar_t *proxyServer;
342} IKEEXT_KERBEROS_AUTHENTICATION1;
343#endif
344
345typedef struct IKEEXT_RESERVED_AUTHENTICATION0__ {
346 UINT32 flags;
347} IKEEXT_RESERVED_AUTHENTICATION0;
348
349#if (NTDDI_VERSION >= NTDDI_WIN7)
350typedef struct IKEEXT_EAP_AUTHENTICATION0__ {
351 UINT32 flags;
352} IKEEXT_EAP_AUTHENTICATION0;
353#endif
354
355typedef struct IKEEXT_AUTHENTICATION_METHOD0_ {
356 IKEEXT_AUTHENTICATION_METHOD_TYPE authenticationMethodType;
357 __C89_NAMELESS union {
358 IKEEXT_PRESHARED_KEY_AUTHENTICATION0 presharedKeyAuthentication;
359 IKEEXT_CERTIFICATE_AUTHENTICATION0 certificateAuthentication;
360 IKEEXT_KERBEROS_AUTHENTICATION0 kerberosAuthentication;
361 IKEEXT_NTLM_V2_AUTHENTICATION0 ntlmV2Authentication;
362 IKEEXT_CERTIFICATE_AUTHENTICATION0 sslAuthentication;
363 IKEEXT_IPV6_CGA_AUTHENTICATION0 cgaAuthentication;
364 } __C89_NAMELESSUNIONNAME;
365} IKEEXT_AUTHENTICATION_METHOD0;
366
367#if (NTDDI_VERSION >= NTDDI_WIN7)
368typedef struct IKEEXT_AUTHENTICATION_METHOD1_ {
369 IKEEXT_AUTHENTICATION_METHOD_TYPE authenticationMethodType;
370 __C89_NAMELESS union {
371 IKEEXT_PRESHARED_KEY_AUTHENTICATION1 presharedKeyAuthentication;
372 IKEEXT_CERTIFICATE_AUTHENTICATION1 certificateAuthentication;
373 IKEEXT_KERBEROS_AUTHENTICATION0 kerberosAuthentication;
374 IKEEXT_NTLM_V2_AUTHENTICATION0 ntlmV2Authentication;
375 IKEEXT_CERTIFICATE_AUTHENTICATION1 sslAuthentication;
376 IKEEXT_IPV6_CGA_AUTHENTICATION0 cgaAuthentication;
377 IKEEXT_EAP_AUTHENTICATION0 eapAuthentication;
378 } __C89_NAMELESSUNIONNAME;
379} IKEEXT_AUTHENTICATION_METHOD1;
380#endif
381
382#if (NTDDI_VERSION >= NTDDI_WIN8)
383typedef struct IKEEXT_AUTHENTICATION_METHOD2_ {
384 IKEEXT_AUTHENTICATION_METHOD_TYPE authenticationMethodType;
385 __C89_NAMELESS union {
386 IKEEXT_PRESHARED_KEY_AUTHENTICATION1 presharedKeyAuthentication;
387 IKEEXT_CERTIFICATE_AUTHENTICATION2 certificateAuthentication;
388 IKEEXT_KERBEROS_AUTHENTICATION1 kerberosAuthentication;
389 IKEEXT_RESERVED_AUTHENTICATION0 reservedAuthentication;
390 IKEEXT_NTLM_V2_AUTHENTICATION0 ntlmV2Authentication;
391 IKEEXT_CERTIFICATE_AUTHENTICATION2 sslAuthentication;
392 IKEEXT_IPV6_CGA_AUTHENTICATION0 cgaAuthentication;
393 IKEEXT_EAP_AUTHENTICATION0 eapAuthentication;
394 } __C89_NAMELESSUNIONNAME;
395} IKEEXT_AUTHENTICATION_METHOD2;
396#endif
397
398typedef struct IKEEXT_CIPHER_ALGORITHM0_ {
399 IKEEXT_CIPHER_TYPE algoIdentifier;
400 UINT32 keyLen;
401 UINT32 rounds;
402} IKEEXT_CIPHER_ALGORITHM0;
403
404typedef struct IKEEXT_INTEGRITY_ALGORITHM0_ {
405 IKEEXT_INTEGRITY_TYPE algoIdentifier;
406} IKEEXT_INTEGRITY_ALGORITHM0;
407
408typedef struct IKEEXT_PROPOSAL0_ {
409 IKEEXT_CIPHER_ALGORITHM0 cipherAlgorithm;
410 IKEEXT_INTEGRITY_ALGORITHM0 integrityAlgorithm;
411 UINT32 maxLifetimeSeconds;
412 IKEEXT_DH_GROUP dhGroup;
413 UINT32 quickModeLimit;
414} IKEEXT_PROPOSAL0;
415
416typedef struct IKEEXT_POLICY0_ {
417 UINT32 softExpirationTime;
418 UINT32 numAuthenticationMethods;
419 IKEEXT_AUTHENTICATION_METHOD0 *authenticationMethods;
420 IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE initiatorImpersonationType;
421 UINT32 numIkeProposals;
422 IKEEXT_PROPOSAL0 *ikeProposals;
423 UINT32 flags;
424 UINT32 maxDynamicFilters;
425} IKEEXT_POLICY0;
426
427#if (NTDDI_VERSION >= NTDDI_WIN7)
428typedef struct IKEEXT_POLICY1_ {
429 UINT32 softExpirationTime;
430 UINT32 numAuthenticationMethods;
431 IKEEXT_AUTHENTICATION_METHOD1 *authenticationMethods;
432 IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE initiatorImpersonationType;
433 UINT32 numIkeProposals;
434 IKEEXT_PROPOSAL0 *ikeProposals;
435 UINT32 flags;
436 UINT32 maxDynamicFilters;
437 UINT32 retransmitDurationSecs;
438} IKEEXT_POLICY1;
439#endif
440
441#if (NTDDI_VERSION >= NTDDI_WIN8)
442typedef struct IKEEXT_POLICY2_ {
443 UINT32 softExpirationTime;
444 UINT32 numAuthenticationMethods;
445 IKEEXT_AUTHENTICATION_METHOD2 *authenticationMethods;
446 IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE initiatorImpersonationType;
447 UINT32 numIkeProposals;
448 IKEEXT_PROPOSAL0 *ikeProposals;
449 UINT32 flags;
450 UINT32 maxDynamicFilters;
451 UINT32 retransmitDurationSecs;
452} IKEEXT_POLICY2;
453#endif
454
455typedef struct IKEEXT_EM_POLICY0_ {
456 UINT32 numAuthenticationMethods;
457 IKEEXT_AUTHENTICATION_METHOD0 *authenticationMethods;
458 IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE initiatorImpersonationType;
459} IKEEXT_EM_POLICY0;
460
461#if (NTDDI_VERSION >= NTDDI_WIN7)
462typedef struct IKEEXT_EM_POLICY1_ {
463 UINT32 numAuthenticationMethods;
464 IKEEXT_AUTHENTICATION_METHOD1 *authenticationMethods;
465 IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE initiatorImpersonationType;
466} IKEEXT_EM_POLICY1;
467#endif
468
469#if (NTDDI_VERSION >= NTDDI_WIN8)
470typedef struct IKEEXT_EM_POLICY2_ {
471 UINT32 numAuthenticationMethods;
472 IKEEXT_AUTHENTICATION_METHOD2 *authenticationMethods;
473 IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE initiatorImpersonationType;
474} IKEEXT_EM_POLICY2;
475#endif
476
477typedef struct IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0_ {
478 UINT32 currentActiveMainModes;
479 UINT32 totalMainModesStarted;
480 UINT32 totalSuccessfulMainModes;
481 UINT32 totalFailedMainModes;
482 UINT32 totalResponderMainModes;
483 UINT32 currentNewResponderMainModes;
484 UINT32 currentActiveQuickModes;
485 UINT32 totalQuickModesStarted;
486 UINT32 totalSuccessfulQuickModes;
487 UINT32 totalFailedQuickModes;
488 UINT32 totalAcquires;
489 UINT32 totalReinitAcquires;
490 UINT32 currentActiveExtendedModes;
491 UINT32 totalExtendedModesStarted;
492 UINT32 totalSuccessfulExtendedModes;
493 UINT32 totalFailedExtendedModes;
494 UINT32 totalImpersonationExtendedModes;
495 UINT32 totalImpersonationMainModes;
496} IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0;
497
498#if (NTDDI_VERSION >= NTDDI_WIN7)
499typedef struct IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1_ {
500 UINT32 currentActiveMainModes;
501 UINT32 totalMainModesStarted;
502 UINT32 totalSuccessfulMainModes;
503 UINT32 totalFailedMainModes;
504 UINT32 totalResponderMainModes;
505 UINT32 currentNewResponderMainModes;
506 UINT32 currentActiveQuickModes;
507 UINT32 totalQuickModesStarted;
508 UINT32 totalSuccessfulQuickModes;
509 UINT32 totalFailedQuickModes;
510 UINT32 totalAcquires;
511 UINT32 totalReinitAcquires;
512 UINT32 currentActiveExtendedModes;
513 UINT32 totalExtendedModesStarted;
514 UINT32 totalSuccessfulExtendedModes;
515 UINT32 totalFailedExtendedModes;
516 UINT32 totalImpersonationExtendedModes;
517 UINT32 totalImpersonationMainModes;
518} IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1;
519#endif
520
521typedef struct IKEEXT_KEYMODULE_STATISTICS0_ {
522 IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0 v4Statistics;
523 IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0 v6Statistics;
524 UINT32 errorFrequencyTable[97];
525 UINT32 mainModeNegotiationTime;
526 UINT32 quickModeNegotiationTime;
527 UINT32 extendedModeNegotiationTime;
528} IKEEXT_KEYMODULE_STATISTICS0;
529
530#if (NTDDI_VERSION >= NTDDI_WIN7)
531typedef struct IKEEXT_KEYMODULE_STATISTICS1_ {
532 IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 v4Statistics;
533 IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 v6Statistics;
534 UINT32 errorFrequencyTable[97];
535 UINT32 mainModeNegotiationTime;
536 UINT32 quickModeNegotiationTime;
537 UINT32 extendedModeNegotiationTime;
538} IKEEXT_KEYMODULE_STATISTICS1;
539#endif
540
541typedef struct IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0_ {
542 UINT32 totalSocketReceiveFailures;
543 UINT32 totalSocketSendFailures;
544} IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0;
545
546#if (NTDDI_VERSION >= NTDDI_WIN7)
547typedef struct IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1_ {
548 UINT32 totalSocketReceiveFailures;
549 UINT32 totalSocketSendFailures;
550} IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1;
551#endif
552
553typedef struct IKEEXT_COMMON_STATISTICS0_ {
554 IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0 v4Statistics;
555 IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0 v6Statistics;
556 UINT32 totalPacketsReceived;
557 UINT32 totalInvalidPacketsReceived;
558 UINT32 currentQueuedWorkitems;
559} IKEEXT_COMMON_STATISTICS0;
560
561#if (NTDDI_VERSION >= NTDDI_WIN7)
562typedef struct IKEEXT_COMMON_STATISTICS1_ {
563 IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 v4Statistics;
564 IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 v6Statistics;
565 UINT32 totalPacketsReceived;
566 UINT32 totalInvalidPacketsReceived;
567 UINT32 currentQueuedWorkitems;
568} IKEEXT_COMMON_STATISTICS1;
569#endif
570
571typedef struct IKEEXT_STATISTICS0_ {
572 IKEEXT_KEYMODULE_STATISTICS0 ikeStatistics;
573 IKEEXT_KEYMODULE_STATISTICS0 authipStatistics;
574 IKEEXT_COMMON_STATISTICS0 commonStatistics;
575} IKEEXT_STATISTICS0;
576
577#if (NTDDI_VERSION >= NTDDI_WIN7)
578typedef struct IKEEXT_STATISTICS1_ {
579 IKEEXT_KEYMODULE_STATISTICS1 ikeStatistics;
580 IKEEXT_KEYMODULE_STATISTICS1 authipStatistics;
581 IKEEXT_KEYMODULE_STATISTICS1 ikeV2Statistics;
582 IKEEXT_COMMON_STATISTICS1 commonStatistics;
583} IKEEXT_STATISTICS1;
584#endif
585
586typedef struct IKEEXT_TRAFFIC0_ {
587 FWP_IP_VERSION ipVersion;
588 __C89_NAMELESS union {
589 UINT32 localV4Address;
590 UINT8 localV6Address[16];
591 } __C89_NAMELESSUNIONNAME1;
592 __C89_NAMELESS union {
593 UINT32 remoteV4Address;
594 UINT8 remoteV6Address[16];
595 } __C89_NAMELESSUNIONNAME2;
596 UINT64 authIpFilterId;
597} IKEEXT_TRAFFIC0;
598
599typedef struct IKEEXT_COOKIE_PAIR0_ {
600 IKEEXT_COOKIE initiator;
601 IKEEXT_COOKIE responder;
602} IKEEXT_COOKIE_PAIR0;
603
604typedef struct IKEEXT_CERTIFICATE_CREDENTIAL0_ {
605 FWP_BYTE_BLOB subjectName;
606 FWP_BYTE_BLOB certHash;
607 UINT32 flags;
608} IKEEXT_CERTIFICATE_CREDENTIAL0;
609
610typedef struct IKEEXT_NAME_CREDENTIAL0_ {
611 wchar_t *principalName;
612} IKEEXT_NAME_CREDENTIAL0;
613typedef struct IKEEXT_CREDENTIAL0_ {
614 IKEEXT_AUTHENTICATION_METHOD_TYPE authenticationMethodType;
615 IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE impersonationType;
616 __C89_NAMELESS union {
617 IKEEXT_PRESHARED_KEY_AUTHENTICATION0 *presharedKey;
618 IKEEXT_CERTIFICATE_CREDENTIAL0 *certificate;
619 IKEEXT_NAME_CREDENTIAL0 *name;
620 } __C89_NAMELESSUNIONNAME;
621} IKEEXT_CREDENTIAL0;
622
623typedef struct IKEEXT_CREDENTIAL_PAIR0_ {
624 IKEEXT_CREDENTIAL0 localCredentials;
625 IKEEXT_CREDENTIAL0 peerCredentials;
626} IKEEXT_CREDENTIAL_PAIR0;
627
628typedef struct IKEEXT_CREDENTIALS0_ {
629 UINT32 numCredentials;
630 IKEEXT_CREDENTIAL_PAIR0 *credentials;
631} IKEEXT_CREDENTIALS0;
632
633typedef struct IKEEXT_SA_DETAILS0_ {
634 UINT64 saId;
635 IKEEXT_KEY_MODULE_TYPE keyModuleType;
636 FWP_IP_VERSION ipVersion;
637 __C89_NAMELESS union {
638 IPSEC_V4_UDP_ENCAPSULATION0 *v4UdpEncapsulation;
639 } __C89_NAMELESSUNIONNAME;
640 IKEEXT_TRAFFIC0 ikeTraffic;
641 IKEEXT_PROPOSAL0 ikeProposal;
642 IKEEXT_COOKIE_PAIR0 cookiePair;
643 IKEEXT_CREDENTIALS0 ikeCredentials;
644 GUID ikePolicyKey;
645 UINT64 virtualIfTunnelId;
646} IKEEXT_SA_DETAILS0;
647
648#if (NTDDI_VERSION >= NTDDI_WIN7)
649typedef struct IKEEXT_CERTIFICATE_CREDENTIAL1_ {
650 FWP_BYTE_BLOB subjectName;
651 FWP_BYTE_BLOB certHash;
652 UINT32 flags;
653 FWP_BYTE_BLOB certificate;
654} IKEEXT_CERTIFICATE_CREDENTIAL1;
655
656typedef struct IKEEXT_CREDENTIAL1_ {
657 IKEEXT_AUTHENTICATION_METHOD_TYPE authenticationMethodType;
658 IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE impersonationType;
659 __C89_NAMELESS union {
660 IKEEXT_PRESHARED_KEY_AUTHENTICATION1 *presharedKey;
661 IKEEXT_CERTIFICATE_CREDENTIAL1 *certificate;
662 IKEEXT_NAME_CREDENTIAL0 *name;
663 } __C89_NAMELESSUNIONNAME;
664} IKEEXT_CREDENTIAL1;
665
666typedef struct IKEEXT_CREDENTIAL_PAIR1_ {
667 IKEEXT_CREDENTIAL1 localCredentials;
668 IKEEXT_CREDENTIAL1 peerCredentials;
669} IKEEXT_CREDENTIAL_PAIR1;
670
671typedef struct IKEEXT_CREDENTIALS1_ {
672 UINT32 numCredentials;
673 IKEEXT_CREDENTIAL_PAIR1 *credentials;
674} IKEEXT_CREDENTIALS1;
675
676typedef struct IKEEXT_SA_DETAILS1_ {
677 UINT64 saId;
678 IKEEXT_KEY_MODULE_TYPE keyModuleType;
679 FWP_IP_VERSION ipVersion;
680 __C89_NAMELESS union {
681 IPSEC_V4_UDP_ENCAPSULATION0 *v4UdpEncapsulation;
682 } __C89_NAMELESSUNIONNAME;
683 IKEEXT_TRAFFIC0 ikeTraffic;
684 IKEEXT_PROPOSAL0 ikeProposal;
685 IKEEXT_COOKIE_PAIR0 cookiePair;
686 IKEEXT_CREDENTIALS1 ikeCredentials;
687 GUID ikePolicyKey;
688 UINT64 virtualIfTunnelId;
689 FWP_BYTE_BLOB correlationKey;
690} IKEEXT_SA_DETAILS1;
691#endif
692
693#if (NTDDI_VERSION >= NTDDI_WIN8)
694typedef struct IKEEXT_CREDENTIAL2_ {
695 IKEEXT_AUTHENTICATION_METHOD_TYPE authenticationMethodType;
696 IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE impersonationType;
697 __C89_NAMELESS union {
698 IKEEXT_PRESHARED_KEY_AUTHENTICATION1 *presharedKey;
699 IKEEXT_CERTIFICATE_CREDENTIAL1 *certificate;
700 IKEEXT_NAME_CREDENTIAL0 *name;
701 } __C89_NAMELESSUNIONNAME;
702} IKEEXT_CREDENTIAL2;
703
704typedef struct IKEEXT_CREDENTIAL_PAIR2_ {
705 IKEEXT_CREDENTIAL2 localCredentials;
706 IKEEXT_CREDENTIAL2 peerCredentials;
707} IKEEXT_CREDENTIAL_PAIR2;
708
709typedef struct IKEEXT_CREDENTIALS2_ {
710 UINT32 numCredentials;
711 IKEEXT_CREDENTIAL_PAIR2 *credentials;
712} IKEEXT_CREDENTIALS2;
713
714typedef struct IKEEXT_SA_DETAILS2_ {
715 UINT64 saId;
716 IKEEXT_KEY_MODULE_TYPE keyModuleType;
717 FWP_IP_VERSION ipVersion;
718 __C89_NAMELESS union {
719 IPSEC_V4_UDP_ENCAPSULATION0 *v4UdpEncapsulation;
720 } __C89_NAMELESSUNIONNAME;
721 IKEEXT_TRAFFIC0 ikeTraffic;
722 IKEEXT_PROPOSAL0 ikeProposal;
723 IKEEXT_COOKIE_PAIR0 cookiePair;
724 IKEEXT_CREDENTIALS2 ikeCredentials;
725 GUID ikePolicyKey;
726 UINT64 virtualIfTunnelId;
727 FWP_BYTE_BLOB correlationKey;
728} IKEEXT_SA_DETAILS2;
729#endif
730
731typedef struct IKEEXT_SA_ENUM_TEMPLATE0_ {
732 FWP_CONDITION_VALUE0 localSubNet;
733 FWP_CONDITION_VALUE0 remoteSubNet;
734 FWP_BYTE_BLOB localMainModeCertHash;
735} IKEEXT_SA_ENUM_TEMPLATE0;
736
737#endif /* WINAPI_PARTITION_DESKTOP. */
738/* Begin additional prototypes for all interfaces */
739
740
741/* End additional prototypes */
742
743#ifdef __cplusplus
744}
745#endif
746
747#endif /* __iketypes_h__ */
Note: See TracBrowser for help on using the repository browser.