Ipxtfflt.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /*
  2. Copyright (c) 1995-1999 Microsoft Corporation
  3.     File  ipxfltdf.h
  4.     Defines structures used with the ipx filter driver.
  5. */
  6. #ifndef __ipxfltdf_h
  7. #define __ipxfltdf_h
  8. #if _MSC_VER > 1000
  9. #pragma once
  10. #endif
  11. //*** IPX Traffic Filters ***
  12. typedef struct _IPX_TRAFFIC_FILTER_GLOBAL_INFO {
  13. ULONG FilterAction; // Action if there is a match with
  14. // any filter on the interface
  15. } IPX_TRAFFIC_FILTER_GLOBAL_INFO, *PIPX_TRAFFIC_FILTER_GLOBAL_INFO;
  16. // FilterAction
  17. #define IPX_TRAFFIC_FILTER_ACTION_PERMIT 1
  18. #define IPX_TRAFFIC_FILTER_ACTION_DENY     2
  19. // general traffic filter info structure
  20. typedef struct _IPX_TRAFFIC_FILTER_INFO {
  21.     ULONG FilterDefinition;
  22.     UCHAR DestinationNetwork[4];
  23.     UCHAR DestinationNetworkMask[4];
  24.     UCHAR DestinationNode[6];
  25.     UCHAR DestinationSocket[2];
  26.     UCHAR SourceNetwork[4];
  27.     UCHAR SourceNetworkMask[4];
  28.     UCHAR SourceNode[6];
  29.     UCHAR SourceSocket[2];
  30. UCHAR PacketType;
  31.     } IPX_TRAFFIC_FILTER_INFO, *PIPX_TRAFFIC_FILTER_INFO;
  32. // FilterDefinition - Flags to specify relevant IPX address fields to filter on
  33. #define IPX_TRAFFIC_FILTER_ON_SRCNET 0x00000001
  34. #define IPX_TRAFFIC_FILTER_ON_SRCNODE 0x00000002
  35. #define IPX_TRAFFIC_FILTER_ON_SRCSOCKET 0x00000004
  36. #define IPX_TRAFFIC_FILTER_ON_DSTNET 0x00000010
  37. #define IPX_TRAFFIC_FILTER_ON_DSTNODE 0x00000020
  38. #define IPX_TRAFFIC_FILTER_ON_DSTSOCKET 0x00000040
  39. #define IPX_TRAFFIC_FILTER_ON_PKTTYPE 0x00000100
  40. #define IPX_TRAFFIC_FILTER_LOG_MATCHES 0x80000000
  41. typedef struct _FLT_IF_SET_PARAMS {
  42. ULONG InterfaceIndex; // Index of the interface
  43. ULONG FilterAction; // Filter action
  44. ULONG FilterSize; // sizeof (IPX_TRAFFIC_FILTER_INFO)
  45. } FLT_IF_SET_PARAMS, *PFLT_IF_SET_PARAMS;
  46. typedef struct _FLT_IF_GET_PARAMS {
  47. ULONG FilterAction; // Filter action
  48. ULONG FilterSize; // sizeof (IPX_TRAFFIC_FILTER_INFO)
  49. ULONG TotalSize; // Total size of filter description
  50. // array
  51. } FLT_IF_GET_PARAMS, *PFLT_IF_GET_PARAMS;
  52. typedef struct _FLT_PACKET_LOG {
  53. ULONG SrcIfIdx; // Index of source if (-1 - unknown)
  54. ULONG DstIfIdx; // Index of dest if (-1 - unknown)
  55. USHORT DataSize; // Total size of the data (at least 30)
  56. USHORT SeqNum; // Sequence number to account for
  57. // packets lost to lack of buffer space
  58. UCHAR Header[30]; // IPX packet header followed by the
  59. // data if any
  60. } FLT_PACKET_LOG, *PFLT_PACKET_LOG;
  61. #endif