mirror of
https://github.com/reactos/reactos.git
synced 2024-08-31 07:38:48 +00:00
79 lines
1.9 KiB
C
79 lines
1.9 KiB
C
/*
|
|
* COPYRIGHT: See COPYING in the top level directory
|
|
* PROJECT: ReactOS NDIS library
|
|
* FILE: ndis/miniport.h
|
|
* PURPOSE: Definitions for Ethernet filter
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#define DECLARE_UNKNOWN_STRUCT(BaseName) \
|
|
typedef struct _##BaseName BaseName, *P##BaseName;
|
|
|
|
#define DECLARE_UNKNOWN_PROTOTYPE(Name) \
|
|
typedef VOID (*(Name))(VOID);
|
|
|
|
#define ETH_LENGTH_OF_ADDRESS 6
|
|
|
|
DECLARE_UNKNOWN_STRUCT(ETH_BINDING_INFO)
|
|
|
|
DECLARE_UNKNOWN_PROTOTYPE(ETH_ADDRESS_CHANGE)
|
|
DECLARE_UNKNOWN_PROTOTYPE(ETH_FILTER_CHANGE)
|
|
DECLARE_UNKNOWN_PROTOTYPE(ETH_DEFERRED_CLOSE)
|
|
|
|
typedef struct ETHI_FILTER {
|
|
PNDIS_SPIN_LOCK Lock;
|
|
CHAR (*MCastAddressBuf)[ETH_LENGTH_OF_ADDRESS];
|
|
struct _NDIS_MINIPORT_BLOCK *Miniport;
|
|
UINT CombinedPacketFilter;
|
|
PETH_BINDING_INFO OpenList;
|
|
ETH_ADDRESS_CHANGE AddressChangeAction;
|
|
ETH_FILTER_CHANGE FilterChangeAction;
|
|
ETH_DEFERRED_CLOSE CloseAction;
|
|
UINT MaxMulticastAddresses;
|
|
UINT NumAddresses;
|
|
UCHAR AdapterAddress[ETH_LENGTH_OF_ADDRESS];
|
|
UINT OldCombinedPacketFilter;
|
|
CHAR (*OldMCastAddressBuf)[ETH_LENGTH_OF_ADDRESS];
|
|
UINT OldNumAddresses;
|
|
PETH_BINDING_INFO DirectedList;
|
|
PETH_BINDING_INFO BMList;
|
|
PETH_BINDING_INFO MCastSet;
|
|
#if defined(NDIS_WRAPPER)
|
|
UINT NumOpens;
|
|
PVOID BindListLock;
|
|
#endif
|
|
} ETHI_FILTER, *PETHI_FILTER;
|
|
|
|
|
|
BOOLEAN
|
|
NTAPI
|
|
EthCreateFilter(
|
|
IN UINT MaximumMulticastAddresses,
|
|
IN PUCHAR AdapterAddress,
|
|
OUT PETH_FILTER * Filter);
|
|
|
|
VOID
|
|
NTAPI
|
|
EthDeleteFilter(
|
|
IN PETH_FILTER Filter);
|
|
|
|
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);
|
|
|
|
VOID
|
|
NTAPI
|
|
EthFilterDprIndicateReceiveComplete(
|
|
IN PETH_FILTER Filter);
|
|
|
|
/* EOF */
|