ReactOS 0.4.16-dev-109-gf4cb10f
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
@ GF_FRAGMENTS
Definition: fltdefs.h:71
@ GF_FRAGCACHE
Definition: fltdefs.h:73
@ GF_STRONGHOST
Definition: fltdefs.h:72
enum _GlobalFilter GLOBAL_FILTER

◆ _PfAddresType

Enumerator
PF_IPV4 
PF_IPV6 

Definition at line 76 of file fltdefs.h.

77{
78 PF_IPV4,
enum _PfAddresType PFADDRESSTYPE
enum _PfAddresType * PPFADDRESSTYPE
@ PF_IPV4
Definition: fltdefs.h:78
@ PF_IPV6
Definition: fltdefs.h:79

◆ _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
@ PF_ACTION_FORWARD
Definition: fltdefs.h:84
@ PF_ACTION_DROP
Definition: fltdefs.h:85

◆ _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
@ PFFT_SPOOF
Definition: fltdefs.h:92
@ PFFT_FILTER
Definition: fltdefs.h:90
@ PFFT_FRAG
Definition: fltdefs.h:91
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 UNIMPLEMENTED
Definition: debug.h:118
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102

◆ PfAddGlobalFilterToInterface()

PFAPIENTRY PfAddGlobalFilterToInterface ( INTERFACE_HANDLE  pInterface,
GLOBAL_FILTER  gfFilter 
)

Definition at line 31 of file iphlpapi_fakestubs.c.

34{
37}

◆ PfBindInterfaceToIndex()

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

Definition at line 50 of file iphlpapi_fakestubs.c.

55{
58}

◆ PfBindInterfaceToIPAddress()

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

Definition at line 40 of file iphlpapi_fakestubs.c.

44{
47}

◆ 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}

◆ PfDeleteInterface()

PFAPIENTRY PfDeleteInterface ( INTERFACE_HANDLE  pInterface)

Definition at line 74 of file iphlpapi_fakestubs.c.

76{
79}

◆ PfDeleteLog()

PFAPIENTRY PfDeleteLog ( VOID  )

Definition at line 82 of file iphlpapi_fakestubs.c.

84{
87}

◆ 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}

◆ PfMakeLog()

PFAPIENTRY PfMakeLog ( HANDLE  hEvent)

Definition at line 101 of file iphlpapi_fakestubs.c.

103{
106}

◆ PfRebindFilters()

PFAPIENTRY PfRebindFilters ( INTERFACE_HANDLE  pInterface,
PPF_LATEBIND_INFO  pLateBindInfo 
)

Definition at line 109 of file iphlpapi_fakestubs.c.

112{
115}

◆ PfRemoveFilterHandles()

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

Definition at line 118 of file iphlpapi_fakestubs.c.

122{
125}

◆ 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}

◆ PfRemoveGlobalFilterFromInterface()

PFAPIENTRY PfRemoveGlobalFilterFromInterface ( INTERFACE_HANDLE  pInterface,
GLOBAL_FILTER  gfFilter 
)

Definition at line 140 of file iphlpapi_fakestubs.c.

143{
146}

◆ 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}

◆ 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}

◆ PfUnBindInterface()

PFAPIENTRY PfUnBindInterface ( INTERFACE_HANDLE  pInterface)

Definition at line 175 of file iphlpapi_fakestubs.c.

177{
180}