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

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