| /** | |
| * This file has no copyright assigned and is placed in the Public Domain. | |
| * This file is part of the mingw-w64 runtime package. | |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. | |
| */ | |
| #ifndef _INC_FWPMTYPES | |
| #define _INC_FWPMTYPES | |
| #include <fwptypes.h> | |
| #include <ipsectypes.h> | |
| #include <iketypes.h> | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| #if (_WIN32_WINNT >= 0x0600) | |
| typedef enum FWPM_PROVIDER_CONTEXT_TYPE_ { | |
| FWPM_IPSEC_KEYING_CONTEXT, | |
| FWPM_IPSEC_IKE_QM_TRANSPORT_CONTEXT, | |
| FWPM_IPSEC_IKE_QM_TUNNEL_CONTEXT, | |
| FWPM_IPSEC_AUTHIP_QM_TRANSPORT_CONTEXT, | |
| FWPM_IPSEC_AUTHIP_QM_TUNNEL_CONTEXT, | |
| FWPM_IPSEC_IKE_MM_CONTEXT, | |
| FWPM_IPSEC_AUTHIP_MM_CONTEXT, | |
| FWPM_CLASSIFY_OPTIONS_CONTEXT, | |
| FWPM_GENERAL_CONTEXT, | |
| FWPM_IPSEC_IKEV2_QM_TUNNEL_CONTEXT, | |
| FWPM_IPSEC_IKEV2_MM_CONTEXT, | |
| FWPM_DOSP_CONTEXT, | |
| FWPM_PROVIDER_CONTEXT_TYPE_MAX | |
| } FWPM_PROVIDER_CONTEXT_TYPE; | |
| typedef enum FWPM_NET_EVENT_TYPE_ { | |
| FWPM_NET_EVENT_TYPE_IKEEXT_MM_FAILURE, | |
| FWPM_NET_EVENT_TYPE_IKEEXT_QM_FAILURE, | |
| FWPM_NET_EVENT_TYPE_IKEEXT_EM_FAILURE, | |
| FWPM_NET_EVENT_TYPE_CLASSIFY_DROP, | |
| FWPM_NET_EVENT_TYPE_IPSEC_KERNEL_DROP, | |
| FWPM_NET_EVENT_TYPE_IPSEC_DOSP_DROP, | |
| FWPM_NET_EVENT_TYPE_MAX | |
| } FWPM_NET_EVENT_TYPE; | |
| typedef struct FWPM_ACTION0_ { | |
| FWP_ACTION_TYPE type; | |
| __C89_NAMELESS union { | |
| GUID filterType; | |
| GUID calloutKey; | |
| }; | |
| } FWPM_ACTION0; | |
| typedef struct FWPM_DISPLAY_DATA0_ { | |
| wchar_t *name; | |
| wchar_t *description; | |
| } FWPM_DISPLAY_DATA0; | |
| typedef struct FWPM_SESSION0_ { | |
| GUID sessionKey; | |
| FWPM_DISPLAY_DATA0 displayData; | |
| UINT32 flags; | |
| UINT32 txnWaitTimeoutInMSec; | |
| DWORD processId; | |
| SID *sid; | |
| wchar_t *username; | |
| WINBOOL kernelMode; | |
| } FWPM_SESSION0; | |
| typedef struct FWPM_CALLOUT_ENUM_TEMPLATE0_ { | |
| GUID *providerKey; | |
| GUID layerKey; | |
| } FWPM_CALLOUT_ENUM_TEMPLATE0; | |
| typedef struct FWPM_CALLOUT_SUBSCRIPTION0_ { | |
| FWPM_CALLOUT_ENUM_TEMPLATE0 *enumTemplate; | |
| UINT32 flags; | |
| GUID sessionKey; | |
| } FWPM_CALLOUT_SUBSCRIPTION0; | |
| typedef enum FWPM_CHANGE_TYPE_ { | |
| FWPM_CHANGE_ADD = 1, | |
| FWPM_CHANGE_DELETE, | |
| FWPM_CHANGE_TYPE_MAX | |
| } FWPM_CHANGE_TYPE; | |
| typedef struct FWPM_CALLOUT_CHANGE0_ { | |
| FWPM_CHANGE_TYPE changeType; | |
| GUID calloutKey; | |
| UINT32 calloutId; | |
| } FWPM_CALLOUT_CHANGE0; | |
| typedef struct FWPM_CALLOUT0_ { | |
| GUID calloutKey; | |
| FWPM_DISPLAY_DATA0 displayData; | |
| UINT32 flags; | |
| GUID *providerKey; | |
| FWP_BYTE_BLOB providerData; | |
| GUID applicableLayer; | |
| UINT32 calloutId; | |
| } FWPM_CALLOUT0; | |
| typedef struct FWPM_CLASSIFY_OPTION0_ { | |
| FWP_CLASSIFY_OPTION_TYPE type; | |
| FWP_VALUE0 value; | |
| } FWPM_CLASSIFY_OPTION0; | |
| typedef struct FWPM_CLASSIFY_OPTIONS0_ { | |
| UINT32 numOptions; | |
| FWPM_CLASSIFY_OPTION0 *options; | |
| } FWPM_CLASSIFY_OPTIONS0; | |
| typedef enum FWPM_ENGINE_OPTION_ { | |
| FWPM_ENGINE_COLLECT_NET_EVENTS, | |
| FWPM_ENGINE_NET_EVENT_MATCH_ANY_KEYWORDS, | |
| FWPM_ENGINE_NAME_CACHE, | |
| FWPM_ENGINE_OPTION_MAX | |
| } FWPM_ENGINE_OPTION; | |
| typedef enum FWPM_FIELD_TYPE_ { | |
| FWPM_FIELD_RAW_DATA, | |
| FWPM_FIELD_IP_ADDRESS, | |
| FWPM_FIELD_FLAGS, | |
| FWPM_FIELD_TYPE_MAX | |
| } FWPM_FIELD_TYPE; | |
| typedef struct FWPM_FIELD0_ { | |
| GUID *fieldKey; | |
| FWPM_FIELD_TYPE type; | |
| FWP_DATA_TYPE dataType; | |
| } FWPM_FIELD0; | |
| typedef struct FWPM_FILTER_CHANGE0_ { | |
| FWPM_CHANGE_TYPE changeType; | |
| GUID filterKey; | |
| UINT64 filterId; | |
| } FWPM_FILTER_CHANGE0; | |
| typedef struct FWPM_FILTER_CONDITION0_ { | |
| GUID fieldKey; | |
| FWP_MATCH_TYPE matchType; | |
| FWP_CONDITION_VALUE0 conditionValue; | |
| } FWPM_FILTER_CONDITION0; | |
| typedef struct FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0_ { | |
| GUID *providerKey; | |
| FWPM_PROVIDER_CONTEXT_TYPE providerContextType; | |
| } FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0; | |
| typedef struct FWPM_FILTER_ENUM_TEMPLATE0_ { | |
| GUID *providerKey; | |
| GUID layerKey; | |
| FWP_FILTER_ENUM_TYPE enumType; | |
| UINT32 flags; | |
| FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0 *providerContextTemplate; | |
| UINT32 numFilterConditions; | |
| FWPM_FILTER_CONDITION0 *filterCondition; | |
| UINT32 actionMask; | |
| GUID *calloutKey; | |
| } FWPM_FILTER_ENUM_TEMPLATE0; | |
| typedef struct FWPM_FILTER_SUBSCRIPTION0_ { | |
| FWPM_FILTER_ENUM_TEMPLATE0 *enumTemplate; | |
| UINT32 flags; | |
| GUID sessionKey; | |
| } FWPM_FILTER_SUBSCRIPTION0; | |
| typedef struct FWPM_FILTER0_ { | |
| GUID filterKey; | |
| FWPM_DISPLAY_DATA0 displayData; | |
| UINT32 flags; | |
| GUID *providerKey; | |
| FWP_BYTE_BLOB providerData; | |
| GUID layerKey; | |
| GUID subLayerKey; | |
| FWP_VALUE0 weight; | |
| UINT32 numFilterConditions; | |
| FWPM_FILTER_CONDITION0 *filterCondition; | |
| FWPM_ACTION0 action; | |
| __C89_NAMELESS union { | |
| UINT64 rawContext; | |
| GUID providerContextKey; | |
| }; | |
| GUID *reserved; | |
| UINT64 filterId; | |
| FWP_VALUE0 effectiveWeight; | |
| } FWPM_FILTER0; | |
| typedef struct FWPM_LAYER_ENUM_TEMPLATE0_ { | |
| UINT64 reserved; | |
| } FWPM_LAYER_ENUM_TEMPLATE0; | |
| typedef struct FWPM_LAYER0_ { | |
| GUID layerKey; | |
| FWPM_DISPLAY_DATA0 displayData; | |
| UINT32 flags; | |
| UINT32 numFields; | |
| FWPM_FIELD0 *field; | |
| GUID defaultSubLayerKey; | |
| UINT16 layerId; | |
| } FWPM_LAYER0; | |
| typedef struct FWPM_NET_EVENT_CLASSIFY_DROP0_ { | |
| UINT64 filterId; | |
| UINT16 layerId; | |
| } FWPM_NET_EVENT_CLASSIFY_DROP0; | |
| typedef struct FWPM_NET_EVENT_ENUM_TEMPLATE0_ { | |
| FILETIME startTime; | |
| FILETIME endTime; | |
| UINT32 numFilterConditions; | |
| FWPM_FILTER_CONDITION0 *filterCondition; | |
| } FWPM_NET_EVENT_ENUM_TEMPLATE0; | |
| typedef struct FWPM_NET_EVENT_HEADER0_ { | |
| FILETIME timeStamp; | |
| UINT32 flags; | |
| FWP_IP_VERSION ipVersion; | |
| UINT8 ipProtocol; | |
| __C89_NAMELESS union { | |
| UINT32 localAddrV4; | |
| FWP_BYTE_ARRAY16 localAddrV6; | |
| }; | |
| __C89_NAMELESS union { | |
| UINT32 remoteAddrV4; | |
| FWP_BYTE_ARRAY16 remoteAddrV6; | |
| }; | |
| UINT16 localPort; | |
| UINT16 remotePort; | |
| UINT32 scopeId; | |
| FWP_BYTE_BLOB appId; | |
| SID *userId; | |
| } FWPM_NET_EVENT_HEADER0; | |
| #define IKEEXT_CERT_HASH_LEN 20 | |
| typedef struct FWPM_NET_EVENT_IKEEXT_UM_FAILURE0_ { | |
| UINT32 failureErrorCode; | |
| IPSEC_FAILURE_POINT failurePoint; | |
| UINT32 flags; | |
| IKEEXT_EM_SA_STATE emState; | |
| IKEEXT_SA_ROLE saRole; | |
| IKEEXT_AUTHENTICATION_METHOD_TYPE emAuthMethod; | |
| UINT8 endCertHash[IKEEXT_CERT_HASH_LEN]; | |
| UINT64 mmId; | |
| UINT64 qmFilterId; | |
| } FWPM_NET_EVENT_IKEEXT_UM_FAILURE0; | |
| typedef struct FWPM_NET_EVENT_IKEEXT_MM_FAILURE0_ { | |
| UINT32 failureErrorCode; | |
| IPSEC_FAILURE_POINT failurePoint; | |
| UINT32 flags; | |
| IKEEXT_KEY_MODULE_TYPE keyingModuleType; | |
| IKEEXT_MM_SA_STATE mmState; | |
| IKEEXT_SA_ROLE saRole; | |
| IKEEXT_AUTHENTICATION_METHOD_TYPE mmAuthMethod; | |
| UINT8 endCertHash[IKEEXT_CERT_HASH_LEN]; | |
| UINT64 mmId; | |
| UINT64 mmFilterId; | |
| } FWPM_NET_EVENT_IKEEXT_MM_FAILURE0; | |
| typedef struct FWPM_NET_EVENT_IKEEXT_QM_FAILURE0 { | |
| UINT32 failureErrorCode; | |
| IPSEC_FAILURE_POINT failurePoint; | |
| IKEEXT_KEY_MODULE_TYPE keyingModuleType; | |
| IKEEXT_QM_SA_STATE qmState; | |
| IKEEXT_SA_ROLE saRole; | |
| IPSEC_TRAFFIC_TYPE saTrafficType; | |
| __C89_NAMELESS union { | |
| FWP_CONDITION_VALUE0 localSubNet; | |
| }; | |
| __C89_NAMELESS union { | |
| FWP_CONDITION_VALUE0 remoteSubNet; | |
| }; | |
| UINT64 qmFilterId; | |
| } FWPM_NET_EVENT_IKEEXT_QM_FAILURE0; | |
| typedef UINT32 IPSEC_SA_SPI; | |
| typedef struct FWPM_NET_EVENT_IPSEC_KERNEL_DROP0_ { | |
| INT32 failureStatus; | |
| FWP_DIRECTION direction; | |
| IPSEC_SA_SPI spi; | |
| UINT64 filterId; | |
| UINT16 layerId; | |
| } FWPM_NET_EVENT_IPSEC_KERNEL_DROP0; | |
| #if (_WIN32_WINNT >= 0x0601) | |
| typedef struct FWPM_NET_EVENT_IPSEC_DOSP_DROP0_ { | |
| FWP_IP_VERSION ipVersion; | |
| __C89_NAMELESS union { | |
| UINT32 publicHostV4Addr; | |
| UINT8 publicHostV6Addr[16]; | |
| }; | |
| __C89_NAMELESS union { | |
| UINT32 internalHostV4Addr; | |
| UINT8 internalHostV6Addr[16]; | |
| }; | |
| INT32 failureStatus; | |
| FWP_DIRECTION direction; | |
| } FWPM_NET_EVENT_IPSEC_DOSP_DROP0; | |
| #endif /*(_WIN32_WINNT >= 0x0601)*/ | |
| typedef struct FWPM_NET_EVENT_IKEEXT_EM_FAILURE0_ { | |
| UINT32 failureErrorCode; | |
| IPSEC_FAILURE_POINT failurePoint; | |
| UINT32 flags; | |
| IKEEXT_EM_SA_STATE emState; | |
| IKEEXT_SA_ROLE saRole; | |
| IKEEXT_AUTHENTICATION_METHOD_TYPE emAuthMethod; | |
| UINT8 endCertHash[IKEEXT_CERT_HASH_LEN]; | |
| UINT64 mmId; | |
| UINT64 qmFilterId; | |
| } FWPM_NET_EVENT_IKEEXT_EM_FAILURE0; | |
| typedef struct FWPM_NET_EVENT0_ { | |
| FWPM_NET_EVENT_HEADER0 header; | |
| FWPM_NET_EVENT_TYPE type; | |
| __C89_NAMELESS union { | |
| FWPM_NET_EVENT_IKEEXT_MM_FAILURE0 *ikeMmFailure; | |
| FWPM_NET_EVENT_IKEEXT_QM_FAILURE0 *ikeQmFailure; | |
| FWPM_NET_EVENT_IKEEXT_EM_FAILURE0 *ikeEmFailure; | |
| FWPM_NET_EVENT_CLASSIFY_DROP0 *classifyDrop; | |
| FWPM_NET_EVENT_IPSEC_KERNEL_DROP0 *ipsecDrop; | |
| #if (_WIN32_WINNT >= 0x0601) | |
| FWPM_NET_EVENT_IPSEC_DOSP_DROP0 *idpDrop; | |
| #endif /*(_WIN32_WINNT >= 0x0601)*/ | |
| }; | |
| } FWPM_NET_EVENT0; | |
| typedef struct FWPM_PROVIDER_CHANGE0_ { | |
| FWPM_CHANGE_TYPE changeType; | |
| GUID providerKey; | |
| } FWPM_PROVIDER_CHANGE0; | |
| typedef struct FWPM_PROVIDER_CONTEXT_CHANGE0_ { | |
| FWPM_CHANGE_TYPE changeType; | |
| GUID providerContextKey; | |
| UINT64 providerContextId; | |
| } FWPM_PROVIDER_CONTEXT_CHANGE0; | |
| typedef struct FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0_ { | |
| FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0 *enumTemplate; | |
| UINT32 flags; | |
| GUID sessionKey; | |
| } FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0; | |
| typedef struct FWPM_PROVIDER_CONTEXT0_ { | |
| GUID providerContextKey; | |
| FWPM_DISPLAY_DATA0 displayData; | |
| UINT32 flags; | |
| GUID *providerKey; | |
| FWP_BYTE_BLOB providerData; | |
| FWPM_PROVIDER_CONTEXT_TYPE type; | |
| __C89_NAMELESS union { | |
| IPSEC_KEYING_POLICY0 *keyingPolicy; | |
| IPSEC_TRANSPORT_POLICY0 *ikeQmTransportPolicy; | |
| IPSEC_TUNNEL_POLICY0 *ikeQmTunnelPolicy; | |
| IPSEC_TRANSPORT_POLICY0 *authipQmTransportPolicy; | |
| IPSEC_TUNNEL_POLICY0 *authipQmTunnelPolicy; | |
| IKEEXT_POLICY0 *ikeMmPolicy; | |
| IKEEXT_POLICY0 *authIpMmPolicy; | |
| FWP_BYTE_BLOB *dataBuffer; | |
| FWPM_CLASSIFY_OPTIONS0 *classifyOptions; | |
| }; | |
| UINT64 providerContextId; | |
| } FWPM_PROVIDER_CONTEXT0; | |
| typedef struct FWPM_PROVIDER_ENUM_TEMPLATE0_ { | |
| UINT64 reserved; | |
| } FWPM_PROVIDER_ENUM_TEMPLATE0; | |
| typedef struct FWPM_PROVIDER_SUBSCRIPTION0_ { | |
| FWPM_PROVIDER_ENUM_TEMPLATE0 *enumTemplate; | |
| UINT32 flags; | |
| GUID sessionKey; | |
| } FWPM_PROVIDER_SUBSCRIPTION0; | |
| typedef struct FWPM_PROVIDER0_ { | |
| GUID providerKey; | |
| FWPM_DISPLAY_DATA0 displayData; | |
| UINT32 flags; | |
| FWP_BYTE_BLOB providerData; | |
| wchar_t *serviceName; | |
| } FWPM_PROVIDER0; | |
| typedef struct FWPM_SESSION_ENUM_TEMPLATE0_ { | |
| UINT64 reserved; | |
| } FWPM_SESSION_ENUM_TEMPLATE0; | |
| typedef struct FWPM_SUBLAYER_CHANGE0_ { | |
| FWPM_CHANGE_TYPE changeType; | |
| GUID subLayerKey; | |
| } FWPM_SUBLAYER_CHANGE0; | |
| typedef struct FWPM_SUBLAYER_ENUM_TEMPLATE0_ { | |
| GUID *providerKey; | |
| } FWPM_SUBLAYER_ENUM_TEMPLATE0; | |
| typedef struct FWPM_SUBLAYER_SUBSCRIPTION0_ { | |
| FWPM_SUBLAYER_ENUM_TEMPLATE0 *enumTemplate; | |
| UINT32 flags; | |
| GUID sessionKey; | |
| } FWPM_SUBLAYER_SUBSCRIPTION0; | |
| typedef struct FWPM_SUBLAYER0_ { | |
| GUID subLayerKey; | |
| FWPM_DISPLAY_DATA0 displayData; | |
| UINT16 flags; | |
| GUID *providerKey; | |
| FWP_BYTE_BLOB providerData; | |
| UINT16 weight; | |
| } FWPM_SUBLAYER0; | |
| #endif /*(_WIN32_WINNT >= 0x0600)*/ | |
| #if (_WIN32_WINNT >= 0x0601) | |
| typedef enum FWPM_SYSTEM_PORT_TYPE_ { | |
| FWPM_SYSTEM_PORT_RPC_EPMAP, | |
| FWPM_SYSTEM_PORT_TEREDO, | |
| FWPM_SYSTEM_PORT_IPHTTPS_IN, | |
| FWPM_SYSTEM_PORT_IPHTTPS_OUT, | |
| FWPM_SYSTEM_PORT_TYPE_MAX | |
| } FWPM_SYSTEM_PORT_TYPE; | |
| typedef enum { | |
| DlUnicast, | |
| DlMulticast, | |
| DlBroadcast | |
| } DL_ADDRESS_TYPE, *PDL_ADDRESS_TYPE; | |
| typedef struct FWPM_PROVIDER_CONTEXT1_ { | |
| GUID providerContextKey; | |
| FWPM_DISPLAY_DATA0 displayData; | |
| UINT32 flags; | |
| GUID *providerKey; | |
| FWP_BYTE_BLOB providerData; | |
| FWPM_PROVIDER_CONTEXT_TYPE type; | |
| __C89_NAMELESS union { | |
| IPSEC_KEYING_POLICY0 *keyingPolicy; | |
| IPSEC_TRANSPORT_POLICY1 *ikeQmTransportPolicy; | |
| IPSEC_TUNNEL_POLICY1 *ikeQmTunnelPolicy; | |
| IPSEC_TRANSPORT_POLICY1 *authipQmTransportPolicy; | |
| IPSEC_TUNNEL_POLICY1 *authipQmTunnelPolicy; | |
| IKEEXT_POLICY1 *ikeMmPolicy; | |
| IKEEXT_POLICY1 *authIpMmPolicy; | |
| FWP_BYTE_BLOB *dataBuffer; | |
| FWPM_CLASSIFY_OPTIONS0 *classifyOptions; | |
| IPSEC_TUNNEL_POLICY1 *ikeV2QmTunnelPolicy; | |
| IKEEXT_POLICY1 *ikeV2MmPolicy; | |
| IPSEC_DOSP_OPTIONS0 *idpOptions; | |
| }; | |
| UINT64 providerContextId; | |
| } FWPM_PROVIDER_CONTEXT1; | |
| typedef struct FWPM_NET_EVENT_HEADER1_ { | |
| FILETIME timeStamp; | |
| UINT32 flags; | |
| FWP_IP_VERSION ipVersion; | |
| UINT8 ipProtocol; | |
| __C89_NAMELESS union { | |
| UINT32 localAddrV4; | |
| FWP_BYTE_ARRAY16 localAddrV6; | |
| }; | |
| __C89_NAMELESS union { | |
| UINT32 remoteAddrV4; | |
| FWP_BYTE_ARRAY16 remoteAddrV6; | |
| }; | |
| UINT16 localPort; | |
| UINT16 remotePort; | |
| UINT32 scopeId; | |
| FWP_BYTE_BLOB appId; | |
| SID *userId; | |
| __C89_NAMELESS union { | |
| __C89_NAMELESS struct { | |
| FWP_AF addressFamily; | |
| __C89_NAMELESS union { | |
| __C89_NAMELESS struct { | |
| FWP_BYTE_ARRAY6 dstAddrEth; | |
| FWP_BYTE_ARRAY6 srcAddrEth; | |
| DL_ADDRESS_TYPE addrType; | |
| FWP_ETHER_ENCAP_METHOD encapMethod; | |
| UINT16 etherType; | |
| UINT32 snapControl; | |
| UINT32 snapOui; | |
| UINT16 vlanTag; | |
| UINT64 ifLuid; | |
| }; | |
| }; | |
| }; | |
| }; | |
| } FWPM_NET_EVENT_HEADER1; | |
| #define IKEEXT_CERT_HASH_LEN 20 | |
| typedef struct FWPM_NET_EVENT_IKEEXT_MM_FAILURE1_ { | |
| UINT32 failureErrorCode; | |
| IPSEC_FAILURE_POINT failurePoint; | |
| UINT32 flags; | |
| IKEEXT_KEY_MODULE_TYPE keyingModuleType; | |
| IKEEXT_MM_SA_STATE mmState; | |
| IKEEXT_SA_ROLE saRole; | |
| IKEEXT_AUTHENTICATION_METHOD_TYPE mmAuthMethod; | |
| UINT8 endCertHash[IKEEXT_CERT_HASH_LEN]; | |
| UINT64 mmId; | |
| UINT64 mmFilterId; | |
| wchar_t *localPrincipalNameForAuth; | |
| wchar_t *remotePrincipalNameForAuth; | |
| UINT32 numLocalPrincipalGroupSids; | |
| LPWSTR *localPrincipalGroupSids; | |
| UINT32 numRemotePrincipalGroupSids; | |
| LPWSTR *remotePrincipalGroupSids; | |
| } FWPM_NET_EVENT_IKEEXT_MM_FAILURE1; | |
| typedef struct FWPM_NET_EVENT_IKEEXT_EM_FAILURE1_ { | |
| UINT32 failureErrorCode; | |
| IPSEC_FAILURE_POINT failurePoint; | |
| UINT32 flags; | |
| IKEEXT_EM_SA_STATE emState; | |
| IKEEXT_SA_ROLE saRole; | |
| IKEEXT_AUTHENTICATION_METHOD_TYPE emAuthMethod; | |
| UINT8 endCertHash[IKEEXT_CERT_HASH_LEN]; | |
| UINT64 mmId; | |
| UINT64 qmFilterId; | |
| wchar_t *localPrincipalNameForAuth; | |
| wchar_t *remotePrincipalNameForAuth; | |
| UINT32 numLocalPrincipalGroupSids; | |
| LPWSTR *localPrincipalGroupSids; | |
| UINT32 numRemotePrincipalGroupSids; | |
| LPWSTR *remotePrincipalGroupSids; | |
| IPSEC_TRAFFIC_TYPE saTrafficType; | |
| } FWPM_NET_EVENT_IKEEXT_EM_FAILURE1; | |
| typedef struct FWPM_NET_EVENT_CLASSIFY_DROP1_ { | |
| UINT64 filterId; | |
| UINT16 layerId; | |
| UINT32 reauthReason; | |
| UINT32 originalProfile; | |
| UINT32 currentProfile; | |
| UINT32 msFwpDirection; | |
| BOOL isLoopback; | |
| } FWPM_NET_EVENT_CLASSIFY_DROP1; | |
| typedef struct FWPM_NET_EVENT1_ { | |
| FWPM_NET_EVENT_HEADER1 header; | |
| FWPM_NET_EVENT_TYPE type; | |
| __C89_NAMELESS union { | |
| FWPM_NET_EVENT_IKEEXT_MM_FAILURE1 *ikeMmFailure; | |
| FWPM_NET_EVENT_IKEEXT_QM_FAILURE0 *ikeQmFailure; | |
| FWPM_NET_EVENT_IKEEXT_EM_FAILURE1 *ikeEmFailure; | |
| FWPM_NET_EVENT_CLASSIFY_DROP1 *classifyDrop; | |
| FWPM_NET_EVENT_IPSEC_KERNEL_DROP0 *ipsecDrop; | |
| FWPM_NET_EVENT_IPSEC_DOSP_DROP0 *idpDrop; | |
| }; | |
| } FWPM_NET_EVENT1; | |
| typedef struct FWPM_NET_EVENT_SUBSCRIPTION0_ { | |
| FWPM_NET_EVENT_ENUM_TEMPLATE0 *enumTemplate; | |
| UINT32 flags; | |
| GUID sessionKey; | |
| } FWPM_NET_EVENT_SUBSCRIPTION0; | |
| typedef struct FWPM_SYSTEM_PORTS_BY_TYPE0_ { | |
| FWPM_SYSTEM_PORT_TYPE type; | |
| UINT32 numPorts; | |
| UINT16 *ports; | |
| } FWPM_SYSTEM_PORTS_BY_TYPE0; | |
| typedef struct FWPM_SYSTEM_PORTS0_ { | |
| UINT32 numTypes; | |
| FWPM_SYSTEM_PORTS_BY_TYPE0 *types; | |
| } FWPM_SYSTEM_PORTS0; | |
| #endif /*(_WIN32_WINNT >= 0x0601)*/ | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /*_INC_FWPMTYPES*/ |