123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378 |
- cpp_quote("/**")
- cpp_quote(" * This file is part of the mingw-w64 runtime package.")
- cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.")
- cpp_quote(" */")
- cpp_quote("")
- cpp_quote("#include <winapifamily.h>")
- cpp_quote("")
- cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
- cpp_quote("")
- import "wtypes.idl";
- #define FWP_BYTE_ARRAY6_SIZE 6
- #define FWP_V6_ADDR_SIZE (16)
- cpp_quote("#define FWP_BYTE_ARRAY6_SIZE 6")
- cpp_quote("#define FWP_V6_ADDR_SIZE (16)")
- cpp_quote("#define FWP_ACTRL_MATCH_FILTER (1)")
- cpp_quote("")
- cpp_quote("#define FWP_OPTION_VALUE_ALLOW_MULTICAST_STATE (0)")
- cpp_quote("#define FWP_OPTION_VALUE_DENY_MULTICAST_STATE (1)")
- cpp_quote("#define FWP_OPTION_VALUE_ALLOW_GLOBAL_MULTICAST_STATE (2)")
- cpp_quote("")
- cpp_quote("#define FWP_OPTION_VALUE_DISABLE_LOOSE_SOURCE (0)")
- cpp_quote("#define FWP_OPTION_VALUE_ENABLE_LOOSE_SOURCE (1)")
- cpp_quote("")
- cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN8)")
- cpp_quote("#define FWP_OPTION_VALUE_DISABLE_LOCAL_ONLY_MAPPING (0)")
- cpp_quote("#define FWP_OPTION_VALUE_ENABLE_LOCAL_ONLY_MAPPING (1)")
- cpp_quote("#endif")
- cpp_quote("")
- cpp_quote("#define FWP_ACTION_FLAG_TERMINATING (0x00001000)")
- cpp_quote("#define FWP_ACTION_FLAG_NON_TERMINATING (0x00002000)")
- cpp_quote("#define FWP_ACTION_FLAG_CALLOUT (0x00004000)")
- cpp_quote("")
- cpp_quote("#define FWP_ACTION_BLOCK (0x1 | FWP_ACTION_FLAG_TERMINATING)")
- cpp_quote("#define FWP_ACTION_PERMIT (0x2 | FWP_ACTION_FLAG_TERMINATING)")
- cpp_quote("#define FWP_ACTION_CALLOUT_TERMINATING (0x3 | FWP_ACTION_FLAG_CALLOUT | FWP_ACTION_FLAG_TERMINATING)")
- cpp_quote("#define FWP_ACTION_CALLOUT_INSPECTION (0x4 | FWP_ACTION_FLAG_CALLOUT | FWP_ACTION_FLAG_NON_TERMINATING)")
- cpp_quote("#define FWP_ACTION_CALLOUT_UNKNOWN (0x5 | FWP_ACTION_FLAG_CALLOUT)")
- cpp_quote("#define FWP_ACTION_CONTINUE (0x6 | FWP_ACTION_FLAG_NON_TERMINATING)")
- cpp_quote("#define FWP_ACTION_NONE (0x7)")
- cpp_quote("#define FWP_ACTION_NONE_NO_MATCH (0x8)")
- cpp_quote("")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_LOOPBACK (0x00000001)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_IPSEC_SECURED (0x00000002)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_REAUTHORIZE (0x00000004)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_WILDCARD_BIND (0x00000008)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_RAW_ENDPOINT (0x00000010)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_FRAGMENT (0x00000020)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_FRAGMENT_GROUP (0x00000040)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_IPSEC_NATT_RECLASSIFY (0x00000080)")
- cpp_quote("#define FWP_CONDITION_FLAG_REQUIRES_ALE_CLASSIFY (0x00000100)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_IMPLICIT_BIND (0x00000200)")
- cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN6SP1)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_REASSEMBLED (0x00000400)")
- cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN7)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_NAME_APP_SPECIFIED (0x00004000)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_PROMISCUOUS (0x00008000)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_AUTH_FW (0x00010000)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_RECLASSIFY (0x00020000)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_OUTBOUND_PASS_THRU (0x00040000)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_INBOUND_PASS_THRU (0x00080000)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_CONNECTION_REDIRECTED (0x00100000)")
- cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN8)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_PROXY_CONNECTION (0x00200000)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_APPCONTAINER_LOOPBACK (0x00400000)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_NON_APPCONTAINER_LOOPBACK (0x00800000)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_RESERVED (0x01000000)")
- cpp_quote("#define FWP_CONDITION_FLAG_IS_HONORING_POLICY_AUTHORIZE (0x02000000)")
- cpp_quote("#endif")
- cpp_quote("")
- cpp_quote("#define FWP_CONDITION_REAUTHORIZE_REASON_POLICY_CHANGE (0x00000001)")
- cpp_quote("#define FWP_CONDITION_REAUTHORIZE_REASON_NEW_ARRIVAL_INTERFACE (0x00000002)")
- cpp_quote("#define FWP_CONDITION_REAUTHORIZE_REASON_NEW_NEXTHOP_INTERFACE (0x00000004)")
- cpp_quote("#define FWP_CONDITION_REAUTHORIZE_REASON_PROFILE_CROSSING (0x00000008)")
- cpp_quote("#define FWP_CONDITION_REAUTHORIZE_REASON_CLASSIFY_COMPLETION (0x00000010)")
- cpp_quote("#define FWP_CONDITION_REAUTHORIZE_REASON_IPSEC_PROPERTIES_CHANGED (0x00000020)")
- cpp_quote("#define FWP_CONDITION_REAUTHORIZE_REASON_MID_STREAM_INSPECTION (0x00000040)")
- cpp_quote("#define FWP_CONDITION_REAUTHORIZE_REASON_SOCKET_PROPERTY_CHANGED (0x00000080)")
- cpp_quote("#define FWP_CONDITION_REAUTHORIZE_REASON_NEW_INBOUND_MCAST_BCAST_PACKET (0x00000100)")
- cpp_quote("")
- cpp_quote("#define FWP_CONDITION_SOCKET_PROPERTY_FLAG_IS_SYSTEM_PORT_RPC (0x00000001)")
- cpp_quote("#define FWP_CONDITION_SOCKET_PROPERTY_FLAG_ALLOW_EDGE_TRAFFIC (0x00000002)")
- cpp_quote("#define FWP_CONDITION_SOCKET_PROPERTY_FLAG_DENY_EDGE_TRAFFIC (0x00000004)")
- cpp_quote("")
- cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN8)")
- cpp_quote("#define FWP_CONDITION_L2_IS_NATIVE_ETHERNET (0x00000001)")
- cpp_quote("#define FWP_CONDITION_L2_IS_WIFI (0x00000002)")
- cpp_quote("#define FWP_CONDITION_L2_IS_MOBILE_BROADBAND (0x00000004)")
- cpp_quote("#define FWP_CONDITION_L2_IS_WIFI_DIRECT_DATA (0x00000008)")
- cpp_quote("#define FWP_CONDITION_L2_IS_VM2VM (0x00000010)")
- cpp_quote("#define FWP_CONDITION_L2_IS_MALFORMED_PACKET (0x00000020)")
- cpp_quote("#define FWP_CONDITION_L2_IS_IP_FRAGMENT_GROUP (0x00000040)")
- cpp_quote("#define FWP_CONDITION_L2_IF_CONNECTOR_PRESENT (0x00000080)")
- cpp_quote("#endif")
- cpp_quote("#endif")
- cpp_quote("#endif")
- cpp_quote("")
- cpp_quote("#define FWP_FILTER_ENUM_FLAG_BEST_TERMINATING_MATCH (0x00000001)")
- cpp_quote("#define FWP_FILTER_ENUM_FLAG_SORTED (0x00000002)")
- cpp_quote("#define FWP_FILTER_ENUM_FLAG_BOOTTIME_ONLY (0x00000004)")
- cpp_quote("#define FWP_FILTER_ENUM_FLAG_INCLUDE_BOOTTIME (0x00000008)")
- cpp_quote("#define FWP_FILTER_ENUM_FLAG_INCLUDE_DISABLED (0x00000010)")
- cpp_quote("")
- cpp_quote("#define FWP_FILTER_ENUM_VALID_FLAGS (FWP_FILTER_ENUM_FLAG_BEST_TERMINATING_MATCH | FWP_FILTER_ENUM_FLAG_SORTED)")
- cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN8)")
- cpp_quote("#define FWP_FILTER_ENUM_FLAG_RESERVED1 (0x00000020)")
- cpp_quote("#endif")
- cpp_quote("")
- cpp_quote("#define FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW (0x00000001)")
- cpp_quote("#define FWP_CALLOUT_FLAG_ALLOW_OFFLOAD (0x00000002)")
- cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN7)")
- cpp_quote("#define FWP_CALLOUT_FLAG_ENABLE_COMMIT_ADD_NOTIFY (0x00000004)")
- cpp_quote("#define FWP_CALLOUT_FLAG_ALLOW_MID_STREAM_INSPECTION (0x00000008)")
- cpp_quote("#define FWP_CALLOUT_FLAG_ALLOW_RECLASSIFY (0x00000010)")
- cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN8)")
- cpp_quote("#define FWP_CALLOUT_FLAG_RESERVED1 (0x00000020)")
- cpp_quote("#define FWP_CALLOUT_FLAG_ALLOW_RSC (0x00000040)")
- cpp_quote("#define FWP_CALLOUT_FLAG_ALLOW_L2_BATCH_CLASSIFY (0x00000080)")
- cpp_quote("#endif")
- cpp_quote("#endif")
- cpp_quote("#ifdef __midl")
- typedef struct _LUID {
- DWORD LowPart;
- LONG HighPart;
- } LUID, *PLUID;
- cpp_quote("#endif")
- cpp_quote("")
- typedef UINT32 FWP_ACTION_TYPE;
- cpp_quote("")
- cpp_quote("")
- typedef [v1_enum] enum FWP_DIRECTION_ {
- FWP_DIRECTION_OUTBOUND, FWP_DIRECTION_INBOUND, FWP_DIRECTION_MAX
- } FWP_DIRECTION;
- cpp_quote("")
- typedef [v1_enum] enum FWP_IP_VERSION_ {
- FWP_IP_VERSION_V4, FWP_IP_VERSION_V6, FWP_IP_VERSION_NONE, FWP_IP_VERSION_MAX
- } FWP_IP_VERSION;
- cpp_quote("")
- typedef [v1_enum] enum FWP_NE_FAMILY_ {
- FWP_AF_INET = FWP_IP_VERSION_V4, FWP_AF_INET6 = FWP_IP_VERSION_V6,
- FWP_AF_ETHER = FWP_IP_VERSION_NONE, FWP_AF_NONE
- } FWP_AF;
- cpp_quote("")
- typedef [v1_enum] enum FWP_ETHER_ENCAP_METHOD_ {
- FWP_ETHER_ENCAP_METHOD_ETHER_V2 = 0, FWP_ETHER_ENCAP_METHOD_SNAP = 1,
- FWP_ETHER_ENCAP_METHOD_SNAP_W_OUI_ZERO = 3
- } FWP_ETHER_ENCAP_METHOD;
- cpp_quote("")
- typedef [v1_enum] enum FWP_DATA_TYPE_ {
- FWP_EMPTY, FWP_UINT8, FWP_UINT16, FWP_UINT32, FWP_UINT64,
- FWP_INT8, FWP_INT16, FWP_INT32, FWP_INT64,
- FWP_FLOAT, FWP_DOUBLE,
- FWP_BYTE_ARRAY16_TYPE, FWP_BYTE_BLOB_TYPE, FWP_SID,
- FWP_SECURITY_DESCRIPTOR_TYPE, FWP_TOKEN_INFORMATION_TYPE,
- FWP_TOKEN_ACCESS_INFORMATION_TYPE, FWP_UNICODE_STRING_TYPE,
- FWP_BYTE_ARRAY6_TYPE, FWP_SINGLE_DATA_TYPE_MAX = 0xff,
- FWP_V4_ADDR_MASK, FWP_V6_ADDR_MASK, FWP_RANGE_TYPE, FWP_DATA_TYPE_MAX
- } FWP_DATA_TYPE;
- cpp_quote("")
- typedef [v1_enum] enum FWP_MATCH_TYPE_ {
- FWP_MATCH_EQUAL, FWP_MATCH_GREATER,
- FWP_MATCH_LESS, FWP_MATCH_GREATER_OR_EQUAL,
- FWP_MATCH_LESS_OR_EQUAL, FWP_MATCH_RANGE,
- FWP_MATCH_FLAGS_ALL_SET, FWP_MATCH_FLAGS_ANY_SET,
- FWP_MATCH_FLAGS_NONE_SET, FWP_MATCH_EQUAL_CASE_INSENSITIVE,
- FWP_MATCH_NOT_EQUAL, FWP_MATCH_TYPE_MAX
- } FWP_MATCH_TYPE;
- cpp_quote("")
- cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN8)")
- typedef [v1_enum] enum FWP_VSWITCH_NETWORK_TYPE_ {
- FWP_VSWITCH_NETWORK_TYPE_UNKNOWN, FWP_VSWITCH_NETWORK_TYPE_PRIVATE,
- FWP_VSWITCH_NETWORK_TYPE_INTERNAL, FWP_VSWITCH_NETWORK_TYPE_EXTERNAL
- } FWP_VSWITCH_NETWORK_TYPE;
- cpp_quote("#endif")
- cpp_quote("")
- typedef [v1_enum] enum FWP_CLASSIFY_OPTION_TYPE_ {
- FWP_CLASSIFY_OPTION_MULTICAST_STATE, FWP_CLASSIFY_OPTION_LOOSE_SOURCE_MAPPING,
- FWP_CLASSIFY_OPTION_UNICAST_LIFETIME, FWP_CLASSIFY_OPTION_MCAST_BCAST_LIFETIME,
- FWP_CLASSIFY_OPTION_SECURE_SOCKET_SECURITY_FLAGS, FWP_CLASSIFY_OPTION_SECURE_SOCKET_AUTHIP_MM_POLICY_KEY,
- FWP_CLASSIFY_OPTION_SECURE_SOCKET_AUTHIP_QM_POLICY_KEY, FWP_CLASSIFY_OPTION_LOCAL_ONLY_MAPPING,
- FWP_CLASSIFY_OPTION_MAX
- } FWP_CLASSIFY_OPTION_TYPE;
- cpp_quote("")
- typedef [v1_enum] enum FWP_FILTER_ENUM_TYPE_ {
- FWP_FILTER_ENUM_FULLY_CONTAINED, FWP_FILTER_ENUM_OVERLAPPING, FWP_FILTER_ENUM_TYPE_MAX
- } FWP_FILTER_ENUM_TYPE;
- cpp_quote("")
- typedef struct FWP_BYTE_ARRAY6_ {
- UINT8 byteArray6[6];
- } FWP_BYTE_ARRAY6;
- cpp_quote("")
- typedef struct FWP_BYTE_ARRAY16_ {
- UINT8 byteArray16[16];
- } FWP_BYTE_ARRAY16;
- cpp_quote("")
- typedef struct FWP_BYTE_BLOB_ {
- UINT32 size;
- [size_is(size), unique] UINT8 *data;
- } FWP_BYTE_BLOB;
- cpp_quote("")
- typedef struct FWP_TOKEN_INFORMATION_ {
- ULONG sidCount;
- [size_is(sidCount)] PSID_AND_ATTRIBUTES sids;
- ULONG restrictedSidCount;
- [size_is(restrictedSidCount)] PSID_AND_ATTRIBUTES restrictedSids;
- } FWP_TOKEN_INFORMATION;
- cpp_quote("")
- typedef struct FWP_VALUE0_ {
- FWP_DATA_TYPE type;
- [switch_type(FWP_DATA_TYPE), switch_is(type)]
- union {
- [case(FWP_EMPTY)]
- ;
- [case(FWP_UINT8)]
- UINT8 uint8;
- [case(FWP_UINT16)]
- UINT16 uint16;
- [case(FWP_UINT32)]
- UINT32 uint32;
- [case(FWP_UINT64)]
- [unique] UINT64 *uint64;
- [case(FWP_INT8)]
- INT8 int8;
- [case(FWP_INT16)]
- INT16 int16;
- [case(FWP_INT32)]
- INT32 int32;
- [case(FWP_INT64)]
- [unique] INT64 *int64;
- [case(FWP_FLOAT)]
- float float32;
- [case(FWP_DOUBLE)]
- [unique] double *double64;
- [case(FWP_BYTE_ARRAY16_TYPE)]
- [unique] FWP_BYTE_ARRAY16 *byteArray16;
- [case(FWP_BYTE_BLOB_TYPE)]
- [unique] FWP_BYTE_BLOB *byteBlob;
- [case(FWP_SID)]
- [unique] SID *sid;
- [case(FWP_SECURITY_DESCRIPTOR_TYPE)]
- [unique] FWP_BYTE_BLOB *sd;
- [case(FWP_TOKEN_INFORMATION_TYPE)]
- [unique] FWP_TOKEN_INFORMATION *tokenInformation;
- [case(FWP_TOKEN_ACCESS_INFORMATION_TYPE)]
- [unique] FWP_BYTE_BLOB *tokenAccessInformation;
- [case(FWP_UNICODE_STRING_TYPE)]
- [string] LPWSTR unicodeString;
- [case(FWP_BYTE_ARRAY6_TYPE)]
- [unique] FWP_BYTE_ARRAY6 *byteArray6;
- };
- } FWP_VALUE0;
- cpp_quote("")
- typedef struct FWP_V4_ADDR_AND_MASK_ {
- UINT32 addr;
- UINT32 mask;
- } FWP_V4_ADDR_AND_MASK;
- cpp_quote("")
- typedef struct FWP_V6_ADDR_AND_MASK_ {
- UINT8 addr[FWP_V6_ADDR_SIZE];
- UINT8 prefixLength;
- } FWP_V6_ADDR_AND_MASK;
- cpp_quote("")
- typedef struct FWP_RANGE0_ {
- FWP_VALUE0 valueLow;
- FWP_VALUE0 valueHigh;
- } FWP_RANGE0;
- cpp_quote("")
- typedef struct FWP_CONDITION_VALUE0_ {
- FWP_DATA_TYPE type;
- [switch_type(FWP_DATA_TYPE), switch_is(type)]
- union {
- [case(FWP_EMPTY)]
- ;
- [case(FWP_UINT8)]
- UINT8 uint8;
- [case(FWP_UINT16)]
- UINT16 uint16;
- [case(FWP_UINT32)]
- UINT32 uint32;
- [case(FWP_UINT64)]
- [unique] UINT64 *uint64;
- [case(FWP_INT8)]
- INT8 int8;
- [case(FWP_INT16)]
- INT16 int16;
- [case(FWP_INT32)]
- INT32 int32;
- [case(FWP_INT64)]
- [unique] INT64 *int64;
- [case(FWP_FLOAT)]
- float float32;
- [case(FWP_DOUBLE)]
- [unique] double *double64;
- [case(FWP_BYTE_ARRAY16_TYPE)]
- [unique] FWP_BYTE_ARRAY16 *byteArray16;
- [case(FWP_BYTE_BLOB_TYPE)]
- [unique] FWP_BYTE_BLOB *byteBlob;
- [case(FWP_SID)]
- [unique] SID *sid;
- [case(FWP_SECURITY_DESCRIPTOR_TYPE)]
- [unique] FWP_BYTE_BLOB *sd;
- [case(FWP_TOKEN_INFORMATION_TYPE)]
- [unique] FWP_TOKEN_INFORMATION *tokenInformation;
- [case(FWP_TOKEN_ACCESS_INFORMATION_TYPE)]
- [unique] FWP_BYTE_BLOB *tokenAccessInformation;
- [case(FWP_UNICODE_STRING_TYPE)]
- [string] LPWSTR unicodeString;
- [case(FWP_BYTE_ARRAY6_TYPE)]
- [unique] FWP_BYTE_ARRAY6 *byteArray6;
- [case(FWP_V4_ADDR_MASK)]
- [unique] FWP_V4_ADDR_AND_MASK *v4AddrMask;
- [case(FWP_V6_ADDR_MASK)]
- [unique] FWP_V6_ADDR_AND_MASK *v6AddrMask;
- [case(FWP_RANGE_TYPE)]
- [unique] FWP_RANGE0 *rangeValue;
- };
- } FWP_CONDITION_VALUE0;
- cpp_quote("")
- cpp_quote("#endif /* WINAPI_PARTITION_DESKTOP. */")
|