1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef __ipxfltdf_h
7 #define __ipxfltdf_h
8 
9 typedef struct _IPX_TRAFFIC_FILTER_GLOBAL_INFO {
10   ULONG FilterAction;
11 } IPX_TRAFFIC_FILTER_GLOBAL_INFO,*PIPX_TRAFFIC_FILTER_GLOBAL_INFO;
12 
13 #define IPX_TRAFFIC_FILTER_ACTION_PERMIT 1
14 #define IPX_TRAFFIC_FILTER_ACTION_DENY 2
15 
16 typedef struct _IPX_TRAFFIC_FILTER_INFO {
17   ULONG FilterDefinition;
18   UCHAR DestinationNetwork[4];
19   UCHAR DestinationNetworkMask[4];
20   UCHAR DestinationNode[6];
21   UCHAR DestinationSocket[2];
22   UCHAR SourceNetwork[4];
23   UCHAR SourceNetworkMask[4];
24   UCHAR SourceNode[6];
25   UCHAR SourceSocket[2];
26   UCHAR PacketType;
27 } IPX_TRAFFIC_FILTER_INFO,*PIPX_TRAFFIC_FILTER_INFO;
28 
29 #define IPX_TRAFFIC_FILTER_ON_SRCNET 0x00000001
30 #define IPX_TRAFFIC_FILTER_ON_SRCNODE 0x00000002
31 #define IPX_TRAFFIC_FILTER_ON_SRCSOCKET 0x00000004
32 #define IPX_TRAFFIC_FILTER_ON_DSTNET 0x00000010
33 #define IPX_TRAFFIC_FILTER_ON_DSTNODE 0x00000020
34 #define IPX_TRAFFIC_FILTER_ON_DSTSOCKET 0x00000040
35 #define IPX_TRAFFIC_FILTER_ON_PKTTYPE 0x00000100
36 #define IPX_TRAFFIC_FILTER_LOG_MATCHES 0x80000000
37 
38 typedef struct _FLT_IF_SET_PARAMS {
39   ULONG InterfaceIndex;
40   ULONG FilterAction;
41   ULONG FilterSize;
42 } FLT_IF_SET_PARAMS,*PFLT_IF_SET_PARAMS;
43 
44 typedef struct _FLT_IF_GET_PARAMS {
45   ULONG FilterAction;
46   ULONG FilterSize;
47   ULONG TotalSize;
48 } FLT_IF_GET_PARAMS,*PFLT_IF_GET_PARAMS;
49 
50 typedef struct _FLT_PACKET_LOG {
51   ULONG SrcIfIdx;
52   ULONG DstIfIdx;
53   USHORT DataSize;
54   USHORT SeqNum;
55   UCHAR Header[30];
56 } FLT_PACKET_LOG,*PFLT_PACKET_LOG;
57 #endif
58