ReactOS  0.4.15-dev-2776-g4130f0b
fltdefs.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _pfLogFrame
 
struct  _PF_FILTER_DESCRIPTOR
 
struct  _PF_FILTER_STATS
 
struct  _PF_INTERFACE_STATS
 
struct  _PF_LATEBIND_INFO
 

Macros

#define EXTERNCDECL
 
#define PFEXPORT   /* __declspec(dllexport) Native headers have this, but this breaks exports with GCC! */
 
#define PFAPIENTRY   EXTERNCDECL DWORD PFEXPORT WINAPI
 
#define ERROR_BASE   23000
 
#define PFERROR_NO_PF_INTERFACE   (ERROR_BASE + 0)
 
#define PFERROR_NO_FILTERS_GIVEN   (ERROR_BASE + 1)
 
#define PFERROR_BUFFER_TOO_SMALL   (ERROR_BASE + 2)
 
#define ERROR_IPV6_NOT_IMPLEMENTED   (ERROR_BASE + 3)
 
#define FD_FLAGS_NOSYN   0x1
 
#define FD_FLAGS_ALLFLAGS   FD_FLAGS_NOSYN
 
#define FILTER_PROTO(ProtoId)   MAKELONG(MAKEWORD((ProtoId), 0x00), 0x00000)
 
#define FILTER_PROTO_ANY   FILTER_PROTO(0x00)
 
#define FILTER_PROTO_ICMP   FILTER_PROTO(0x01)
 
#define FILTER_PROTO_TCP   FILTER_PROTO(0x06)
 
#define FILTER_PROTO_UDP   FILTER_PROTO(0x11)
 
#define FILTER_TCPUDP_PORT_ANY   ((WORD)0x0000)
 
#define FILTER_ICMP_TYPE_ANY   ((BYTE)0xff)
 
#define FILTER_ICMP_CODE_ANY   ((BYTE)0xff)
 
#define LB_SRC_ADDR_USE_SRCADDR_FLAG   0x00000001
 
#define LB_SRC_ADDR_USE_DSTADDR_FLAG   0x00000002
 
#define LB_DST_ADDR_USE_SRCADDR_FLAG   0x00000004
 
#define LB_DST_ADDR_USE_DSTADDR_FLAG   0x00000008
 
#define LB_SRC_MASK_LATE_FLAG   0x00000010
 
#define LB_DST_MASK_LATE_FLAG   0x00000020
 
#define FILTERSIZE   (sizeof(PF_FILTER_DESCRIPTOR) - (DWORD)FIELD_OFFSET(PF_FILTER_DESCRIPTOR, SrcAddr))
 

Typedefs

typedef PVOID FILTER_HANDLE
 
typedef PVOIDPFILTER_HANDLE
 
typedef PVOID INTERFACE_HANDLE
 
typedef PVOIDPINTERFACE_HANDLE
 
typedef enum _GlobalFilter GLOBAL_FILTER
 
typedef enum _GlobalFilterPGLOBAL_FILTER
 
typedef enum _PfAddresType PFADDRESSTYPE
 
typedef enum _PfAddresTypePPFADDRESSTYPE
 
typedef enum _PfForwardAction PFFORWARD_ACTION
 
typedef enum _PfForwardActionPPFFORWARD_ACTION
 
typedef enum _PfFrameType PFFRAMETYPE
 
typedef enum _PfFrameTypePPFFRAMETYPE
 
typedef struct _pfLogFrame PFLOGFRAME
 
typedef struct _pfLogFramePPFLOGFRAME
 
typedef struct _PF_FILTER_DESCRIPTOR PF_FILTER_DESCRIPTOR
 
typedef struct _PF_FILTER_DESCRIPTORPPF_FILTER_DESCRIPTOR
 
typedef struct _PF_FILTER_STATS PF_FILTER_STATS
 
typedef struct _PF_FILTER_STATSPPF_FILTER_STATS
 
typedef struct _PF_INTERFACE_STATS PF_INTERFACE_STATS
 
typedef struct _PF_INTERFACE_STATSPPF_INTERFACE_STATS
 
typedef struct _PF_LATEBIND_INFO PF_LATEBIND_INFO
 
typedef struct _PF_LATEBIND_INFOPPF_LATEBIND_INFO
 

