ReactOS 0.4.15-dev-7924-g5949c20
protocol.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/protocol.h
5 * PURPOSE: Definitions for routines used by NDIS protocol drivers
6 */
7
8#pragma once
9
10typedef struct _PROTOCOL_BINDING {
11 LIST_ENTRY ListEntry; /* Entry on global list */
12 KSPIN_LOCK Lock; /* Protecting spin lock */
13 NDIS_PROTOCOL_CHARACTERISTICS Chars; /* Characteristics */
14 WORK_QUEUE_ITEM WorkItem; /* Work item */
15 LIST_ENTRY AdapterListHead; /* List of adapter bindings */
17
18#define GET_PROTOCOL_BINDING(Handle)((PPROTOCOL_BINDING)Handle)
19
20
21typedef struct _ADAPTER_BINDING {
22 NDIS_OPEN_BLOCK NdisOpenBlock; /* NDIS defined fields */
23
24 LIST_ENTRY ListEntry; /* Entry on global list */
25 LIST_ENTRY ProtocolListEntry; /* Entry on protocol binding adapter list */
26 LIST_ENTRY AdapterListEntry; /* Entry on logical adapter list */
27 KSPIN_LOCK Lock; /* Protecting spin lock */
28 PPROTOCOL_BINDING ProtocolBinding; /* Protocol that opened adapter */
29 PLOGICAL_ADAPTER Adapter; /* Adapter opened by protocol */
31
38
39#define GET_ADAPTER_BINDING(Handle)((PADAPTER_BINDING)Handle)
40
41
44
45
48 PLOGICAL_ADAPTER Adapter,
50
56
61 PIRP Irp);
62
67 PIRP Irp);
68
71
72VOID
75
76/* EOF */
LONG NTSTATUS
Definition: precomp.h:26
_In_ PIRP Irp
Definition: csq.h:116
LIST_ENTRY ProtocolListHead
Definition: protocol.c:19
NTSTATUS NTAPI NdisIPnPCancelStopDevice(IN PDEVICE_OBJECT DeviceObject, PIRP Irp)
Definition: protocol.c:172
VOID NTAPI ndisBindMiniportsToProtocol(OUT PNDIS_STATUS Status, IN PPROTOCOL_BINDING Protocol)
Definition: protocol.c:908
struct _NDIS_REQUEST_MAC_BLOCK * PNDIS_REQUEST_MAC_BLOCK
struct _ADAPTER_BINDING * PADAPTER_BINDING
struct _NDIS_REQUEST_MAC_BLOCK NDIS_REQUEST_MAC_BLOCK
NDIS_STATUS ProIndicatePacket(PLOGICAL_ADAPTER Adapter, PNDIS_PACKET Packet)
Definition: protocol.c:243
struct _ADAPTER_BINDING ADAPTER_BINDING
struct _PROTOCOL_BINDING PROTOCOL_BINDING
NTSTATUS NTAPI NdisIPnPQueryStopDevice(IN PDEVICE_OBJECT DeviceObject, PIRP Irp)
Definition: protocol.c:154
KSPIN_LOCK ProtocolListLock
Definition: protocol.c:20
NDIS_STATUS proSendPacketToMiniport(PLOGICAL_ADAPTER Adapter, PNDIS_PACKET Packet)
Definition: protocol.c:389
VOID NTAPI ProSendPackets(IN NDIS_HANDLE NdisBindingHandle, IN PPNDIS_PACKET PacketArray, IN UINT NumberOfPackets)
Definition: protocol.c:577
struct _PROTOCOL_BINDING * PPROTOCOL_BINDING
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
Status
Definition: gdiplustypes.h:25
_Must_inspect_result_ _In_ NDIS_HANDLE NdisBindingHandle
Definition: ndis.h:4735
_In_ NDIS_HANDLE _In_ PNDIS_PACKET Packet
Definition: ndis.h:1549
unsigned int UINT
Definition: ndis.h:50
_In_ PPNDIS_PACKET _In_ UINT NumberOfPackets
Definition: ndis.h:5121
_In_ PPNDIS_PACKET PacketArray
Definition: ndis.h:5120
* PNDIS_STATUS
Definition: ndis.h:45
int NDIS_STATUS
Definition: ntddndis.h:475
LIST_ENTRY ProtocolListEntry
Definition: protocol.h:25
PLOGICAL_ADAPTER Adapter
Definition: protocol.h:29
KSPIN_LOCK Lock
Definition: protocol.h:27
NDIS_OPEN_BLOCK NdisOpenBlock
Definition: protocol.h:22
PPROTOCOL_BINDING ProtocolBinding
Definition: protocol.h:28
LIST_ENTRY AdapterListEntry
Definition: protocol.h:26
LIST_ENTRY ListEntry
Definition: protocol.h:24
Definition: typedefs.h:120
PNDIS_OPEN_BLOCK Binding
Definition: protocol.h:34
LIST_ENTRY ListEntry
Definition: protocol.h:11
WORK_QUEUE_ITEM WorkItem
Definition: protocol.h:14
NDIS_PROTOCOL_CHARACTERISTICS Chars
Definition: protocol.h:13
KSPIN_LOCK Lock
Definition: protocol.h:12
LIST_ENTRY AdapterListHead
Definition: protocol.h:15
#define NTAPI
Definition: typedefs.h:36
#define IN
Definition: typedefs.h:39
#define OUT
Definition: typedefs.h:40
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055