2000-08-01 18:43:15 +00:00
|
|
|
/*
|
|
|
|
* COPYRIGHT: See COPYING in the top level directory
|
|
|
|
* PROJECT: ReactOS NDIS library
|
|
|
|
* FILE: ndis/protocol.h
|
|
|
|
* PURPOSE: Definitions for routines used by NDIS protocol drivers
|
|
|
|
*/
|
|
|
|
|
2010-02-26 11:43:19 +00:00
|
|
|
#pragma once
|
2000-08-01 18:43:15 +00:00
|
|
|
|
|
|
|
typedef struct _PROTOCOL_BINDING {
|
|
|
|
LIST_ENTRY ListEntry; /* Entry on global list */
|
|
|
|
KSPIN_LOCK Lock; /* Protecting spin lock */
|
|
|
|
NDIS_PROTOCOL_CHARACTERISTICS Chars; /* Characteristics */
|
|
|
|
WORK_QUEUE_ITEM WorkItem; /* Work item */
|
|
|
|
LIST_ENTRY AdapterListHead; /* List of adapter bindings */
|
|
|
|
} PROTOCOL_BINDING, *PPROTOCOL_BINDING;
|
|
|
|
|
|
|
|
#define GET_PROTOCOL_BINDING(Handle)((PPROTOCOL_BINDING)Handle)
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct _ADAPTER_BINDING {
|
2002-09-08 10:23:54 +00:00
|
|
|
NDIS_OPEN_BLOCK NdisOpenBlock; /* NDIS defined fields */
|
2000-08-27 16:31:41 +00:00
|
|
|
|
|
|
|
LIST_ENTRY ListEntry; /* Entry on global list */
|
|
|
|
LIST_ENTRY ProtocolListEntry; /* Entry on protocol binding adapter list */
|
|
|
|
LIST_ENTRY AdapterListEntry; /* Entry on logical adapter list */
|
|
|
|
KSPIN_LOCK Lock; /* Protecting spin lock */
|
|
|
|
PPROTOCOL_BINDING ProtocolBinding; /* Protocol that opened adapter */
|
|
|
|
PLOGICAL_ADAPTER Adapter; /* Adapter opened by protocol */
|
2000-08-01 18:43:15 +00:00
|
|
|
} ADAPTER_BINDING, *PADAPTER_BINDING;
|
|
|
|
|
2005-08-24 01:51:49 +00:00
|
|
|
typedef struct _NDIS_REQUEST_MAC_BLOCK {
|
|
|
|
PVOID Unknown1;
|
|
|
|
PNDIS_OPEN_BLOCK Binding;
|
|
|
|
PVOID Unknown3;
|
|
|
|
PVOID Unknown4;
|
|
|
|
} NDIS_REQUEST_MAC_BLOCK, *PNDIS_REQUEST_MAC_BLOCK;
|
|
|
|
|
2000-08-01 18:43:15 +00:00
|
|
|
#define GET_ADAPTER_BINDING(Handle)((PADAPTER_BINDING)Handle)
|
|
|
|
|
|
|
|
|
|
|
|
extern LIST_ENTRY ProtocolListHead;
|
|
|
|
extern KSPIN_LOCK ProtocolListLock;
|
|
|
|
|
2000-08-27 16:31:41 +00:00
|
|
|
|
|
|
|
NDIS_STATUS
|
|
|
|
ProIndicatePacket(
|
|
|
|
PLOGICAL_ADAPTER Adapter,
|
|
|
|
PNDIS_PACKET Packet);
|
|
|
|
|
2009-04-19 03:35:06 +00:00
|
|
|
VOID NTAPI
|
|
|
|
ProSendPackets(
|
|
|
|
IN NDIS_HANDLE NdisBindingHandle,
|
|
|
|
IN PPNDIS_PACKET PacketArray,
|
|
|
|
IN UINT NumberOfPackets);
|
|
|
|
|
2009-05-05 01:08:06 +00:00
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
NdisIPnPQueryStopDevice(
|
|
|
|
IN PDEVICE_OBJECT DeviceObject,
|
|
|
|
PIRP Irp);
|
|
|
|
|
2009-05-05 01:24:30 +00:00
|
|
|
NTSTATUS
|
|
|
|
NTAPI
|
|
|
|
NdisIPnPCancelStopDevice(
|
|
|
|
IN PDEVICE_OBJECT DeviceObject,
|
|
|
|
PIRP Irp);
|
|
|
|
|
2009-06-02 00:37:23 +00:00
|
|
|
NDIS_STATUS
|
|
|
|
proSendPacketToMiniport(PLOGICAL_ADAPTER Adapter, PNDIS_PACKET Packet);
|
|
|
|
|
2010-07-22 19:01:49 +00:00
|
|
|
VOID
|
|
|
|
NTAPI
|
2010-07-23 16:34:35 +00:00
|
|
|
ndisBindMiniportsToProtocol(OUT PNDIS_STATUS Status, IN PPROTOCOL_BINDING Protocol);
|
2010-07-22 19:01:49 +00:00
|
|
|
|
2000-08-01 18:43:15 +00:00
|
|
|
/* EOF */
|