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
15 typedef struct _PROTOCOL_BINDING
{
16 LIST_ENTRY ListEntry
; /* Entry on global list */
17 KSPIN_LOCK Lock
; /* Protecting spin lock */
18 ULONG RefCount
; /* Reference count */
19 NDIS_PROTOCOL_CHARACTERISTICS Chars
; /* Characteristics */
20 WORK_QUEUE_ITEM WorkItem
; /* Work item */
21 LIST_ENTRY AdapterListHead
; /* List of adapter bindings */
22 } PROTOCOL_BINDING
, *PPROTOCOL_BINDING
;
24 #define GET_PROTOCOL_BINDING(Handle)((PPROTOCOL_BINDING)Handle)
27 typedef struct _ADAPTER_BINDING
{
28 LIST_ENTRY ListEntry
; /* Entry on global list */
29 LIST_ENTRY ProtocolListEntry
; /* Entry on protocol binding adapter list */
30 KSPIN_LOCK Lock
; /* Protecting spin lock */
31 ULONG RefCount
; /* Reference count */
32 PLOGICAL_ADAPTER Adapter
; /* Adapter opened by protocol */
33 } ADAPTER_BINDING
, *PADAPTER_BINDING
;
35 #define GET_ADAPTER_BINDING(Handle)((PADAPTER_BINDING)Handle)
38 extern LIST_ENTRY ProtocolListHead
;
39 extern KSPIN_LOCK ProtocolListLock
;
41 #endif /* __PROTOCOL_H */