master
 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
 9typedef 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
16typedef 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
38typedef struct _FLT_IF_SET_PARAMS {
39  ULONG InterfaceIndex;
40  ULONG FilterAction;
41  ULONG FilterSize;
42} FLT_IF_SET_PARAMS,*PFLT_IF_SET_PARAMS;
43
44typedef struct _FLT_IF_GET_PARAMS {
45  ULONG FilterAction;
46  ULONG FilterSize;
47  ULONG TotalSize;
48} FLT_IF_GET_PARAMS,*PFLT_IF_GET_PARAMS;
49
50typedef 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