Enumerations

enum  _GlobalFilter { GF_FRAGMENTS = 2, GF_STRONGHOST = 8, GF_FRAGCACHE = 9 }
 
enum  _PfAddresType { PF_IPV4, PF_IPV6 }
 
enum  _PfForwardAction { PF_ACTION_FORWARD = 0, PF_ACTION_DROP }
 
enum  _PfFrameType { PFFT_FILTER = 1, PFFT_FRAG = 2, PFFT_SPOOF = 3 }
 

Functions

PFAPIENTRY PfAddFiltersToInterface (INTERFACE_HANDLE ih, DWORD cInFilters, PPF_FILTER_DESCRIPTOR pfiltIn, DWORD cOutFilters, PPF_FILTER_DESCRIPTOR pfiltOut, PFILTER_HANDLE pfHandle)
 
PFAPIENTRY PfAddGlobalFilterToInterface (INTERFACE_HANDLE pInterface, GLOBAL_FILTER gfFilter)
 
PFAPIENTRY PfBindInterfaceToIPAddress (INTERFACE_HANDLE pInterface, PFADDRESSTYPE pfatType, PBYTE IPAddress)
 
PFAPIENTRY PfBindInterfaceToIndex (INTERFACE_HANDLE pInterface, DWORD dwIndex, PFADDRESSTYPE pfatLinkType, PBYTE LinkIPAddress)
 
PFAPIENTRY PfCreateInterface (DWORD dwName, PFFORWARD_ACTION inAction, PFFORWARD_ACTION outAction, BOOL bUseLog, BOOL bMustBeUnique, INTERFACE_HANDLE *ppInterface)
 
PFAPIENTRY PfDeleteInterface (INTERFACE_HANDLE pInterface)
 
PFAPIENTRY PfDeleteLog (VOID)
 
PFAPIENTRY PfGetInterfaceStatistics (INTERFACE_HANDLE pInterface, PPF_INTERFACE_STATS ppfStats, PDWORD pdwBufferSize, BOOL fResetCounters)
 
PFAPIENTRY PfMakeLog (HANDLE hEvent)
 
PFAPIENTRY PfRebindFilters (INTERFACE_HANDLE pInterface, PPF_LATEBIND_INFO pLateBindInfo)
 
PFAPIENTRY PfRemoveFilterHandles (INTERFACE_HANDLE pInterface, DWORD cFilters, PFILTER_HANDLE pvHandles)
 
PFAPIENTRY PfRemoveFiltersFromInterface (INTERFACE_HANDLE ih, DWORD cInFilters, PPF_FILTER_DESCRIPTOR pfiltIn, DWORD cOutFilters, PPF_FILTER_DESCRIPTOR pfiltOut)
 
PFAPIENTRY PfRemoveGlobalFilterFromInterface (INTERFACE_HANDLE pInterface, GLOBAL_FILTER gfFilter)
 
PFAPIENTRY PfSetLogBuffer (PBYTE pbBuffer, DWORD dwSize, DWORD dwThreshold, DWORD dwEntries, PDWORD pdwLoggedEntries, PDWORD pdwLostEntries, PDWORD pdwSizeUsed)
 
PFAPIENTRY PfTestPacket (INTERFACE_HANDLE pInInterface OPTIONAL, INTERFACE_HANDLE pOutInterface OPTIONAL, DWORD cBytes, PBYTE pbPacket, PPFFORWARD_ACTION ppAction)
 
PFAPIENTRY PfUnBindInterface (INTERFACE_HANDLE pInterface)
 

Macro Definition Documentation

◆ ERROR_BASE

#define ERROR_BASE   23000

Definition at line 40 of file fltdefs.h.

◆ ERROR_IPV6_NOT_IMPLEMENTED

#define ERROR_IPV6_NOT_IMPLEMENTED   (ERROR_BASE + 3)

Definition at line 44 of file fltdefs.h.

◆ EXTERNCDECL

#define EXTERNCDECL

Definition at line 29 of file fltdefs.h.

◆ FD_FLAGS_ALLFLAGS

#define FD_FLAGS_ALLFLAGS   FD_FLAGS_NOSYN

Definition at line 47 of file fltdefs.h.

