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
|
---|
26 | extern "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
|
---|
146 | typedef struct _LUID {
|
---|
147 | DWORD LowPart;
|
---|
148 | LONG HighPart;
|
---|
149 | } LUID;
|
---|
150 | typedef struct _LUID *PLUID;
|
---|
151 | #endif
|
---|
152 |
|
---|
153 | typedef UINT32 FWP_ACTION_TYPE;
|
---|
154 |
|
---|
155 |
|
---|
156 | typedef enum FWP_DIRECTION_ {
|
---|
157 | FWP_DIRECTION_OUTBOUND = 0,
|
---|
158 | FWP_DIRECTION_INBOUND = 1,
|
---|
159 | FWP_DIRECTION_MAX = 2
|
---|
160 | } FWP_DIRECTION;
|
---|
161 |
|
---|
162 | typedef 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 |
|
---|
169 | typedef 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 |
|
---|
176 | typedef 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 |
|
---|
182 | typedef 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 |
|
---|
209 | typedef 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)
|
---|
225 | typedef 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 |
|
---|
233 | typedef 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 |
|
---|
245 | typedef 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 |
|
---|
251 | typedef struct FWP_BYTE_ARRAY6_ {
|
---|
252 | UINT8 byteArray6[6];
|
---|
253 | } FWP_BYTE_ARRAY6;
|
---|
254 |
|
---|
255 | typedef struct FWP_BYTE_ARRAY16_ {
|
---|
256 | UINT8 byteArray16[16];
|
---|
257 | } FWP_BYTE_ARRAY16;
|
---|
258 |
|
---|
259 | typedef struct FWP_BYTE_BLOB_ {
|
---|
260 | UINT32 size;
|
---|
261 | UINT8 *data;
|
---|
262 | } FWP_BYTE_BLOB;
|
---|
263 |
|
---|
264 | typedef 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 |
|
---|
271 | typedef 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 |
|
---|
295 | typedef struct FWP_V4_ADDR_AND_MASK_ {
|
---|
296 | UINT32 addr;
|
---|
297 | UINT32 mask;
|
---|
298 | } FWP_V4_ADDR_AND_MASK;
|
---|
299 |
|
---|
300 | typedef struct FWP_V6_ADDR_AND_MASK_ {
|
---|
301 | UINT8 addr[16];
|
---|
302 | UINT8 prefixLength;
|
---|
303 | } FWP_V6_ADDR_AND_MASK;
|
---|
304 |
|
---|
305 | typedef struct FWP_RANGE0_ {
|
---|
306 | FWP_VALUE0 valueLow;
|
---|
307 | FWP_VALUE0 valueHigh;
|
---|
308 | } FWP_RANGE0;
|
---|
309 |
|
---|
310 | typedef 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__ */
|
---|