1 /*** Autogenerated by WIDL 1.5.29 from /tmp/build-mingw64-toolchain-joshualang/src/mingw-w64-svn-r5861/mingw-w64-headers/include/iketypes.idl - Do not edit ***/ 2 3 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 4 #define __REQUIRED_RPCNDR_H_VERSION__ 475 5 #endif 6 7 #include <rpc.h> 8 #include <rpcndr.h> 9 10 #ifndef COM_NO_WINDOWS_H 11 #include <windows.h> 12 #include <ole2.h> 13 #endif 14 15 #ifndef __iketypes_h__ 16 #define __iketypes_h__ 17 18 /* Forward declarations */ 19 20 /* Headers for imported files */ 21 22 #include <fwptypes.h> 23 24 #ifdef __cplusplus 25 extern "C" { 26 #endif 27 28 /** 29 * This file is part of the mingw-w64 runtime package. 30 * No warranty is given; refer to the file DISCLAIMER within this package. 31 */ 32 33 #include <winapifamily.h> 34 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) 35 36 #define IKEEXT_ERROR_CODE_COUNT (ERROR_IPSEC_IKE_NEG_STATUS_END - ERROR_IPSEC_IKE_NEG_STATUS_BEGIN) 37 38 /* Please keep in sync with winerror.h defines. */ 39 40 #define IKEEXT_CERT_FLAG_ENABLE_ACCOUNT_MAPPING (0x1) 41 #define IKEEXT_CERT_FLAG_DISABLE_REQUEST_PAYLOAD (0x2) 42 #define IKEEXT_CERT_FLAG_USE_NAP_CERTIFICATE (0x4) 43 #define IKEEXT_CERT_FLAG_INTERMEDIATE_CA (0x8) 44 #define IKEEXT_CERT_FLAG_IGNORE_INIT_CERT_MAP_FAILURE (0x10) 45 #define IKEEXT_CERT_FLAG_PREFER_NAP_CERTIFICATE_OUTBOUND (0x20) 46 #if (NTDDI_VERSION >= NTDDI_WIN8) 47 #define IKEEXT_CERT_FLAG_SELECT_NAP_CERTIFICATE (0x40) 48 #define IKEEXT_CERT_FLAG_VERIFY_NAP_CERTIFICATE (0x80) 49 #define IKEEXT_CERT_FLAG_FOLLOW_RENEWAL_CERTIFICATE (0x100) 50 #endif 51 52 #define IKEEXT_CERT_AUTH_FLAG_SSL_ONE_WAY (0x1) 53 #define IKEEXT_CERT_AUTH_FLAG_DISABLE_CRL_CHECK (0x2) 54 #define IKEEXT_CERT_AUTH_ENABLE_CRL_CHECK_STRONG (0x4) 55 #define IKEEXT_CERT_AUTH_DISABLE_SSL_CERT_VALIDATION (0x8) 56 #if (NTDDI_VERSION >= NTDDI_WIN7) 57 #define IKEEXT_CERT_AUTH_ALLOW_HTTP_CERT_LOOKUP (0x10) 58 #define IKEEXT_CERT_AUTH_URL_CONTAINS_BUNDLE (0x20) 59 #endif 60 61 #define IKEEXT_KERB_AUTH_DISABLE_INITIATOR_TOKEN_GENERATION (0x1) 62 #define IKEEXT_KERB_AUTH_DONT_ACCEPT_EXPLICIT_CREDENTIALS (0x2) 63 #if (NTDDI_VERSION >= NTDDI_WIN8) 64 #define IKEEXT_KERB_AUTH_FORCE_PROXY_ON_INITIATOR (0x4) 65 #endif 66 67 #define IKEEXT_RESERVED_AUTH_DISABLE_INITIATOR_TOKEN_GENERATION (0x1) 68 69 #define IKEEXT_NTLM_V2_AUTH_DONT_ACCEPT_EXPLICIT_CREDENTIALS (0x1) 70 71 #define IKEEXT_POLICY_FLAG_DISABLE_DIAGNOSTICS (0x00000001) 72 #define IKEEXT_POLICY_FLAG_NO_MACHINE_LUID_VERIFY (0x00000002) 73 #define IKEEXT_POLICY_FLAG_NO_IMPERSONATION_LUID_VERIFY (0x00000004) 74 #define IKEEXT_POLICY_FLAG_ENABLE_OPTIONAL_DH (0x00000008) 75 76 #define IKEEXT_CERT_CREDENTIAL_FLAG_NAP_CERT (0x1) 77 78 #if (NTDDI_VERSION >= NTDDI_WIN7) 79 #define IKEEXT_PSK_FLAG_LOCAL_AUTH_ONLY (0x1) 80 #define IKEEXT_PSK_FLAG_REMOTE_AUTH_ONLY (0x2) 81 82 #define IKEEXT_EAP_FLAG_LOCAL_AUTH_ONLY (0x1) 83 #define IKEEXT_EAP_FLAG_REMOTE_AUTH_ONLY (0x2) 84 #endif 85 86 #ifndef __IPSEC_V4_UDP_ENCAPSULATION0_FWD_DECLARED 87 #define __IPSEC_V4_UDP_ENCAPSULATION0_FWD_DECLARED 88 typedef struct IPSEC_V4_UDP_ENCAPSULATION0_ IPSEC_V4_UDP_ENCAPSULATION0; 89 #endif 90 91 typedef UINT64 IKEEXT_COOKIE; 92 93 typedef enum IKEEXT_EM_SA_STATE_ { 94 IKEEXT_EM_SA_STATE_NONE = 0, 95 IKEEXT_EM_SA_STATE_SENT_ATTS = 1, 96 IKEEXT_EM_SA_STATE_SSPI_SENT = 2, 97 IKEEXT_EM_SA_STATE_AUTH_COMPLETE = 3, 98 IKEEXT_EM_SA_STATE_FINAL = 4, 99 IKEEXT_EM_SA_STATE_COMPLETE = 5, 100 IKEEXT_EM_SA_STATE_MAX = 6 101 } IKEEXT_EM_SA_STATE; 102 103 typedef enum IKEEXT_SA_ROLE_ { 104 IKEEXT_SA_ROLE_INITIATOR = 0, 105 IKEEXT_SA_ROLE_RESPONDER = 1, 106 IKEEXT_SA_ROLE_MAX = 2 107 } IKEEXT_SA_ROLE; 108 109 typedef enum IKEEXT_AUTHENTICATION_METHOD_TYPE_ { 110 IKEEXT_PRESHARED_KEY = 0, 111 IKEEXT_CERTIFICATE = 1, 112 IKEEXT_KERBEROS = 2, 113 IKEEXT_ANONYMOUS = 3, 114 IKEEXT_SSL = 4, 115 IKEEXT_NTLM_V2 = 5, 116 IKEEXT_IPV6_CGA = 6, 117 IKEEXT_CERTIFICATE_ECDSA_P256 = 7, 118 IKEEXT_CERTIFICATE_ECDSA_P384 = 8, 119 IKEEXT_SSL_ECDSA_P256 = 9, 120 IKEEXT_SSL_ECDSA_P384 = 10, 121 IKEEXT_EAP = 11, 122 IKEEXT_RESERVED = 12, 123 IKEEXT_AUTHENTICATION_METHOD_TYPE_MAX = 13 124 } IKEEXT_AUTHENTICATION_METHOD_TYPE; 125 126 typedef enum IKEEXT_KEY_MODULE_TYPE_ { 127 IKEEXT_KEY_MODULE_IKE = 0, 128 IKEEXT_KEY_MODULE_AUTHIP = 1, 129 IKEEXT_KEY_MODULE_IKEV2 = 2, 130 IKEEXT_KEY_MODULE_MAX = 3 131 } IKEEXT_KEY_MODULE_TYPE; 132 133 typedef enum IKEEXT_MM_SA_STATE_ { 134 IKEEXT_MM_SA_STATE_NONE = 0, 135 IKEEXT_MM_SA_STATE_SA_SENT = 1, 136 IKEEXT_MM_SA_STATE_SSPI_SENT = 2, 137 IKEEXT_MM_SA_STATE_FINAL = 3, 138 IKEEXT_MM_SA_STATE_FINAL_SENT = 4, 139 IKEEXT_MM_SA_STATE_COMPLETE = 5, 140 IKEEXT_MM_SA_STATE_MAX = 6 141 } IKEEXT_MM_SA_STATE; 142 143 typedef enum IKEEXT_QM_SA_STATE_ { 144 IKEEXT_QM_SA_STATE_NONE = 0, 145 IKEEXT_QM_SA_STATE_INITIAL = 1, 146 IKEEXT_QM_SA_STATE_FINAL = 2, 147 IKEEXT_QM_SA_STATE_COMPLETE = 3, 148 IKEEXT_QM_SA_STATE_MAX = 4 149 } IKEEXT_QM_SA_STATE; 150 151 typedef enum IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE_ { 152 IKEEXT_IMPERSONATION_NONE = 0, 153 IKEEXT_IMPERSONATION_SOCKET_PRINCIPAL = 1, 154 IKEEXT_IMPERSONATION_MAX = 2 155 } IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE; 156 157 typedef enum IKEEXT_CERT_CONFIG_TYPE_ { 158 IKEEXT_CERT_CONFIG_EXPLICIT_TRUST_LIST = 0, 159 IKEEXT_CERT_CONFIG_ENTERPRISE_STORE = 1, 160 IKEEXT_CERT_CONFIG_TRUSTED_ROOT_STORE = 2, 161 IKEEXT_CERT_CONFIG_UNSPECIFIED = 3, 162 IKEEXT_CERT_CONFIG_TYPE_MAX = 4 163 } IKEEXT_CERT_CONFIG_TYPE; 164 165 typedef enum IKEEXT_CIPHER_TYPE_ { 166 IKEEXT_CIPHER_DES = 0, 167 IKEEXT_CIPHER_3DES = 1, 168 IKEEXT_CIPHER_AES_128 = 2, 169 IKEEXT_CIPHER_AES_192 = 3, 170 IKEEXT_CIPHER_AES_256 = 4, 171 IKEEXT_CIPHER_TYPE_MAX = 5 172 } IKEEXT_CIPHER_TYPE; 173 174 typedef enum IKEEXT_INTEGRITY_TYPE_ { 175 IKEEXT_INTEGRITY_MD5 = 0, 176 IKEEXT_INTEGRITY_SHA1 = 1, 177 IKEEXT_INTEGRITY_SHA_256 = 2, 178 IKEEXT_INTEGRITY_SHA_384 = 3, 179 IKEEXT_INTEGRITY_TYPE_MAX = 4 180 } IKEEXT_INTEGRITY_TYPE; 181 182 typedef enum IKEEXT_DH_GROUP_ { 183 IKEEXT_DH_GROUP_NONE = 0, 184 IKEEXT_DH_GROUP_1 = 1, 185 IKEEXT_DH_GROUP_2 = 2, 186 IKEEXT_DH_GROUP_14 = 3, 187 IKEEXT_DH_GROUP_2048 = IKEEXT_DH_GROUP_14, 188 IKEEXT_DH_ECP_256 = 4, 189 IKEEXT_DH_ECP_384 = 5, 190 IKEEXT_DH_GROUP_24 = 6, 191 IKEEXT_DH_GROUP_MAX = 7 192 } IKEEXT_DH_GROUP; 193 194 typedef struct IKEEXT_CERT_ROOT_CONFIG0_ { 195 FWP_BYTE_BLOB certData; 196 UINT32 flags; 197 } IKEEXT_CERT_ROOT_CONFIG0; 198 199 typedef struct IKEEXT_KERBEROS_AUTHENTICATION0__ { 200 UINT32 flags; 201 } IKEEXT_KERBEROS_AUTHENTICATION0; 202 203 typedef struct IKEEXT_NTLM_V2_AUTHENTICATION0__ { 204 UINT32 flags; 205 } IKEEXT_NTLM_V2_AUTHENTICATION0; 206 207 typedef struct IKEEXT_PRESHARED_KEY_AUTHENTICATION0__ { 208 FWP_BYTE_BLOB presharedKey; 209 } IKEEXT_PRESHARED_KEY_AUTHENTICATION0; 210 211 typedef struct IKEEXT_PRESHARED_KEY_AUTHENTICATION1__ { 212 FWP_BYTE_BLOB presharedKey; 213 UINT32 flags; 214 } IKEEXT_PRESHARED_KEY_AUTHENTICATION1; 215 #endif 216 217 typedef 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 240 typedef 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) 265 typedef 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 276 typedef struct IKEEXT_CERT_EKUS0_ { 277 ULONG numEku; 278 LPSTR *eku; 279 } IKEEXT_CERT_EKUS0; 280 281 typedef struct IKEEXT_CERT_NAME0_ { 282 IKEEXT_CERT_CRITERIA_NAME_TYPE nameType; 283 LPWSTR certName; 284 } IKEEXT_CERT_NAME0; 285 286 typedef 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 294 typedef 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 330 typedef 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) 339 typedef struct IKEEXT_KERBEROS_AUTHENTICATION1__ { 340 UINT32 flags; 341 wchar_t *proxyServer; 342 } IKEEXT_KERBEROS_AUTHENTICATION1; 343 #endif 344 345 typedef struct IKEEXT_RESERVED_AUTHENTICATION0__ { 346 UINT32 flags; 347 } IKEEXT_RESERVED_AUTHENTICATION0; 348 349 #if (NTDDI_VERSION >= NTDDI_WIN7) 350 typedef struct IKEEXT_EAP_AUTHENTICATION0__ { 351 UINT32 flags; 352 } IKEEXT_EAP_AUTHENTICATION0; 353 #endif 354 355 typedef 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) 368 typedef 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) 383 typedef 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 398 typedef struct IKEEXT_CIPHER_ALGORITHM0_ { 399 IKEEXT_CIPHER_TYPE algoIdentifier; 400 UINT32 keyLen; 401 UINT32 rounds; 402 } IKEEXT_CIPHER_ALGORITHM0; 403 404 typedef struct IKEEXT_INTEGRITY_ALGORITHM0_ { 405 IKEEXT_INTEGRITY_TYPE algoIdentifier; 406 } IKEEXT_INTEGRITY_ALGORITHM0; 407 408 typedef 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 416 typedef 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) 428 typedef 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) 442 typedef 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 455 typedef 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) 462 typedef 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) 470 typedef 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 477 typedef 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) 499 typedef 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 521 typedef 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) 531 typedef 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 541 typedef 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) 547 typedef struct IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1_ { 548 UINT32 totalSocketReceiveFailures; 549 UINT32 totalSocketSendFailures; 550 } IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1; 551 #endif 552 553 typedef 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) 562 typedef 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 571 typedef 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) 578 typedef 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 586 typedef 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 599 typedef struct IKEEXT_COOKIE_PAIR0_ { 600 IKEEXT_COOKIE initiator; 601 IKEEXT_COOKIE responder; 602 } IKEEXT_COOKIE_PAIR0; 603 604 typedef struct IKEEXT_CERTIFICATE_CREDENTIAL0_ { 605 FWP_BYTE_BLOB subjectName; 606 FWP_BYTE_BLOB certHash; 607 UINT32 flags; 608 } IKEEXT_CERTIFICATE_CREDENTIAL0; 609 610 typedef struct IKEEXT_NAME_CREDENTIAL0_ { 611 wchar_t *principalName; 612 } IKEEXT_NAME_CREDENTIAL0; 613 typedef 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 623 typedef struct IKEEXT_CREDENTIAL_PAIR0_ { 624 IKEEXT_CREDENTIAL0 localCredentials; 625 IKEEXT_CREDENTIAL0 peerCredentials; 626 } IKEEXT_CREDENTIAL_PAIR0; 627 628 typedef struct IKEEXT_CREDENTIALS0_ { 629 UINT32 numCredentials; 630 IKEEXT_CREDENTIAL_PAIR0 *credentials; 631 } IKEEXT_CREDENTIALS0; 632 633 typedef 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) 649 typedef 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 656 typedef 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 666 typedef struct IKEEXT_CREDENTIAL_PAIR1_ { 667 IKEEXT_CREDENTIAL1 localCredentials; 668 IKEEXT_CREDENTIAL1 peerCredentials; 669 } IKEEXT_CREDENTIAL_PAIR1; 670 671 typedef struct IKEEXT_CREDENTIALS1_ { 672 UINT32 numCredentials; 673 IKEEXT_CREDENTIAL_PAIR1 *credentials; 674 } IKEEXT_CREDENTIALS1; 675 676 typedef 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) 694 typedef 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 704 typedef struct IKEEXT_CREDENTIAL_PAIR2_ { 705 IKEEXT_CREDENTIAL2 localCredentials; 706 IKEEXT_CREDENTIAL2 peerCredentials; 707 } IKEEXT_CREDENTIAL_PAIR2; 708 709 typedef struct IKEEXT_CREDENTIALS2_ { 710 UINT32 numCredentials; 711 IKEEXT_CREDENTIAL_PAIR2 *credentials; 712 } IKEEXT_CREDENTIALS2; 713 714 typedef 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 731 typedef 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__ */ 748