fwptypes.idl 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378
  1. cpp_quote("/**")
  2. cpp_quote(" * This file is part of the mingw-w64 runtime package.")
  3. cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.")
  4. cpp_quote(" */")
  5. cpp_quote("")
  6. cpp_quote("#include <winapifamily.h>")
  7. cpp_quote("")
  8. cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
  9. cpp_quote("")
  10. import "wtypes.idl";
  11. #define FWP_BYTE_ARRAY6_SIZE 6
  12. #define FWP_V6_ADDR_SIZE (16)
  13. cpp_quote("#define FWP_BYTE_ARRAY6_SIZE 6")
  14. cpp_quote("#define FWP_V6_ADDR_SIZE (16)")
  15. cpp_quote("#define FWP_ACTRL_MATCH_FILTER (1)")
  16. cpp_quote("")
  17. cpp_quote("#define FWP_OPTION_VALUE_ALLOW_MULTICAST_STATE (0)")
  18. cpp_quote("#define FWP_OPTION_VALUE_DENY_MULTICAST_STATE (1)")
  19. cpp_quote("#define FWP_OPTION_VALUE_ALLOW_GLOBAL_MULTICAST_STATE (2)")
  20. cpp_quote("")
  21. cpp_quote("#define FWP_OPTION_VALUE_DISABLE_LOOSE_SOURCE (0)")
  22. cpp_quote("#define FWP_OPTION_VALUE_ENABLE_LOOSE_SOURCE (1)")
  23. cpp_quote("")
  24. cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN8)")
  25. cpp_quote("#define FWP_OPTION_VALUE_DISABLE_LOCAL_ONLY_MAPPING (0)")
  26. cpp_quote("#define FWP_OPTION_VALUE_ENABLE_LOCAL_ONLY_MAPPING (1)")
  27. cpp_quote("#endif")
  28. cpp_quote("")
  29. cpp_quote("#define FWP_ACTION_FLAG_TERMINATING (0x00001000)")
  30. cpp_quote("#define FWP_ACTION_FLAG_NON_TERMINATING (0x00002000)")
  31. cpp_quote("#define FWP_ACTION_FLAG_CALLOUT (0x00004000)")
  32. cpp_quote("")
  33. cpp_quote("#define FWP_ACTION_BLOCK (0x1 | FWP_ACTION_FLAG_TERMINATING)")
  34. cpp_quote("#define FWP_ACTION_PERMIT (0x2 | FWP_ACTION_FLAG_TERMINATING)")
  35. cpp_quote("#define FWP_ACTION_CALLOUT_TERMINATING (0x3 | FWP_ACTION_FLAG_CALLOUT | FWP_ACTION_FLAG_TERMINATING)")
  36. cpp_quote("#define FWP_ACTION_CALLOUT_INSPECTION (0x4 | FWP_ACTION_FLAG_CALLOUT | FWP_ACTION_FLAG_NON_TERMINATING)")
  37. cpp_quote("#define FWP_ACTION_CALLOUT_UNKNOWN (0x5 | FWP_ACTION_FLAG_CALLOUT)")
  38. cpp_quote("#define FWP_ACTION_CONTINUE (0x6 | FWP_ACTION_FLAG_NON_TERMINATING)")
  39. cpp_quote("#define FWP_ACTION_NONE (0x7)")
  40. cpp_quote("#define FWP_ACTION_NONE_NO_MATCH (0x8)")
  41. cpp_quote("")
  42. cpp_quote("#define FWP_CONDITION_FLAG_IS_LOOPBACK (0x00000001)")
  43. cpp_quote("#define FWP_CONDITION_FLAG_IS_IPSEC_SECURED (0x00000002)")
  44. cpp_quote("#define FWP_CONDITION_FLAG_IS_REAUTHORIZE (0x00000004)")
  45. cpp_quote("#define FWP_CONDITION_FLAG_IS_WILDCARD_BIND (0x00000008)")
  46. cpp_quote("#define FWP_CONDITION_FLAG_IS_RAW_ENDPOINT (0x00000010)")
  47. cpp_quote("#define FWP_CONDITION_FLAG_IS_FRAGMENT (0x00000020)")
  48. cpp_quote("#define FWP_CONDITION_FLAG_IS_FRAGMENT_GROUP (0x00000040)")
  49. cpp_quote("#define FWP_CONDITION_FLAG_IS_IPSEC_NATT_RECLASSIFY (0x00000080)")
  50. cpp_quote("#define FWP_CONDITION_FLAG_REQUIRES_ALE_CLASSIFY (0x00000100)")
  51. cpp_quote("#define FWP_CONDITION_FLAG_IS_IMPLICIT_BIND (0x00000200)")
  52. cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN6SP1)")
  53. cpp_quote("#define FWP_CONDITION_FLAG_IS_REASSEMBLED (0x00000400)")
  54. cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN7)")
  55. cpp_quote("#define FWP_CONDITION_FLAG_IS_NAME_APP_SPECIFIED (0x00004000)")
  56. cpp_quote("#define FWP_CONDITION_FLAG_IS_PROMISCUOUS (0x00008000)")
  57. cpp_quote("#define FWP_CONDITION_FLAG_IS_AUTH_FW (0x00010000)")
  58. cpp_quote("#define FWP_CONDITION_FLAG_IS_RECLASSIFY (0x00020000)")
  59. cpp_quote("#define FWP_CONDITION_FLAG_IS_OUTBOUND_PASS_THRU (0x00040000)")
  60. cpp_quote("#define FWP_CONDITION_FLAG_IS_INBOUND_PASS_THRU (0x00080000)")
  61. cpp_quote("#define FWP_CONDITION_FLAG_IS_CONNECTION_REDIRECTED (0x00100000)")
  62. cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN8)")
  63. cpp_quote("#define FWP_CONDITION_FLAG_IS_PROXY_CONNECTION (0x00200000)")
  64. cpp_quote("#define FWP_CONDITION_FLAG_IS_APPCONTAINER_LOOPBACK (0x00400000)")
  65. cpp_quote("#define FWP_CONDITION_FLAG_IS_NON_APPCONTAINER_LOOPBACK (0x00800000)")
  66. cpp_quote("#define FWP_CONDITION_FLAG_IS_RESERVED (0x01000000)")
  67. cpp_quote("#define FWP_CONDITION_FLAG_IS_HONORING_POLICY_AUTHORIZE (0x02000000)")
  68. cpp_quote("#endif")
  69. cpp_quote("")
  70. cpp_quote("#define FWP_CONDITION_REAUTHORIZE_REASON_POLICY_CHANGE (0x00000001)")
  71. cpp_quote("#define FWP_CONDITION_REAUTHORIZE_REASON_NEW_ARRIVAL_INTERFACE (0x00000002)")
  72. cpp_quote("#define FWP_CONDITION_REAUTHORIZE_REASON_NEW_NEXTHOP_INTERFACE (0x00000004)")
  73. cpp_quote("#define FWP_CONDITION_REAUTHORIZE_REASON_PROFILE_CROSSING (0x00000008)")
  74. cpp_quote("#define FWP_CONDITION_REAUTHORIZE_REASON_CLASSIFY_COMPLETION (0x00000010)")
  75. cpp_quote("#define FWP_CONDITION_REAUTHORIZE_REASON_IPSEC_PROPERTIES_CHANGED (0x00000020)")
  76. cpp_quote("#define FWP_CONDITION_REAUTHORIZE_REASON_MID_STREAM_INSPECTION (0x00000040)")
  77. cpp_quote("#define FWP_CONDITION_REAUTHORIZE_REASON_SOCKET_PROPERTY_CHANGED (0x00000080)")
  78. cpp_quote("#define FWP_CONDITION_REAUTHORIZE_REASON_NEW_INBOUND_MCAST_BCAST_PACKET (0x00000100)")
  79. cpp_quote("")
  80. cpp_quote("#define FWP_CONDITION_SOCKET_PROPERTY_FLAG_IS_SYSTEM_PORT_RPC (0x00000001)")
  81. cpp_quote("#define FWP_CONDITION_SOCKET_PROPERTY_FLAG_ALLOW_EDGE_TRAFFIC (0x00000002)")
  82. cpp_quote("#define FWP_CONDITION_SOCKET_PROPERTY_FLAG_DENY_EDGE_TRAFFIC (0x00000004)")
  83. cpp_quote("")
  84. cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN8)")
  85. cpp_quote("#define FWP_CONDITION_L2_IS_NATIVE_ETHERNET (0x00000001)")
  86. cpp_quote("#define FWP_CONDITION_L2_IS_WIFI (0x00000002)")
  87. cpp_quote("#define FWP_CONDITION_L2_IS_MOBILE_BROADBAND (0x00000004)")
  88. cpp_quote("#define FWP_CONDITION_L2_IS_WIFI_DIRECT_DATA (0x00000008)")
  89. cpp_quote("#define FWP_CONDITION_L2_IS_VM2VM (0x00000010)")
  90. cpp_quote("#define FWP_CONDITION_L2_IS_MALFORMED_PACKET (0x00000020)")
  91. cpp_quote("#define FWP_CONDITION_L2_IS_IP_FRAGMENT_GROUP (0x00000040)")
  92. cpp_quote("#define FWP_CONDITION_L2_IF_CONNECTOR_PRESENT (0x00000080)")
  93. cpp_quote("#endif")
  94. cpp_quote("#endif")
  95. cpp_quote("#endif")
  96. cpp_quote("")
  97. cpp_quote("#define FWP_FILTER_ENUM_FLAG_BEST_TERMINATING_MATCH (0x00000001)")
  98. cpp_quote("#define FWP_FILTER_ENUM_FLAG_SORTED (0x00000002)")
  99. cpp_quote("#define FWP_FILTER_ENUM_FLAG_BOOTTIME_ONLY (0x00000004)")
  100. cpp_quote("#define FWP_FILTER_ENUM_FLAG_INCLUDE_BOOTTIME (0x00000008)")
  101. cpp_quote("#define FWP_FILTER_ENUM_FLAG_INCLUDE_DISABLED (0x00000010)")
  102. cpp_quote("")
  103. cpp_quote("#define FWP_FILTER_ENUM_VALID_FLAGS (FWP_FILTER_ENUM_FLAG_BEST_TERMINATING_MATCH | FWP_FILTER_ENUM_FLAG_SORTED)")
  104. cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN8)")
  105. cpp_quote("#define FWP_FILTER_ENUM_FLAG_RESERVED1 (0x00000020)")
  106. cpp_quote("#endif")
  107. cpp_quote("")
  108. cpp_quote("#define FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW (0x00000001)")
  109. cpp_quote("#define FWP_CALLOUT_FLAG_ALLOW_OFFLOAD (0x00000002)")
  110. cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN7)")
  111. cpp_quote("#define FWP_CALLOUT_FLAG_ENABLE_COMMIT_ADD_NOTIFY (0x00000004)")
  112. cpp_quote("#define FWP_CALLOUT_FLAG_ALLOW_MID_STREAM_INSPECTION (0x00000008)")
  113. cpp_quote("#define FWP_CALLOUT_FLAG_ALLOW_RECLASSIFY (0x00000010)")
  114. cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN8)")
  115. cpp_quote("#define FWP_CALLOUT_FLAG_RESERVED1 (0x00000020)")
  116. cpp_quote("#define FWP_CALLOUT_FLAG_ALLOW_RSC (0x00000040)")
  117. cpp_quote("#define FWP_CALLOUT_FLAG_ALLOW_L2_BATCH_CLASSIFY (0x00000080)")
  118. cpp_quote("#endif")
  119. cpp_quote("#endif")
  120. cpp_quote("#ifdef __midl")
  121. typedef struct _LUID {
  122. DWORD LowPart;
  123. LONG HighPart;
  124. } LUID, *PLUID;
  125. cpp_quote("#endif")
  126. cpp_quote("")
  127. typedef UINT32 FWP_ACTION_TYPE;
  128. cpp_quote("")
  129. cpp_quote("")
  130. typedef [v1_enum] enum FWP_DIRECTION_ {
  131. FWP_DIRECTION_OUTBOUND, FWP_DIRECTION_INBOUND, FWP_DIRECTION_MAX
  132. } FWP_DIRECTION;
  133. cpp_quote("")
  134. typedef [v1_enum] enum FWP_IP_VERSION_ {
  135. FWP_IP_VERSION_V4, FWP_IP_VERSION_V6, FWP_IP_VERSION_NONE, FWP_IP_VERSION_MAX
  136. } FWP_IP_VERSION;
  137. cpp_quote("")
  138. typedef [v1_enum] enum FWP_NE_FAMILY_ {
  139. FWP_AF_INET = FWP_IP_VERSION_V4, FWP_AF_INET6 = FWP_IP_VERSION_V6,
  140. FWP_AF_ETHER = FWP_IP_VERSION_NONE, FWP_AF_NONE
  141. } FWP_AF;
  142. cpp_quote("")
  143. typedef [v1_enum] enum FWP_ETHER_ENCAP_METHOD_ {
  144. FWP_ETHER_ENCAP_METHOD_ETHER_V2 = 0, FWP_ETHER_ENCAP_METHOD_SNAP = 1,
  145. FWP_ETHER_ENCAP_METHOD_SNAP_W_OUI_ZERO = 3
  146. } FWP_ETHER_ENCAP_METHOD;
  147. cpp_quote("")
  148. typedef [v1_enum] enum FWP_DATA_TYPE_ {
  149. FWP_EMPTY, FWP_UINT8, FWP_UINT16, FWP_UINT32, FWP_UINT64,
  150. FWP_INT8, FWP_INT16, FWP_INT32, FWP_INT64,
  151. FWP_FLOAT, FWP_DOUBLE,
  152. FWP_BYTE_ARRAY16_TYPE, FWP_BYTE_BLOB_TYPE, FWP_SID,
  153. FWP_SECURITY_DESCRIPTOR_TYPE, FWP_TOKEN_INFORMATION_TYPE,
  154. FWP_TOKEN_ACCESS_INFORMATION_TYPE, FWP_UNICODE_STRING_TYPE,
  155. FWP_BYTE_ARRAY6_TYPE, FWP_SINGLE_DATA_TYPE_MAX = 0xff,
  156. FWP_V4_ADDR_MASK, FWP_V6_ADDR_MASK, FWP_RANGE_TYPE, FWP_DATA_TYPE_MAX
  157. } FWP_DATA_TYPE;
  158. cpp_quote("")
  159. typedef [v1_enum] enum FWP_MATCH_TYPE_ {
  160. FWP_MATCH_EQUAL, FWP_MATCH_GREATER,
  161. FWP_MATCH_LESS, FWP_MATCH_GREATER_OR_EQUAL,
  162. FWP_MATCH_LESS_OR_EQUAL, FWP_MATCH_RANGE,
  163. FWP_MATCH_FLAGS_ALL_SET, FWP_MATCH_FLAGS_ANY_SET,
  164. FWP_MATCH_FLAGS_NONE_SET, FWP_MATCH_EQUAL_CASE_INSENSITIVE,
  165. FWP_MATCH_NOT_EQUAL, FWP_MATCH_TYPE_MAX
  166. } FWP_MATCH_TYPE;
  167. cpp_quote("")
  168. cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN8)")
  169. typedef [v1_enum] enum FWP_VSWITCH_NETWORK_TYPE_ {
  170. FWP_VSWITCH_NETWORK_TYPE_UNKNOWN, FWP_VSWITCH_NETWORK_TYPE_PRIVATE,
  171. FWP_VSWITCH_NETWORK_TYPE_INTERNAL, FWP_VSWITCH_NETWORK_TYPE_EXTERNAL
  172. } FWP_VSWITCH_NETWORK_TYPE;
  173. cpp_quote("#endif")
  174. cpp_quote("")
  175. typedef [v1_enum] enum FWP_CLASSIFY_OPTION_TYPE_ {
  176. FWP_CLASSIFY_OPTION_MULTICAST_STATE, FWP_CLASSIFY_OPTION_LOOSE_SOURCE_MAPPING,
  177. FWP_CLASSIFY_OPTION_UNICAST_LIFETIME, FWP_CLASSIFY_OPTION_MCAST_BCAST_LIFETIME,
  178. FWP_CLASSIFY_OPTION_SECURE_SOCKET_SECURITY_FLAGS, FWP_CLASSIFY_OPTION_SECURE_SOCKET_AUTHIP_MM_POLICY_KEY,
  179. FWP_CLASSIFY_OPTION_SECURE_SOCKET_AUTHIP_QM_POLICY_KEY, FWP_CLASSIFY_OPTION_LOCAL_ONLY_MAPPING,
  180. FWP_CLASSIFY_OPTION_MAX
  181. } FWP_CLASSIFY_OPTION_TYPE;
  182. cpp_quote("")
  183. typedef [v1_enum] enum FWP_FILTER_ENUM_TYPE_ {
  184. FWP_FILTER_ENUM_FULLY_CONTAINED, FWP_FILTER_ENUM_OVERLAPPING, FWP_FILTER_ENUM_TYPE_MAX
  185. } FWP_FILTER_ENUM_TYPE;
  186. cpp_quote("")
  187. typedef struct FWP_BYTE_ARRAY6_ {
  188. UINT8 byteArray6[6];
  189. } FWP_BYTE_ARRAY6;
  190. cpp_quote("")
  191. typedef struct FWP_BYTE_ARRAY16_ {
  192. UINT8 byteArray16[16];
  193. } FWP_BYTE_ARRAY16;
  194. cpp_quote("")
  195. typedef struct FWP_BYTE_BLOB_ {
  196. UINT32 size;
  197. [size_is(size), unique] UINT8 *data;
  198. } FWP_BYTE_BLOB;
  199. cpp_quote("")
  200. typedef struct FWP_TOKEN_INFORMATION_ {
  201. ULONG sidCount;
  202. [size_is(sidCount)] PSID_AND_ATTRIBUTES sids;
  203. ULONG restrictedSidCount;
  204. [size_is(restrictedSidCount)] PSID_AND_ATTRIBUTES restrictedSids;
  205. } FWP_TOKEN_INFORMATION;
  206. cpp_quote("")
  207. typedef struct FWP_VALUE0_ {
  208. FWP_DATA_TYPE type;
  209. [switch_type(FWP_DATA_TYPE), switch_is(type)]
  210. union {
  211. [case(FWP_EMPTY)]
  212. ;
  213. [case(FWP_UINT8)]
  214. UINT8 uint8;
  215. [case(FWP_UINT16)]
  216. UINT16 uint16;
  217. [case(FWP_UINT32)]
  218. UINT32 uint32;
  219. [case(FWP_UINT64)]
  220. [unique] UINT64 *uint64;
  221. [case(FWP_INT8)]
  222. INT8 int8;
  223. [case(FWP_INT16)]
  224. INT16 int16;
  225. [case(FWP_INT32)]
  226. INT32 int32;
  227. [case(FWP_INT64)]
  228. [unique] INT64 *int64;
  229. [case(FWP_FLOAT)]
  230. float float32;
  231. [case(FWP_DOUBLE)]
  232. [unique] double *double64;
  233. [case(FWP_BYTE_ARRAY16_TYPE)]
  234. [unique] FWP_BYTE_ARRAY16 *byteArray16;
  235. [case(FWP_BYTE_BLOB_TYPE)]
  236. [unique] FWP_BYTE_BLOB *byteBlob;
  237. [case(FWP_SID)]
  238. [unique] SID *sid;
  239. [case(FWP_SECURITY_DESCRIPTOR_TYPE)]
  240. [unique] FWP_BYTE_BLOB *sd;
  241. [case(FWP_TOKEN_INFORMATION_TYPE)]
  242. [unique] FWP_TOKEN_INFORMATION *tokenInformation;
  243. [case(FWP_TOKEN_ACCESS_INFORMATION_TYPE)]
  244. [unique] FWP_BYTE_BLOB *tokenAccessInformation;
  245. [case(FWP_UNICODE_STRING_TYPE)]
  246. [string] LPWSTR unicodeString;
  247. [case(FWP_BYTE_ARRAY6_TYPE)]
  248. [unique] FWP_BYTE_ARRAY6 *byteArray6;
  249. };
  250. } FWP_VALUE0;
  251. cpp_quote("")
  252. typedef struct FWP_V4_ADDR_AND_MASK_ {
  253. UINT32 addr;
  254. UINT32 mask;
  255. } FWP_V4_ADDR_AND_MASK;
  256. cpp_quote("")
  257. typedef struct FWP_V6_ADDR_AND_MASK_ {
  258. UINT8 addr[FWP_V6_ADDR_SIZE];
  259. UINT8 prefixLength;
  260. } FWP_V6_ADDR_AND_MASK;
  261. cpp_quote("")
  262. typedef struct FWP_RANGE0_ {
  263. FWP_VALUE0 valueLow;
  264. FWP_VALUE0 valueHigh;
  265. } FWP_RANGE0;
  266. cpp_quote("")
  267. typedef struct FWP_CONDITION_VALUE0_ {
  268. FWP_DATA_TYPE type;
  269. [switch_type(FWP_DATA_TYPE), switch_is(type)]
  270. union {
  271. [case(FWP_EMPTY)]
  272. ;
  273. [case(FWP_UINT8)]
  274. UINT8 uint8;
  275. [case(FWP_UINT16)]
  276. UINT16 uint16;
  277. [case(FWP_UINT32)]
  278. UINT32 uint32;
  279. [case(FWP_UINT64)]
  280. [unique] UINT64 *uint64;
  281. [case(FWP_INT8)]
  282. INT8 int8;
  283. [case(FWP_INT16)]
  284. INT16 int16;
  285. [case(FWP_INT32)]
  286. INT32 int32;
  287. [case(FWP_INT64)]
  288. [unique] INT64 *int64;
  289. [case(FWP_FLOAT)]
  290. float float32;
  291. [case(FWP_DOUBLE)]
  292. [unique] double *double64;
  293. [case(FWP_BYTE_ARRAY16_TYPE)]
  294. [unique] FWP_BYTE_ARRAY16 *byteArray16;
  295. [case(FWP_BYTE_BLOB_TYPE)]
  296. [unique] FWP_BYTE_BLOB *byteBlob;
  297. [case(FWP_SID)]
  298. [unique] SID *sid;
  299. [case(FWP_SECURITY_DESCRIPTOR_TYPE)]
  300. [unique] FWP_BYTE_BLOB *sd;
  301. [case(FWP_TOKEN_INFORMATION_TYPE)]
  302. [unique] FWP_TOKEN_INFORMATION *tokenInformation;
  303. [case(FWP_TOKEN_ACCESS_INFORMATION_TYPE)]
  304. [unique] FWP_BYTE_BLOB *tokenAccessInformation;
  305. [case(FWP_UNICODE_STRING_TYPE)]
  306. [string] LPWSTR unicodeString;
  307. [case(FWP_BYTE_ARRAY6_TYPE)]
  308. [unique] FWP_BYTE_ARRAY6 *byteArray6;
  309. [case(FWP_V4_ADDR_MASK)]
  310. [unique] FWP_V4_ADDR_AND_MASK *v4AddrMask;
  311. [case(FWP_V6_ADDR_MASK)]
  312. [unique] FWP_V6_ADDR_AND_MASK *v6AddrMask;
  313. [case(FWP_RANGE_TYPE)]
  314. [unique] FWP_RANGE0 *rangeValue;
  315. };
  316. } FWP_CONDITION_VALUE0;
  317. cpp_quote("")
  318. cpp_quote("#endif /* WINAPI_PARTITION_DESKTOP. */")