- Get NDIS (almost) compiling with msvc/ddk.
[reactos.git] / reactos / drivers / net / ndis / include / efilter.h
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 #ifndef __EFILTER_H
9 #define __EFILTER_H
10
11 #define DECLARE_UNKNOWN_STRUCT(BaseName) \
12 typedef struct _##BaseName BaseName, *P##BaseName;
13
14 #define DECLARE_UNKNOWN_PROTOTYPE(Name) \
15 typedef VOID (*(Name))(VOID);
16
17 #define ETH_LENGTH_OF_ADDRESS 6
18
19 DECLARE_UNKNOWN_STRUCT(ETH_BINDING_INFO)
20
21 DECLARE_UNKNOWN_PROTOTYPE(ETH_ADDRESS_CHANGE)
22 DECLARE_UNKNOWN_PROTOTYPE(ETH_FILTER_CHANGE)
23 DECLARE_UNKNOWN_PROTOTYPE(ETH_DEFERRED_CLOSE)
24
25 typedef struct ETHI_FILTER {
26 PNDIS_SPIN_LOCK Lock;
27 CHAR (*MCastAddressBuf)[ETH_LENGTH_OF_ADDRESS];
28 struct _NDIS_MINIPORT_BLOCK *Miniport;
29 UINT CombinedPacketFilter;
30 PETH_BINDING_INFO OpenList;
31 ETH_ADDRESS_CHANGE AddressChangeAction;
32 ETH_FILTER_CHANGE FilterChangeAction;
33 ETH_DEFERRED_CLOSE CloseAction;
34 UINT MaxMulticastAddresses;
35 UINT NumAddresses;
36 UCHAR AdapterAddress[ETH_LENGTH_OF_ADDRESS];
37 UINT OldCombinedPacketFilter;
38 CHAR (*OldMCastAddressBuf)[ETH_LENGTH_OF_ADDRESS];
39 UINT OldNumAddresses;
40 PETH_BINDING_INFO DirectedList;
41 PETH_BINDING_INFO BMList;
42 PETH_BINDING_INFO MCastSet;
43 #if defined(NDIS_WRAPPER)
44 UINT NumOpens;
45 PVOID BindListLock;
46 #endif
47 } ETHI_FILTER, *PETHI_FILTER;
48
49
50 BOOLEAN
51 NTAPI
52 EthCreateFilter(
53 IN UINT MaximumMulticastAddresses,
54 IN PUCHAR AdapterAddress,
55 OUT PETH_FILTER * Filter);
56
57 VOID
58 NTAPI
59 EthFilterDprIndicateReceive(
60 IN PETH_FILTER Filter,
61 IN NDIS_HANDLE MacReceiveContext,
62 IN PCHAR Address,
63 IN PVOID HeaderBuffer,
64 IN UINT HeaderBufferSize,
65 IN PVOID LookaheadBuffer,
66 IN UINT LookaheadBufferSize,
67 IN UINT PacketSize);
68
69 VOID
70 NTAPI
71 EthFilterDprIndicateReceiveComplete(
72 IN PETH_FILTER Filter);
73
74 #endif /* __EFILTER_H */
75
76 /* EOF */
77