◆ FD_FLAGS_NOSYN

#define FD_FLAGS_NOSYN   0x1

Definition at line 46 of file fltdefs.h.

◆ FILTER_ICMP_CODE_ANY

#define FILTER_ICMP_CODE_ANY   ((BYTE)0xff)

Definition at line 57 of file fltdefs.h.

◆ FILTER_ICMP_TYPE_ANY

#define FILTER_ICMP_TYPE_ANY   ((BYTE)0xff)

Definition at line 56 of file fltdefs.h.

◆ FILTER_PROTO

#define FILTER_PROTO (   ProtoId)    MAKELONG(MAKEWORD((ProtoId), 0x00), 0x00000)

Definition at line 49 of file fltdefs.h.

◆ FILTER_PROTO_ANY

#define FILTER_PROTO_ANY   FILTER_PROTO(0x00)

Definition at line 50 of file fltdefs.h.

◆ FILTER_PROTO_ICMP

#define FILTER_PROTO_ICMP   FILTER_PROTO(0x01)

Definition at line 51 of file fltdefs.h.

◆ FILTER_PROTO_TCP

#define FILTER_PROTO_TCP   FILTER_PROTO(0x06)

Definition at line 52 of file fltdefs.h.

◆ FILTER_PROTO_UDP

#define FILTER_PROTO_UDP   FILTER_PROTO(0x11)

Definition at line 53 of file fltdefs.h.

◆ FILTER_TCPUDP_PORT_ANY

#define FILTER_TCPUDP_PORT_ANY   ((WORD)0x0000)

Definition at line 55 of file fltdefs.h.

◆ FILTERSIZE

Definition at line 125 of file fltdefs.h.

◆ LB_DST_ADDR_USE_DSTADDR_FLAG

#define LB_DST_ADDR_USE_DSTADDR_FLAG   0x00000008

Definition at line 62 of file fltdefs.h.

◆ LB_DST_ADDR_USE_SRCADDR_FLAG

#define LB_DST_ADDR_USE_SRCADDR_FLAG   0x00000004

Definition at line 61 of file fltdefs.h.

◆ LB_DST_MASK_LATE_FLAG

#define LB_DST_MASK_LATE_FLAG   0x00000020

Definition at line 64 of file fltdefs.h.

◆ LB_SRC_ADDR_USE_DSTADDR_FLAG

#define LB_SRC_ADDR_USE_DSTADDR_FLAG   0x00000002

Definition at line 60 of file fltdefs.h.

◆ LB_SRC_ADDR_USE_SRCADDR_FLAG

#define LB_SRC_ADDR_USE_SRCADDR_FLAG   0x00000001

Definition at line 59 of file fltdefs.h.

◆ LB_SRC_MASK_LATE_FLAG

#define LB_SRC_MASK_LATE_FLAG   0x00000010

Definition at line 63 of file fltdefs.h.

◆ PFAPIENTRY

Definition at line 38 of file fltdefs.h.

◆ PFERROR_BUFFER_TOO_SMALL

#define PFERROR_BUFFER_TOO_SMALL   (ERROR_BASE + 2)

Definition at line 43 of file fltdefs.h.

◆ PFERROR_NO_FILTERS_GIVEN

#define PFERROR_NO_FILTERS_GIVEN   (ERROR_BASE + 1)

Definition at line 42 of file fltdefs.h.

◆ PFERROR_NO_PF_INTERFACE

#define PFERROR_NO_PF_INTERFACE   (ERROR_BASE + 0)

Definition at line 41 of file fltdefs.h.

◆ PFEXPORT

#define PFEXPORT   /* __declspec(dllexport) Native headers have this, but this breaks exports with GCC! */

Definition at line 35 of file fltdefs.h.

Typedef Documentation

◆ FILTER_HANDLE

Definition at line 66 of file fltdefs.h.

◆ GLOBAL_FILTER

◆ INTERFACE_HANDLE

Definition at line 67 of file fltdefs.h.

◆ PF_FILTER_DESCRIPTOR

◆ PF_FILTER_STATS

◆ PF_INTERFACE_STATS

◆ PF_LATEBIND_INFO

◆ PFADDRESSTYPE

◆ PFFORWARD_ACTION

◆ PFFRAMETYPE

