source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/fwptypes.h

Last change on this file was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

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