|
/*
Copyright (c) 1995-1999 Microsoft Corporation
File ipxfltdf.h
Defines structures used with the ipx filter driver.
*/
#ifndef __ipxfltdf_h
#define __ipxfltdf_h
#if _MSC_VER > 1000
#pragma once
#endif
//*** IPX Traffic Filters ***
typedef struct _IPX_TRAFFIC_FILTER_GLOBAL_INFO {
ULONG FilterAction; // Action if there is a match with
// any filter on the interface
} IPX_TRAFFIC_FILTER_GLOBAL_INFO, *PIPX_TRAFFIC_FILTER_GLOBAL_INFO;
// FilterAction
#define IPX_TRAFFIC_FILTER_ACTION_PERMIT 1
#define IPX_TRAFFIC_FILTER_ACTION_DENY 2
// general traffic filter info structure
typedef struct _IPX_TRAFFIC_FILTER_INFO {
ULONG FilterDefinition;
UCHAR DestinationNetwork[4];
UCHAR DestinationNetworkMask[4];
UCHAR DestinationNode[6];
UCHAR DestinationSocket[2];
UCHAR SourceNetwork[4];
UCHAR SourceNetworkMask[4];
UCHAR SourceNode[6];
UCHAR SourceSocket[2];
UCHAR PacketType;
} IPX_TRAFFIC_FILTER_INFO, *PIPX_TRAFFIC_FILTER_INFO;
// FilterDefinition - Flags to specify relevant IPX address fields to filter on
#define IPX_TRAFFIC_FILTER_ON_SRCNET 0x00000001
#define IPX_TRAFFIC_FILTER_ON_SRCNODE 0x00000002
#define IPX_TRAFFIC_FILTER_ON_SRCSOCKET 0x00000004
#define IPX_TRAFFIC_FILTER_ON_DSTNET 0x00000010
#define IPX_TRAFFIC_FILTER_ON_DSTNODE 0x00000020
#define IPX_TRAFFIC_FILTER_ON_DSTSOCKET 0x00000040
#define IPX_TRAFFIC_FILTER_ON_PKTTYPE 0x00000100
#define IPX_TRAFFIC_FILTER_LOG_MATCHES 0x80000000
typedef struct _FLT_IF_SET_PARAMS {
ULONG InterfaceIndex; // Index of the interface
ULONG FilterAction; // Filter action
ULONG FilterSize; // sizeof (IPX_TRAFFIC_FILTER_INFO)
} FLT_IF_SET_PARAMS, *PFLT_IF_SET_PARAMS;
typedef struct _FLT_IF_GET_PARAMS {
ULONG FilterAction; // Filter action
ULONG FilterSize; // sizeof (IPX_TRAFFIC_FILTER_INFO)
ULONG TotalSize; // Total size of filter description
// array
} FLT_IF_GET_PARAMS, *PFLT_IF_GET_PARAMS;
typedef struct _FLT_PACKET_LOG {
ULONG SrcIfIdx; // Index of source if (-1 - unknown)
ULONG DstIfIdx; // Index of dest if (-1 - unknown)
USHORT DataSize; // Total size of the data (at least 30)
USHORT SeqNum; // Sequence number to account for
// packets lost to lack of buffer space
UCHAR Header[30]; // IPX packet header followed by the
// data if any
} FLT_PACKET_LOG, *PFLT_PACKET_LOG;
#endif
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.
A list of licenses authors might use can be found here
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.