◆ PFILTER_HANDLE

typedef PVOID * PFILTER_HANDLE

Definition at line 66 of file fltdefs.h.

◆ PFLOGFRAME

◆ PGLOBAL_FILTER

◆ PINTERFACE_HANDLE

Definition at line 67 of file fltdefs.h.

◆ PPF_FILTER_DESCRIPTOR

◆ PPF_FILTER_STATS

◆ PPF_INTERFACE_STATS

◆ PPF_LATEBIND_INFO

◆ PPFADDRESSTYPE

◆ PPFFORWARD_ACTION

◆ PPFFRAMETYPE

◆ PPFLOGFRAME

Enumeration Type Documentation

◆ _GlobalFilter

Enumerator
GF_FRAGMENTS 
GF_STRONGHOST 
GF_FRAGCACHE 

Definition at line 69 of file fltdefs.h.

70 {
71  GF_FRAGMENTS = 2,
72  GF_STRONGHOST = 8,
73  GF_FRAGCACHE = 9
enum _GlobalFilter * PGLOBAL_FILTER
enum _GlobalFilter GLOBAL_FILTER

◆ _PfAddresType

Enumerator
PF_IPV4 
PF_IPV6 

Definition at line 76 of file fltdefs.h.

77 {
78  PF_IPV4,
79  PF_IPV6
enum _PfAddresType PFADDRESSTYPE
enum _PfAddresType * PPFADDRESSTYPE

◆ _PfForwardAction

Enumerator
PF_ACTION_FORWARD 
PF_ACTION_DROP 

Definition at line 82 of file fltdefs.h.

83 {
enum _PfForwardAction * PPFFORWARD_ACTION
enum _PfForwardAction PFFORWARD_ACTION

◆ _PfFrameType

Enumerator
PFFT_FILTER 
PFFT_FRAG 
PFFT_SPOOF 

Definition at line 88 of file fltdefs.h.

89 {
90  PFFT_FILTER = 1,
91  PFFT_FRAG = 2,
92  PFFT_SPOOF = 3
enum _PfFrameType PFFRAMETYPE
enum _PfFrameType * PPFFRAMETYPE

Function Documentation

◆ PfAddFiltersToInterface()

PFAPIENTRY PfAddFiltersToInterface ( INTERFACE_HANDLE  ih,
DWORD  cInFilters,
PPF_FILTER_DESCRIPTOR  pfiltIn,
DWORD  cOutFilters,
PPF_FILTER_DESCRIPTOR  pfiltOut,
PFILTER_HANDLE  pfHandle 
)

Definition at line 16 of file iphlpapi_fakestubs.c.

23 {
26 }
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define UNIMPLEMENTED
Definition: debug.h:115

◆ PfAddGlobalFilterToInterface()

PFAPIENTRY PfAddGlobalFilterToInterface ( INTERFACE_HANDLE  pInterface,
GLOBAL_FILTER  gfFilter 
)

Definition at line 31 of file iphlpapi_fakestubs.c.

34 {
37 }
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define UNIMPLEMENTED
Definition: debug.h:115

◆ PfBindInterfaceToIndex()

PFAPIENTRY PfBindInterfaceToIndex ( INTERFACE_HANDLE  pInterface,
DWORD  dwIndex,
PFADDRESSTYPE  pfatLinkType,
PBYTE  LinkIPAddress 
)

Definition at line 50 of file iphlpapi_fakestubs.c.

55 {
58 }
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define UNIMPLEMENTED
Definition: debug.h:115

◆ PfBindInterfaceToIPAddress()

PFAPIENTRY PfBindInterfaceToIPAddress ( INTERFACE_HANDLE  pInterface,
PFADDRESSTYPE  pfatType,
PBYTE  IPAddress 
)

Definition at line 40 of file iphlpapi_fakestubs.c.

44 {
47 }
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define UNIMPLEMENTED
Definition: debug.h:115

◆ PfCreateInterface()

PFAPIENTRY PfCreateInterface ( DWORD  dwName,
PFFORWARD_ACTION  inAction,
PFFORWARD_ACTION  outAction,
BOOL  bUseLog,
BOOL  bMustBeUnique,
INTERFACE_HANDLE ppInterface 
)

Definition at line 61 of file iphlpapi_fakestubs.c.

68 {
71 }
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define UNIMPLEMENTED
Definition: debug.h:115

◆ PfDeleteInterface()

PFAPIENTRY PfDeleteInterface ( INTERFACE_HANDLE  pInterface)

Definition at line 74 of file iphlpapi_fakestubs.c.

76 {
79 }
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define UNIMPLEMENTED
Definition: debug.h:115

◆ PfDeleteLog()

PFAPIENTRY PfDeleteLog ( VOID  )

Definition at line 82 of file iphlpapi_fakestubs.c.

84 {
87 }
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define UNIMPLEMENTED
Definition: debug.h:115

◆ PfGetInterfaceStatistics()

PFAPIENTRY PfGetInterfaceStatistics ( INTERFACE_HANDLE  pInterface,
PPF_INTERFACE_STATS  ppfStats,
PDWORD  pdwBufferSize,
BOOL  fResetCounters 
)

Definition at line 90 of file iphlpapi_fakestubs.c.

95 {
98 }
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define UNIMPLEMENTED
Definition: debug.h:115

◆ PfMakeLog()

PFAPIENTRY PfMakeLog ( HANDLE  hEvent)

Definition at line 101 of file iphlpapi_fakestubs.c.

103 {
106 }
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define UNIMPLEMENTED
Definition: debug.h:115

◆ PfRebindFilters()

PFAPIENTRY PfRebindFilters ( INTERFACE_HANDLE  pInterface,
PPF_LATEBIND_INFO  pLateBindInfo 
)

Definition at line 109 of file iphlpapi_fakestubs.c.

112 {
115 }
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define UNIMPLEMENTED
Definition: debug.h:115

◆ PfRemoveFilterHandles()

PFAPIENTRY PfRemoveFilterHandles ( INTERFACE_HANDLE  pInterface,
DWORD  cFilters,
PFILTER_HANDLE  pvHandles 
)

Definition at line 118 of file iphlpapi_fakestubs.c.

122 {
125 }
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define UNIMPLEMENTED
Definition: debug.h:115

◆ PfRemoveFiltersFromInterface()

PFAPIENTRY PfRemoveFiltersFromInterface ( INTERFACE_HANDLE  ih,
DWORD  cInFilters,
PPF_FILTER_DESCRIPTOR  pfiltIn,
DWORD  cOutFilters,
PPF_FILTER_DESCRIPTOR  pfiltOut 
)

Definition at line 128 of file iphlpapi_fakestubs.c.

134 {
137 }
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define UNIMPLEMENTED
Definition: debug.h:115

◆ PfRemoveGlobalFilterFromInterface()

PFAPIENTRY PfRemoveGlobalFilterFromInterface ( INTERFACE_HANDLE  pInterface,
GLOBAL_FILTER  gfFilter 
)

Definition at line 140 of file iphlpapi_fakestubs.c.

143 {
146 }
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define UNIMPLEMENTED
Definition: debug.h:115

◆ PfSetLogBuffer()

PFAPIENTRY PfSetLogBuffer ( PBYTE  pbBuffer,
DWORD  dwSize,
DWORD  dwThreshold,
DWORD  dwEntries,
PDWORD  pdwLoggedEntries,
PDWORD  pdwLostEntries,
PDWORD  pdwSizeUsed 
)

Definition at line 149 of file iphlpapi_fakestubs.c.

157 {
160 }
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define UNIMPLEMENTED
Definition: debug.h:115

◆ PfTestPacket()

PFAPIENTRY PfTestPacket ( INTERFACE_HANDLE pInInterface  OPTIONAL,
INTERFACE_HANDLE pOutInterface  OPTIONAL,
DWORD  cBytes,
PBYTE  pbPacket,
PPFFORWARD_ACTION  ppAction 
)

Definition at line 163 of file iphlpapi_fakestubs.c.

169 {
172 }
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define UNIMPLEMENTED
Definition: debug.h:115

◆ PfUnBindInterface()

PFAPIENTRY PfUnBindInterface ( INTERFACE_HANDLE  pInterface)

Definition at line 175 of file iphlpapi_fakestubs.c.

177 {
180 }
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define UNIMPLEMENTED
Definition: debug.h:115