1 /*** Autogenerated by WIDL 1.6 from 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 216 typedef struct IKEEXT_CERTIFICATE_AUTHENTICATION0_ { 217 IKEEXT_CERT_CONFIG_TYPE inboundConfigType; 218 __C89_NAMELESS union { 219 __C89_NAMELESS struct { 220 UINT32 inboundRootArraySize; 221 IKEEXT_CERT_ROOT_CONFIG0 *inboundRootArray; 222 } __C89_NAMELESSSTRUCTNAME; 223 IKEEXT_CERT_ROOT_CONFIG0 *inboundEnterpriseStoreConfig; 224 IKEEXT_CERT_ROOT_CONFIG0 *inboundTrustedRootStoreConfig; 225 } __C89_NAMELESSUNIONNAME1; 226 IKEEXT_CERT_CONFIG_TYPE outboundConfigType; 227 __C89_NAMELESS union { 228 __C89_NAMELESS struct { 229 UINT32 outboundRootArraySize; 230 IKEEXT_CERT_ROOT_CONFIG0 *outboundRootArray; 231 } __C89_NAMELESSSTRUCTNAME; 232 IKEEXT_CERT_ROOT_CONFIG0 *outboundEnterpriseStoreConfig; 233 IKEEXT_CERT_ROOT_CONFIG0 *outboundTrustedRootStoreConfig; 234 } __C89_NAMELESSUNIONNAME2; 235 UINT32 flags; 236 } IKEEXT_CERTIFICATE_AUTHENTICATION0; 237 238 #if NTDDI_VERSION >= NTDDI_WIN7 239 typedef struct IKEEXT_CERTIFICATE_AUTHENTICATION1_ { 240 IKEEXT_CERT_CONFIG_TYPE inboundConfigType; 241 __C89_NAMELESS union { 242 __C89_NAMELESS struct { 243 UINT32 inboundRootArraySize; 244 IKEEXT_CERT_ROOT_CONFIG0 *inboundRootArray; 245 } __C89_NAMELESSSTRUCTNAME; 246 IKEEXT_CERT_ROOT_CONFIG0 *inboundEnterpriseStoreConfig; 247 IKEEXT_CERT_ROOT_CONFIG0 *inboundTrustedRootStoreConfig; 248 } __C89_NAMELESSUNIONNAME1; 249 IKEEXT_CERT_CONFIG_TYPE outboundConfigType; 250 __C89_NAMELESS union { 251 __C89_NAMELESS struct { 252 UINT32 outboundRootArraySize; 253 IKEEXT_CERT_ROOT_CONFIG0 *outboundRootArray; 254 } __C89_NAMELESSSTRUCTNAME; 255 IKEEXT_CERT_ROOT_CONFIG0 *outboundEnterpriseStoreConfig; 256 IKEEXT_CERT_ROOT_CONFIG0 *outboundTrustedRootStoreConfig; 257 } __C89_NAMELESSUNIONNAME2; 258 UINT32 flags; 259 FWP_BYTE_BLOB localCertLocationUrl; 260 } IKEEXT_CERTIFICATE_AUTHENTICATION1; 261 #endif 262 263 #if (NTDDI_VERSION >= NTDDI_WIN8) 264 typedef enum IKEEXT_CERT_CRITERIA_NAME_TYPE_ { 265 IKEEXT_CERT_CRITERIA_DNS = 0, 266 IKEEXT_CERT_CRITERIA_UPN = 1, 267 IKEEXT_CERT_CRITERIA_RFC822 = 2, 268 IKEEXT_CERT_CRITERIA_CN = 3, 269 IKEEXT_CERT_CRITERIA_OU = 4, 270 IKEEXT_CERT_CRITERIA_O = 5, 271 IKEEXT_CERT_CRITERIA_DC = 6, 272 IKEEXT_CERT_CRITERIA_NAME_TYPE_MAX = 7 273 } IKEEXT_CERT_CRITERIA_NAME_TYPE; 274 275 typedef struct IKEEXT_CERT_EKUS0_ { 276 ULONG numEku; 277 LPSTR *eku; 278 } IKEEXT_CERT_EKUS0; 279 280 typedef struct IKEEXT_CERT_NAME0_ { 281 IKEEXT_CERT_CRITERIA_NAME_TYPE nameType; 282 LPWSTR certName; 283 } IKEEXT_CERT_NAME0; 284 285 typedef struct IKEEXT_CERTIFICATE_CRITERIA0_ { 286 FWP_BYTE_BLOB certData; 287 FWP_BYTE_BLOB certHash; 288 IKEEXT_CERT_EKUS0 *eku; 289 IKEEXT_CERT_NAME0 *name; 290 UINT32 flags; 291 } IKEEXT_CERTIFICATE_CRITERIA0; 292 293 typedef struct IKEEXT_CERTIFICATE_AUTHENTICATION2_ { 294 IKEEXT_CERT_CONFIG_TYPE inboundConfigType; 295 __C89_NAMELESS union { 296 __C89_NAMELESS struct { 297 UINT32 inboundRootArraySize; 298 IKEEXT_CERTIFICATE_CRITERIA0 *inboundRootCriteria; 299 } __C89_NAMELESSSTRUCTNAME1; 300 __C89_NAMELESS struct { 301 UINT32 inboundEnterpriseStoreArraySize; 302 IKEEXT_CERTIFICATE_CRITERIA0 *inboundEnterpriseStoreCriteria; 303 } __C89_NAMELESSSTRUCTNAME2; 304 __C89_NAMELESS struct { 305 UINT32 inboundRootStoreArraySize; 306 IKEEXT_CERTIFICATE_CRITERIA0 *inboundTrustedRootStoreCriteria; 307 } __C89_NAMELESSSTRUCTNAME3; 308 } __C89_NAMELESSUNIONNAME1; 309 IKEEXT_CERT_CONFIG_TYPE outboundConfigType; 310 __C89_NAMELESS union { 311 __C89_NAMELESS struct { 312 UINT32 outboundRootArraySize; 313 IKEEXT_CERTIFICATE_CRITERIA0 *outboundRootCriteria; 314 } __C89_NAMELESSSTRUCTNAME1; 315 __C89_NAMELESS struct { 316 UINT32 outboundEnterpriseStoreArraySize; 317 IKEEXT_CERTIFICATE_CRITERIA0 *outboundEnterpriseStoreCriteria; 318 } __C89_NAMELESSSTRUCTNAME2; 319 __C89_NAMELESS struct { 320 UINT32 outboundRootStoreArraySize; 321 IKEEXT_CERTIFICATE_CRITERIA0 *outboundTrustedRootStoreCriteria; 322 } __C89_NAMELESSSTRUCTNAME3; 323 } __C89_NAMELESSUNIONNAME2; 324 UINT32 flags; 325 FWP_BYTE_BLOB localCertLocationUrl; 326 } IKEEXT_CERTIFICATE_AUTHENTICATION2; 327 #endif 328 329 typedef struct IKEEXT_IPV6_CGA_AUTHENTICATION0_ { 330 wchar_t *keyContainerName; 331 wchar_t *cspName; 332 UINT32 cspType; 333 FWP_BYTE_ARRAY16 cgaModifier; 334 BYTE cgaCollisionCount; 335 } IKEEXT_IPV6_CGA_AUTHENTICATION0; 336 337 #if (NTDDI_VERSION >= NTDDI_WIN8) 338 typedef struct IKEEXT_KERBEROS_AUTHENTICATION1__ { 339 UINT32 flags; 340 wchar_t *proxyServer; 341 } IKEEXT_KERBEROS_AUTHENTICATION1; 342 #endif 343 344 typedef struct IKEEXT_RESERVED_AUTHENTICATION0__ { 345 UINT32 flags; 346 } IKEEXT_RESERVED_AUTHENTICATION0; 347 348 #if (NTDDI_VERSION >= NTDDI_WIN7) 349 typedef struct IKEEXT_EAP_AUTHENTICATION0__ { 350 UINT32 flags; 351 } IKEEXT_EAP_AUTHENTICATION0; 352 #endif 353 354 typedef struct IKEEXT_AUTHENTICATION_METHOD0_ { 355 IKEEXT_AUTHENTICATION_METHOD_TYPE authenticationMethodType; 356 __C89_NAMELESS union { 357 IKEEXT_PRESHARED_KEY_AUTHENTICATION0 presharedKeyAuthentication; 358 IKEEXT_CERTIFICATE_AUTHENTICATION0 certificateAuthentication; 359 IKEEXT_KERBEROS_AUTHENTICATION0 kerberosAuthentication; 360 IKEEXT_NTLM_V2_AUTHENTICATION0 ntlmV2Authentication; 361 IKEEXT_CERTIFICATE_AUTHENTICATION0 sslAuthentication; 362 IKEEXT_IPV6_CGA_AUTHENTICATION0 cgaAuthentication; 363 } __C89_NAMELESSUNIONNAME; 364 } IKEEXT_AUTHENTICATION_METHOD0; 365 366 #if (NTDDI_VERSION >= NTDDI_WIN7) 367 typedef struct IKEEXT_AUTHENTICATION_METHOD1_ { 368 IKEEXT_AUTHENTICATION_METHOD_TYPE authenticationMethodType; 369 __C89_NAMELESS union { 370 IKEEXT_PRESHARED_KEY_AUTHENTICATION1 presharedKeyAuthentication; 371 IKEEXT_CERTIFICATE_AUTHENTICATION1 certificateAuthentication; 372 IKEEXT_KERBEROS_AUTHENTICATION0 kerberosAuthentication; 373 IKEEXT_NTLM_V2_AUTHENTICATION0 ntlmV2Authentication; 374 IKEEXT_CERTIFICATE_AUTHENTICATION1 sslAuthentication; 375 IKEEXT_IPV6_CGA_AUTHENTICATION0 cgaAuthentication; 376 IKEEXT_EAP_AUTHENTICATION0 eapAuthentication; 377 } __C89_NAMELESSUNIONNAME; 378 } IKEEXT_AUTHENTICATION_METHOD1; 379 #endif 380 381 #if (NTDDI_VERSION >= NTDDI_WIN8) 382 typedef struct IKEEXT_AUTHENTICATION_METHOD2_ { 383 IKEEXT_AUTHENTICATION_METHOD_TYPE authenticationMethodType; 384 __C89_NAMELESS union { 385 IKEEXT_PRESHARED_KEY_AUTHENTICATION1 presharedKeyAuthentication; 386 IKEEXT_CERTIFICATE_AUTHENTICATION2 certificateAuthentication; 387 IKEEXT_KERBEROS_AUTHENTICATION1 kerberosAuthentication; 388 IKEEXT_RESERVED_AUTHENTICATION0 reservedAuthentication; 389 IKEEXT_NTLM_V2_AUTHENTICATION0 ntlmV2Authentication; 390 IKEEXT_CERTIFICATE_AUTHENTICATION2 sslAuthentication; 391 IKEEXT_IPV6_CGA_AUTHENTICATION0 cgaAuthentication; 392 IKEEXT_EAP_AUTHENTICATION0 eapAuthentication; 393 } __C89_NAMELESSUNIONNAME; 394 } IKEEXT_AUTHENTICATION_METHOD2; 395 #endif 396 397 typedef struct IKEEXT_CIPHER_ALGORITHM0_ { 398 IKEEXT_CIPHER_TYPE algoIdentifier; 399 UINT32 keyLen; 400 UINT32 rounds; 401 } IKEEXT_CIPHER_ALGORITHM0; 402 403 typedef struct IKEEXT_INTEGRITY_ALGORITHM0_ { 404 IKEEXT_INTEGRITY_TYPE algoIdentifier; 405 } IKEEXT_INTEGRITY_ALGORITHM0; 406 407 typedef struct IKEEXT_PROPOSAL0_ { 408 IKEEXT_CIPHER_ALGORITHM0 cipherAlgorithm; 409 IKEEXT_INTEGRITY_ALGORITHM0 integrityAlgorithm; 410 UINT32 maxLifetimeSeconds; 411 IKEEXT_DH_GROUP dhGroup; 412 UINT32 quickModeLimit; 413 } IKEEXT_PROPOSAL0; 414 415 typedef struct IKEEXT_POLICY0_ { 416 UINT32 softExpirationTime; 417 UINT32 numAuthenticationMethods; 418 IKEEXT_AUTHENTICATION_METHOD0 *authenticationMethods; 419 IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE initiatorImpersonationType; 420 UINT32 numIkeProposals; 421 IKEEXT_PROPOSAL0 *ikeProposals; 422 UINT32 flags; 423 UINT32 maxDynamicFilters; 424 } IKEEXT_POLICY0; 425 426 #if (NTDDI_VERSION >= NTDDI_WIN7) 427 typedef struct IKEEXT_POLICY1_ { 428 UINT32 softExpirationTime; 429 UINT32 numAuthenticationMethods; 430 IKEEXT_AUTHENTICATION_METHOD1 *authenticationMethods; 431 IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE initiatorImpersonationType; 432 UINT32 numIkeProposals; 433 IKEEXT_PROPOSAL0 *ikeProposals; 434 UINT32 flags; 435 UINT32 maxDynamicFilters; 436 UINT32 retransmitDurationSecs; 437 } IKEEXT_POLICY1; 438 #endif 439 440 #if (NTDDI_VERSION >= NTDDI_WIN8) 441 typedef struct IKEEXT_POLICY2_ { 442 UINT32 softExpirationTime; 443 UINT32 numAuthenticationMethods; 444 IKEEXT_AUTHENTICATION_METHOD2 *authenticationMethods; 445 IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE initiatorImpersonationType; 446 UINT32 numIkeProposals; 447 IKEEXT_PROPOSAL0 *ikeProposals; 448 UINT32 flags; 449 UINT32 maxDynamicFilters; 450 UINT32 retransmitDurationSecs; 451 } IKEEXT_POLICY2; 452 #endif 453 454 typedef struct IKEEXT_EM_POLICY0_ { 455 UINT32 numAuthenticationMethods; 456 IKEEXT_AUTHENTICATION_METHOD0 *authenticationMethods; 457 IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE initiatorImpersonationType; 458 } IKEEXT_EM_POLICY0; 459 460 #if (NTDDI_VERSION >= NTDDI_WIN7) 461 typedef struct IKEEXT_EM_POLICY1_ { 462 UINT32 numAuthenticationMethods; 463 IKEEXT_AUTHENTICATION_METHOD1 *authenticationMethods; 464 IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE initiatorImpersonationType; 465 } IKEEXT_EM_POLICY1; 466 #endif 467 468 #if (NTDDI_VERSION >= NTDDI_WIN8) 469 typedef struct IKEEXT_EM_POLICY2_ { 470 UINT32 numAuthenticationMethods; 471 IKEEXT_AUTHENTICATION_METHOD2 *authenticationMethods; 472 IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE initiatorImpersonationType; 473 } IKEEXT_EM_POLICY2; 474 #endif 475 476 typedef struct IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0_ { 477 UINT32 currentActiveMainModes; 478 UINT32 totalMainModesStarted; 479 UINT32 totalSuccessfulMainModes; 480 UINT32 totalFailedMainModes; 481 UINT32 totalResponderMainModes; 482 UINT32 currentNewResponderMainModes; 483 UINT32 currentActiveQuickModes; 484 UINT32 totalQuickModesStarted; 485 UINT32 totalSuccessfulQuickModes; 486 UINT32 totalFailedQuickModes; 487 UINT32 totalAcquires; 488 UINT32 totalReinitAcquires; 489 UINT32 currentActiveExtendedModes; 490 UINT32 totalExtendedModesStarted; 491 UINT32 totalSuccessfulExtendedModes; 492 UINT32 totalFailedExtendedModes; 493 UINT32 totalImpersonationExtendedModes; 494 UINT32 totalImpersonationMainModes; 495 } IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0; 496 497 #if (NTDDI_VERSION >= NTDDI_WIN7) 498 typedef struct IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1_ { 499 UINT32 currentActiveMainModes; 500 UINT32 totalMainModesStarted; 501 UINT32 totalSuccessfulMainModes; 502 UINT32 totalFailedMainModes; 503 UINT32 totalResponderMainModes; 504 UINT32 currentNewResponderMainModes; 505 UINT32 currentActiveQuickModes; 506 UINT32 totalQuickModesStarted; 507 UINT32 totalSuccessfulQuickModes; 508 UINT32 totalFailedQuickModes; 509 UINT32 totalAcquires; 510 UINT32 totalReinitAcquires; 511 UINT32 currentActiveExtendedModes; 512 UINT32 totalExtendedModesStarted; 513 UINT32 totalSuccessfulExtendedModes; 514 UINT32 totalFailedExtendedModes; 515 UINT32 totalImpersonationExtendedModes; 516 UINT32 totalImpersonationMainModes; 517 } IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1; 518 #endif 519 520 typedef struct IKEEXT_KEYMODULE_STATISTICS0_ { 521 IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0 v4Statistics; 522 IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS0 v6Statistics; 523 UINT32 errorFrequencyTable[97]; 524 UINT32 mainModeNegotiationTime; 525 UINT32 quickModeNegotiationTime; 526 UINT32 extendedModeNegotiationTime; 527 } IKEEXT_KEYMODULE_STATISTICS0; 528 529 #if (NTDDI_VERSION >= NTDDI_WIN7) 530 typedef struct IKEEXT_KEYMODULE_STATISTICS1_ { 531 IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 v4Statistics; 532 IKEEXT_IP_VERSION_SPECIFIC_KEYMODULE_STATISTICS1 v6Statistics; 533 UINT32 errorFrequencyTable[97]; 534 UINT32 mainModeNegotiationTime; 535 UINT32 quickModeNegotiationTime; 536 UINT32 extendedModeNegotiationTime; 537 } IKEEXT_KEYMODULE_STATISTICS1; 538 #endif 539 540 typedef struct IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0_ { 541 UINT32 totalSocketReceiveFailures; 542 UINT32 totalSocketSendFailures; 543 } IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0; 544 545 #if (NTDDI_VERSION >= NTDDI_WIN7) 546 typedef struct IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1_ { 547 UINT32 totalSocketReceiveFailures; 548 UINT32 totalSocketSendFailures; 549 } IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1; 550 #endif 551 552 typedef struct IKEEXT_COMMON_STATISTICS0_ { 553 IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0 v4Statistics; 554 IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS0 v6Statistics; 555 UINT32 totalPacketsReceived; 556 UINT32 totalInvalidPacketsReceived; 557 UINT32 currentQueuedWorkitems; 558 } IKEEXT_COMMON_STATISTICS0; 559 560 #if (NTDDI_VERSION >= NTDDI_WIN7) 561 typedef struct IKEEXT_COMMON_STATISTICS1_ { 562 IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 v4Statistics; 563 IKEEXT_IP_VERSION_SPECIFIC_COMMON_STATISTICS1 v6Statistics; 564 UINT32 totalPacketsReceived; 565 UINT32 totalInvalidPacketsReceived; 566 UINT32 currentQueuedWorkitems; 567 } IKEEXT_COMMON_STATISTICS1; 568 #endif 569 570 typedef struct IKEEXT_STATISTICS0_ { 571 IKEEXT_KEYMODULE_STATISTICS0 ikeStatistics; 572 IKEEXT_KEYMODULE_STATISTICS0 authipStatistics; 573 IKEEXT_COMMON_STATISTICS0 commonStatistics; 574 } IKEEXT_STATISTICS0; 575 576 #if (NTDDI_VERSION >= NTDDI_WIN7) 577 typedef struct IKEEXT_STATISTICS1_ { 578 IKEEXT_KEYMODULE_STATISTICS1 ikeStatistics; 579 IKEEXT_KEYMODULE_STATISTICS1 authipStatistics; 580 IKEEXT_KEYMODULE_STATISTICS1 ikeV2Statistics; 581 IKEEXT_COMMON_STATISTICS1 commonStatistics; 582 } IKEEXT_STATISTICS1; 583 #endif 584 585 typedef struct IKEEXT_TRAFFIC0_ { 586 FWP_IP_VERSION ipVersion; 587 __C89_NAMELESS union { 588 UINT32 localV4Address; 589 UINT8 localV6Address[16]; 590 } __C89_NAMELESSUNIONNAME1; 591 __C89_NAMELESS union { 592 UINT32 remoteV4Address; 593 UINT8 remoteV6Address[16]; 594 } __C89_NAMELESSUNIONNAME2; 595 UINT64 authIpFilterId; 596 } IKEEXT_TRAFFIC0; 597 598 typedef struct IKEEXT_COOKIE_PAIR0_ { 599 IKEEXT_COOKIE initiator; 600 IKEEXT_COOKIE responder; 601 } IKEEXT_COOKIE_PAIR0; 602 603 typedef struct IKEEXT_CERTIFICATE_CREDENTIAL0_ { 604 FWP_BYTE_BLOB subjectName; 605 FWP_BYTE_BLOB certHash; 606 UINT32 flags; 607 } IKEEXT_CERTIFICATE_CREDENTIAL0; 608 609 typedef struct IKEEXT_NAME_CREDENTIAL0_ { 610 wchar_t *principalName; 611 } IKEEXT_NAME_CREDENTIAL0; 612 typedef struct IKEEXT_CREDENTIAL0_ { 613 IKEEXT_AUTHENTICATION_METHOD_TYPE authenticationMethodType; 614 IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE impersonationType; 615 __C89_NAMELESS union { 616 IKEEXT_PRESHARED_KEY_AUTHENTICATION0 *presharedKey; 617 IKEEXT_CERTIFICATE_CREDENTIAL0 *certificate; 618 IKEEXT_NAME_CREDENTIAL0 *name; 619 } __C89_NAMELESSUNIONNAME; 620 } IKEEXT_CREDENTIAL0; 621 622 typedef struct IKEEXT_CREDENTIAL_PAIR0_ { 623 IKEEXT_CREDENTIAL0 localCredentials; 624 IKEEXT_CREDENTIAL0 peerCredentials; 625 } IKEEXT_CREDENTIAL_PAIR0; 626 627 typedef struct IKEEXT_CREDENTIALS0_ { 628 UINT32 numCredentials; 629 IKEEXT_CREDENTIAL_PAIR0 *credentials; 630 } IKEEXT_CREDENTIALS0; 631 632 typedef struct IKEEXT_SA_DETAILS0_ { 633 UINT64 saId; 634 IKEEXT_KEY_MODULE_TYPE keyModuleType; 635 FWP_IP_VERSION ipVersion; 636 __C89_NAMELESS union { 637 IPSEC_V4_UDP_ENCAPSULATION0 *v4UdpEncapsulation; 638 } __C89_NAMELESSUNIONNAME; 639 IKEEXT_TRAFFIC0 ikeTraffic; 640 IKEEXT_PROPOSAL0 ikeProposal; 641 IKEEXT_COOKIE_PAIR0 cookiePair; 642 IKEEXT_CREDENTIALS0 ikeCredentials; 643 GUID ikePolicyKey; 644 UINT64 virtualIfTunnelId; 645 } IKEEXT_SA_DETAILS0; 646 647 #if (NTDDI_VERSION >= NTDDI_WIN7) 648 typedef struct IKEEXT_CERTIFICATE_CREDENTIAL1_ { 649 FWP_BYTE_BLOB subjectName; 650 FWP_BYTE_BLOB certHash; 651 UINT32 flags; 652 FWP_BYTE_BLOB certificate; 653 } IKEEXT_CERTIFICATE_CREDENTIAL1; 654 655 typedef struct IKEEXT_CREDENTIAL1_ { 656 IKEEXT_AUTHENTICATION_METHOD_TYPE authenticationMethodType; 657 IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE impersonationType; 658 __C89_NAMELESS union { 659 IKEEXT_PRESHARED_KEY_AUTHENTICATION1 *presharedKey; 660 IKEEXT_CERTIFICATE_CREDENTIAL1 *certificate; 661 IKEEXT_NAME_CREDENTIAL0 *name; 662 } __C89_NAMELESSUNIONNAME; 663 } IKEEXT_CREDENTIAL1; 664 665 typedef struct IKEEXT_CREDENTIAL_PAIR1_ { 666 IKEEXT_CREDENTIAL1 localCredentials; 667 IKEEXT_CREDENTIAL1 peerCredentials; 668 } IKEEXT_CREDENTIAL_PAIR1; 669 670 typedef struct IKEEXT_CREDENTIALS1_ { 671 UINT32 numCredentials; 672 IKEEXT_CREDENTIAL_PAIR1 *credentials; 673 } IKEEXT_CREDENTIALS1; 674 675 typedef struct IKEEXT_SA_DETAILS1_ { 676 UINT64 saId; 677 IKEEXT_KEY_MODULE_TYPE keyModuleType; 678 FWP_IP_VERSION ipVersion; 679 __C89_NAMELESS union { 680 IPSEC_V4_UDP_ENCAPSULATION0 *v4UdpEncapsulation; 681 } __C89_NAMELESSUNIONNAME; 682 IKEEXT_TRAFFIC0 ikeTraffic; 683 IKEEXT_PROPOSAL0 ikeProposal; 684 IKEEXT_COOKIE_PAIR0 cookiePair; 685 IKEEXT_CREDENTIALS1 ikeCredentials; 686 GUID ikePolicyKey; 687 UINT64 virtualIfTunnelId; 688 FWP_BYTE_BLOB correlationKey; 689 } IKEEXT_SA_DETAILS1; 690 #endif 691 692 #if (NTDDI_VERSION >= NTDDI_WIN8) 693 typedef struct IKEEXT_CREDENTIAL2_ { 694 IKEEXT_AUTHENTICATION_METHOD_TYPE authenticationMethodType; 695 IKEEXT_AUTHENTICATION_IMPERSONATION_TYPE impersonationType; 696 __C89_NAMELESS union { 697 IKEEXT_PRESHARED_KEY_AUTHENTICATION1 *presharedKey; 698 IKEEXT_CERTIFICATE_CREDENTIAL1 *certificate; 699 IKEEXT_NAME_CREDENTIAL0 *name; 700 } __C89_NAMELESSUNIONNAME; 701 } IKEEXT_CREDENTIAL2; 702 703 typedef struct IKEEXT_CREDENTIAL_PAIR2_ { 704 IKEEXT_CREDENTIAL2 localCredentials; 705 IKEEXT_CREDENTIAL2 peerCredentials; 706 } IKEEXT_CREDENTIAL_PAIR2; 707 708 typedef struct IKEEXT_CREDENTIALS2_ { 709 UINT32 numCredentials; 710 IKEEXT_CREDENTIAL_PAIR2 *credentials; 711 } IKEEXT_CREDENTIALS2; 712 713 typedef struct IKEEXT_SA_DETAILS2_ { 714 UINT64 saId; 715 IKEEXT_KEY_MODULE_TYPE keyModuleType; 716 FWP_IP_VERSION ipVersion; 717 __C89_NAMELESS union { 718 IPSEC_V4_UDP_ENCAPSULATION0 *v4UdpEncapsulation; 719 } __C89_NAMELESSUNIONNAME; 720 IKEEXT_TRAFFIC0 ikeTraffic; 721 IKEEXT_PROPOSAL0 ikeProposal; 722 IKEEXT_COOKIE_PAIR0 cookiePair; 723 IKEEXT_CREDENTIALS2 ikeCredentials; 724 GUID ikePolicyKey; 725 UINT64 virtualIfTunnelId; 726 FWP_BYTE_BLOB correlationKey; 727 } IKEEXT_SA_DETAILS2; 728 #endif 729 730 typedef struct IKEEXT_SA_ENUM_TEMPLATE0_ { 731 FWP_CONDITION_VALUE0 localSubNet; 732 FWP_CONDITION_VALUE0 remoteSubNet; 733 FWP_BYTE_BLOB localMainModeCertHash; 734 } IKEEXT_SA_ENUM_TEMPLATE0; 735 736 #endif /* WINAPI_PARTITION_DESKTOP. */ 737 /* Begin additional prototypes for all interfaces */ 738 739 740 /* End additional prototypes */ 741 742 #ifdef __cplusplus 743 } 744 #endif 745 746 #endif /* __iketypes_h__ */ 747