This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/Borland/BCC55/Include/ipxtfflt.h

79 lines
2.4 KiB
C

/*
Copyright (c) 1995-1999 Microsoft Corporation
File ipxfltdf.h
Defines structures used with the ipx filter driver.
*/
#ifndef __ipxfltdf_h
#pragma option push -b -a8 -pc -A- /*P_O_Push*/
#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;
#pragma option pop /*P_O_Pop*/
#endif