ReactOS  0.4.15-dev-1367-g07cc0b5
efilter.h
Go to the documentation of this file.
1 /*
2  * COPYRIGHT: See COPYING in the top level directory
3  * PROJECT: ReactOS NDIS library
4  * FILE: ndis/miniport.h
5  * PURPOSE: Definitions for Ethernet filter
6  */
7 
8 #pragma once
9 
10 #define DECLARE_UNKNOWN_STRUCT(BaseName) \
11  typedef struct _##BaseName BaseName, *P##BaseName;
12 
13 #define DECLARE_UNKNOWN_PROTOTYPE(Name) \
14  typedef VOID (*(Name))(VOID);
15 
16 #define ETH_LENGTH_OF_ADDRESS 6
17 
18 DECLARE_UNKNOWN_STRUCT(ETH_BINDING_INFO)
19 
20 DECLARE_UNKNOWN_PROTOTYPE(ETH_ADDRESS_CHANGE)
21 DECLARE_UNKNOWN_PROTOTYPE(ETH_FILTER_CHANGE)
22 DECLARE_UNKNOWN_PROTOTYPE(ETH_DEFERRED_CLOSE)
23 
26  CHAR (*MCastAddressBuf)[ETH_LENGTH_OF_ADDRESS];
29  PETH_BINDING_INFO OpenList;
30  ETH_ADDRESS_CHANGE AddressChangeAction;
31  ETH_FILTER_CHANGE FilterChangeAction;
32  ETH_DEFERRED_CLOSE CloseAction;
35  UCHAR AdapterAddress[ETH_LENGTH_OF_ADDRESS];
37  CHAR (*OldMCastAddressBuf)[ETH_LENGTH_OF_ADDRESS];
39  PETH_BINDING_INFO DirectedList;
40  PETH_BINDING_INFO BMList;
41  PETH_BINDING_INFO MCastSet;
42 #if defined(NDIS_WRAPPER)
43  UINT NumOpens;
44  PVOID BindListLock;
45 #endif
47 
48 
49 BOOLEAN
50 NTAPI
52  IN UINT MaximumMulticastAddresses,
53  IN PUCHAR AdapterAddress,
55 
56 VOID
57 NTAPI
60 
61 VOID
62 NTAPI
65  IN NDIS_HANDLE MacReceiveContext,
67  IN PVOID HeaderBuffer,
68  IN UINT HeaderBufferSize,
69  IN PVOID LookaheadBuffer,
70  IN UINT LookaheadBufferSize,
72 
73 VOID
74 NTAPI
77 
78 /* EOF */
signed char * PCHAR
Definition: retypes.h:7
UINT CombinedPacketFilter
Definition: efilter.h:28
#define IN
Definition: typedefs.h:39
PETH_BINDING_INFO DirectedList
Definition: efilter.h:39
VOID NTAPI EthFilterDprIndicateReceiveComplete(IN PETH_FILTER Filter)
Definition: efilter.c:113
UINT OldCombinedPacketFilter
Definition: efilter.h:36
PETH_BINDING_INFO MCastSet
Definition: efilter.h:41
UINT OldNumAddresses
Definition: efilter.h:38
unsigned char * PUCHAR
Definition: retypes.h:3
PETH_BINDING_INFO OpenList
Definition: efilter.h:29
ETH_FILTER_CHANGE FilterChangeAction
Definition: efilter.h:31
VOID NTAPI EthFilterDprIndicateReceive(IN PETH_FILTER Filter, IN NDIS_HANDLE MacReceiveContext, IN PCHAR Address, IN PVOID HeaderBuffer, IN UINT HeaderBufferSize, IN PVOID LookaheadBuffer, IN UINT LookaheadBufferSize, IN UINT PacketSize)
Definition: efilter.c:69
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
Definition: fltkernel.h:1802
#define DECLARE_UNKNOWN_STRUCT(BaseName)
Definition: efilter.h:10
unsigned char BOOLEAN
static WCHAR Address[46]
Definition: ping.c:68
ETH_ADDRESS_CHANGE AddressChangeAction
Definition: efilter.h:30
UINT NumAddresses
Definition: efilter.h:34
unsigned char UCHAR
Definition: xmlstorage.h:181
struct _X_FILTER * PETH_FILTER
Definition: ndis.h:2266
BOOLEAN NTAPI EthCreateFilter(IN UINT MaximumMulticastAddresses, IN PUCHAR AdapterAddress, OUT PETH_FILTER *Filter)
Definition: efilter.c:16
ETH_DEFERRED_CLOSE CloseAction
Definition: efilter.h:32
struct _NDIS_MINIPORT_BLOCK * Miniport
Definition: efilter.h:27
VOID NTAPI EthDeleteFilter(IN PETH_FILTER Filter)
Definition: efilter.c:57
_In_ USHORT PacketSize
Definition: iofuncs.h:1056
PNDIS_SPIN_LOCK Lock
Definition: efilter.h:25
#define ETH_LENGTH_OF_ADDRESS
Definition: efilter.h:16
unsigned int UINT
Definition: ndis.h:50
#define OUT
Definition: typedefs.h:40
PETH_BINDING_INFO BMList
Definition: efilter.h:40
#define DECLARE_UNKNOWN_PROTOTYPE(Name)
Definition: efilter.h:13
#define CHAR(Char)
struct ETHI_FILTER ETHI_FILTER
struct ETHI_FILTER * PETHI_FILTER
UINT MaxMulticastAddresses
Definition: efilter.h:33