1
2
3 /* this ALWAYS GENERATED file contains the definitions for the interfaces */
4
5
6  /* File created by MIDL compiler version 7.00.0499 */
7 /* Compiler settings for fwptypes.idl:
8       Oicf, W1, Zp8, env=Win32 (32b run)
9       protocol : dce , ms_ext, c_ext, robust
10       error checks: allocation ref bounds_check enum stub_data 
11       VC __declspec() decoration level: 
12                __declspec(uuid()), __declspec(selectany), __declspec(novtable)
13                DECLSPEC_UUID(), MIDL_INTERFACE()
14 */
15 //@@MIDL_FILE_HEADING(  )
16
17 #pragma warning( disable: 4049 )  /* more than 64k source lines */
18
19
20 /* verify that the <rpcndr.h> version is high enough to compile this file*/
21 #ifndef __REQUIRED_RPCNDR_H_VERSION__
22 #define __REQUIRED_RPCNDR_H_VERSION__ 500
23 #endif
24
25 /* verify that the <rpcsal.h> version is high enough to compile this file*/
26 #ifndef __REQUIRED_RPCSAL_H_VERSION__
27 #define __REQUIRED_RPCSAL_H_VERSION__ 100
28 #endif
29
30 #include "rpc.h"
31 #include "rpcndr.h"
32
33 #ifndef __RPCNDR_H_VERSION__
34 #error this stub requires an updated version of <rpcndr.h>
35 #endif // __RPCNDR_H_VERSION__
36
37
38 #ifndef __fwptypes_h__
39 #define __fwptypes_h__
40
41 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
42 #pragma once
43 #endif
44
45 /* Forward Declarations */ 
46
47 /* header files for imported files */
48 #include "wtypes.h"
49
50 #ifdef __cplusplus
51 extern "C"{
52 #endif 
53
54
55 /* interface __MIDL_itf_fwptypes_0000_0000 */
56 /* [local] */ 
57
58 #if _MSC_VER >=  800
59 #if _MSC_VER >= 1200
60 #pragma warning(push)
61 #endif
62 #pragma warning(disable:4201)
63 #endif
64 #ifdef __midl
65 typedef struct _LUID
66       {
67       DWORD LowPart;
68       LONG HighPart;
69       }     LUID;
70
71 typedef struct _LUID *PLUID;
72
73 #endif
74 typedef /* [v1_enum] */ 
75 enum FWP_DIRECTION_
76       {    FWP_DIRECTION_OUTBOUND    = 0,
77     FWP_DIRECTION_INBOUND    = ( FWP_DIRECTION_OUTBOUND + 1 ) ,
78     FWP_DIRECTION_MAX    = ( FWP_DIRECTION_INBOUND + 1 ) 
79       }     FWP_DIRECTION;
80
81 typedef /* [v1_enum] */ 
82 enum FWP_IP_VERSION_
83       {    FWP_IP_VERSION_V4    = 0,
84     FWP_IP_VERSION_V6    = ( FWP_IP_VERSION_V4 + 1 ) ,
85     FWP_IP_VERSION_MAX    = ( FWP_IP_VERSION_V6 + 1 ) 
86       }     FWP_IP_VERSION;
87
88 typedef /* [v1_enum] */ 
89 enum FWP_DATA_TYPE_
90       {    FWP_EMPTY    = 0,
91     FWP_UINT8    = ( FWP_EMPTY + 1 ) ,
92     FWP_UINT16    = ( FWP_UINT8 + 1 ) ,
93     FWP_UINT32    = ( FWP_UINT16 + 1 ) ,
94     FWP_UINT64    = ( FWP_UINT32 + 1 ) ,
95     FWP_INT8    = ( FWP_UINT64 + 1 ) ,
96     FWP_INT16    = ( FWP_INT8 + 1 ) ,
97     FWP_INT32    = ( FWP_INT16 + 1 ) ,
98     FWP_INT64    = ( FWP_INT32 + 1 ) ,
99     FWP_FLOAT    = ( FWP_INT64 + 1 ) ,
100     FWP_DOUBLE    = ( FWP_FLOAT + 1 ) ,
101     FWP_BYTE_ARRAY16_TYPE    = ( FWP_DOUBLE + 1 ) ,
102     FWP_BYTE_BLOB_TYPE    = ( FWP_BYTE_ARRAY16_TYPE + 1 ) ,
103     FWP_SID    = ( FWP_BYTE_BLOB_TYPE + 1 ) ,
104     FWP_SECURITY_DESCRIPTOR_TYPE    = ( FWP_SID + 1 ) ,
105     FWP_TOKEN_INFORMATION_TYPE    = ( FWP_SECURITY_DESCRIPTOR_TYPE + 1 ) ,
106     FWP_TOKEN_ACCESS_INFORMATION_TYPE    = ( FWP_TOKEN_INFORMATION_TYPE + 1 ) ,
107     FWP_UNICODE_STRING_TYPE    = ( FWP_TOKEN_ACCESS_INFORMATION_TYPE + 1 ) ,
108     FWP_SINGLE_DATA_TYPE_MAX    = 0xff,
109     FWP_V4_ADDR_MASK    = ( FWP_SINGLE_DATA_TYPE_MAX + 1 ) ,
110     FWP_V6_ADDR_MASK    = ( FWP_V4_ADDR_MASK + 1 ) ,
111     FWP_RANGE_TYPE    = ( FWP_V6_ADDR_MASK + 1 ) ,
112     FWP_DATA_TYPE_MAX    = ( FWP_RANGE_TYPE + 1 ) 
113       }     FWP_DATA_TYPE;
114
115 typedef struct FWP_BYTE_ARRAY16_
116       {
117       UINT8 byteArray16[ 16 ];
118       }     FWP_BYTE_ARRAY16;
119
120 typedef struct FWP_BYTE_BLOB_
121       {
122       UINT32 size;
123       UINT8 *data;
124       }     FWP_BYTE_BLOB;
125
126 typedef struct FWP_TOKEN_INFORMATION_
127       {
128       ULONG sidCount;
129       PSID_AND_ATTRIBUTES sids;
130       ULONG restrictedSidCount;
131       PSID_AND_ATTRIBUTES restrictedSids;
132       }     FWP_TOKEN_INFORMATION;
133
134 typedef struct FWP_VALUE0_
135       {
136       FWP_DATA_TYPE type;
137       union 
138              {
139                /* Empty union arm */ 
140              UINT8 uint8;
141              UINT16 uint16;
142              UINT32 uint32;
143              UINT64 *uint64;
144              INT8 int8;
145              INT16 int16;
146              INT32 int32;
147              INT64 *int64;
148              float float32;
149              double *double64;
150              FWP_BYTE_ARRAY16 *byteArray16;
151              FWP_BYTE_BLOB *byteBlob;
152              SID *sid;
153              FWP_BYTE_BLOB *sd;
154              FWP_TOKEN_INFORMATION *tokenInformation;
155              FWP_BYTE_BLOB *tokenAccessInformation;
156              LPWSTR unicodeString;
157              }     ;
158       }     FWP_VALUE0;
159
160 typedef /* [v1_enum] */ 
161 enum FWP_MATCH_TYPE_
Lines 162 ... 171 are skipped.
172     FWP_MATCH_TYPE_MAX    = ( FWP_MATCH_EQUAL_CASE_INSENSITIVE + 1 ) 
173       }     FWP_MATCH_TYPE;
174
175 typedef struct FWP_V4_ADDR_AND_MASK_
176       {
177       UINT32 addr;
178       UINT32 mask;
179       }     FWP_V4_ADDR_AND_MASK;
180
181 #define FWP_V6_ADDR_SIZE (16)
182 typedef struct FWP_V6_ADDR_AND_MASK_
183       {
184       UINT8 addr[ 16 ];
185       UINT8 prefixLength;
186       }     FWP_V6_ADDR_AND_MASK;
187
188 typedef struct FWP_RANGE0_
189       {
190       FWP_VALUE0 valueLow;
191       FWP_VALUE0 valueHigh;
192       }     FWP_RANGE0;
193
194 #define FWP_ACTRL_MATCH_FILTER (0x00000001)
195
196 typedef struct FWP_CONDITION_VALUE0_
197       {
198       FWP_DATA_TYPE type;
199       union 
200              {
201                /* Empty union arm */ 
202              UINT8 uint8;
203              UINT16 uint16;
204              UINT32 uint32;
205              UINT64 *uint64;
206              INT8 int8;
207              INT16 int16;
208              INT32 int32;
209              INT64 *int64;
210              float float32;
211              double *double64;
212              FWP_BYTE_ARRAY16 *byteArray16;
213              FWP_BYTE_BLOB *byteBlob;
214              SID *sid;
215              FWP_BYTE_BLOB *sd;
216              FWP_TOKEN_INFORMATION *tokenInformation;
217              FWP_BYTE_BLOB *tokenAccessInformation;
218              LPWSTR unicodeString;
219              FWP_V4_ADDR_AND_MASK *v4AddrMask;
220              FWP_V6_ADDR_AND_MASK *v6AddrMask;
221              FWP_RANGE0 *rangeValue;
222              }     ;
223       }     FWP_CONDITION_VALUE0;
224
225 typedef /* [v1_enum] */ 
226 enum FWP_CLASSIFY_OPTION_TYPE_
227       {    FWP_CLASSIFY_OPTION_MULTICAST_STATE    = 0,
228     FWP_CLASSIFY_OPTION_LOOSE_SOURCE_MAPPING    = ( FWP_CLASSIFY_OPTION_MULTICAST_STATE + 1 ) ,
229     FWP_CLASSIFY_OPTION_UNICAST_LIFETIME    = ( FWP_CLASSIFY_OPTION_LOOSE_SOURCE_MAPPING + 1 ) ,
230     FWP_CLASSIFY_OPTION_MCAST_BCAST_LIFETIME    = ( FWP_CLASSIFY_OPTION_UNICAST_LIFETIME + 1 ) ,
231     FWP_CLASSIFY_OPTION_MAX    = ( FWP_CLASSIFY_OPTION_MCAST_BCAST_LIFETIME + 1 ) 
232       }     FWP_CLASSIFY_OPTION_TYPE;
233
234 #define FWP_OPTION_VALUE_ALLOW_MULTICAST_STATE (0x00000000)
235 #define FWP_OPTION_VALUE_DENY_MULTICAST_STATE  (0x00000001)
236 #define FWP_OPTION_VALUE_ALLOW_GLOBAL_MULTICAST_STATE (0x00000002)
237 #define FWP_OPTION_VALUE_DISABLE_LOOSE_SOURCE (0x00000000)
238 #define FWP_OPTION_VALUE_ENABLE_LOOSE_SOURCE  (0x00000001)
239 #define FWP_ACTION_FLAG_TERMINATING        (0x00001000)
240 #define FWP_ACTION_FLAG_NON_TERMINATING (0x00002000)
241 #define FWP_ACTION_FLAG_CALLOUT               (0x00004000)
242 typedef UINT32 FWP_ACTION_TYPE;
243
244 #define FWP_ACTION_BLOCK \
245      (0x00000001 | FWP_ACTION_FLAG_TERMINATING)
246 #define FWP_ACTION_PERMIT \
247      (0x00000002 | FWP_ACTION_FLAG_TERMINATING)
248 #define FWP_ACTION_CALLOUT_TERMINATING \
249      (0x00000003 | FWP_ACTION_FLAG_CALLOUT | FWP_ACTION_FLAG_TERMINATING)
250 #define FWP_ACTION_CALLOUT_INSPECTION \
251      (0x00000004 | FWP_ACTION_FLAG_CALLOUT | FWP_ACTION_FLAG_NON_TERMINATING)
252 #define FWP_ACTION_CALLOUT_UNKNOWN \
253      (0x00000005 | FWP_ACTION_FLAG_CALLOUT)
254 #define FWP_ACTION_CONTINUE \
255      (0x00000006 | FWP_ACTION_FLAG_NON_TERMINATING)
256 #define FWP_ACTION_NONE \
257      (0x00000007)
258 #define FWP_ACTION_NONE_NO_MATCH \
259      (0x00000008)
260 #define FWP_CONDITION_FLAG_IS_LOOPBACK                       (0x00000001)
261 #define FWP_CONDITION_FLAG_IS_IPSEC_SECURED               (0x00000002)
262 #define FWP_CONDITION_FLAG_IS_REAUTHORIZE                  (0x00000004)
263 #define FWP_CONDITION_FLAG_IS_WILDCARD_BIND               (0x00000008)
264 #define FWP_CONDITION_FLAG_IS_RAW_ENDPOINT                (0x00000010)
265 #define FWP_CONDITION_FLAG_IS_FRAGMENT                       (0x00000020)
266 #define FWP_CONDITION_FLAG_IS_FRAGMENT_GROUP             (0x00000040)
267 #define FWP_CONDITION_FLAG_IS_IPSEC_NATT_RECLASSIFY (0x00000080)
268 #define FWP_CONDITION_FLAG_REQUIRES_ALE_CLASSIFY      (0x00000100)
269 #define FWP_CONDITION_FLAG_IS_IMPLICIT_BIND               (0x00000200)
270 typedef /* [v1_enum] */ 
271 enum FWP_FILTER_ENUM_TYPE_
272       {    FWP_FILTER_ENUM_FULLY_CONTAINED    = 0,
273     FWP_FILTER_ENUM_OVERLAPPING    = ( FWP_FILTER_ENUM_FULLY_CONTAINED + 1 ) ,
274     FWP_FILTER_ENUM_TYPE_MAX    = ( FWP_FILTER_ENUM_OVERLAPPING + 1 ) 
275       }     FWP_FILTER_ENUM_TYPE;
276
277 #define FWP_FILTER_ENUM_FLAG_BEST_TERMINATING_MATCH (0x00000001)
278 #define FWP_FILTER_ENUM_FLAG_SORTED                            (0x00000002)
279 #define FWP_FILTER_ENUM_FLAG_BOOTTIME_ONLY                (0x00000004)
280 #define FWP_FILTER_ENUM_FLAG_INCLUDE_BOOTTIME           (0x00000008)
281 #define FWP_FILTER_ENUM_FLAG_INCLUDE_DISABLED           (0x00000010)
282 #define FWP_FILTER_ENUM_VALID_FLAGS \
283      (FWP_FILTER_ENUM_FLAG_BEST_TERMINATING_MATCH | \
284       FWP_FILTER_ENUM_FLAG_SORTED)
285 #define FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW (0x00000001)
286 #define FWP_CALLOUT_FLAG_ALLOW_OFFLOAD           (0x00000002)
287 #if _MSC_VER >=  800
288 #if _MSC_VER >= 1200
289 #pragma warning(pop)
290 #else
291 #pragma warning(default:4201)
292 #endif
293 #endif
294
295
296 extern RPC_IF_HANDLE __MIDL_itf_fwptypes_0000_0000_v0_0_c_ifspec;
297 extern RPC_IF_HANDLE __MIDL_itf_fwptypes_0000_0000_v0_0_s_ifspec;
298
299 /* Additional Prototypes for ALL interfaces */
300
301 /* end of Additional Prototypes */
302
303 #ifdef __cplusplus
304 }
305 #endif
306
307 #endif
308
309
310
311