mirror of
https://github.com/reactos/reactos.git
synced 2025-07-31 09:21:50 +00:00
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys.
This commit is contained in:
parent
b94e2d8ca0
commit
c2c66aff7d
24198 changed files with 0 additions and 37285 deletions
57
drivers/network/ndis/include/buffer.h
Normal file
57
drivers/network/ndis/include/buffer.h
Normal file
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: include/buffer.h
|
||||
* PURPOSE: Buffer management routine definitions
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
/* FIXME: Possibly move this to ntddk.h */
|
||||
typedef struct _NETWORK_HEADER
|
||||
{
|
||||
MDL Mdl; /* Memory Descriptor List */
|
||||
struct _NETWORK_HEADER *Next; /* Link to next NDIS buffer in pool */
|
||||
struct _NDIS_BUFFER_POOL *BufferPool; /* Link to NDIS buffer pool */
|
||||
} NETWORK_HEADER, *PNETWORK_HEADER;
|
||||
|
||||
typedef struct _NDIS_BUFFER_POOL
|
||||
{
|
||||
KSPIN_LOCK SpinLock;
|
||||
PNETWORK_HEADER FreeList;
|
||||
NETWORK_HEADER Buffers[0];
|
||||
} NDIS_BUFFER_POOL, *PNDIS_BUFFER_POOL;
|
||||
|
||||
typedef struct _NDISI_PACKET_POOL {
|
||||
NDIS_SPIN_LOCK SpinLock;
|
||||
struct _NDIS_PACKET *FreeList;
|
||||
UINT PacketLength;
|
||||
UCHAR Buffer[1];
|
||||
} NDISI_PACKET_POOL, * PNDISI_PACKET_POOL;
|
||||
|
||||
UINT CopyBufferToBufferChain(
|
||||
PNDIS_BUFFER DstBuffer,
|
||||
UINT DstOffset,
|
||||
PUCHAR SrcData,
|
||||
UINT Length);
|
||||
|
||||
UINT CopyBufferChainToBuffer(
|
||||
PUCHAR DstData,
|
||||
PNDIS_BUFFER SrcBuffer,
|
||||
UINT SrcOffset,
|
||||
UINT Length);
|
||||
|
||||
UINT CopyPacketToBuffer(
|
||||
PUCHAR DstData,
|
||||
PNDIS_PACKET SrcPacket,
|
||||
UINT SrcOffset,
|
||||
UINT Length);
|
||||
|
||||
UINT CopyPacketToBufferChain(
|
||||
PNDIS_BUFFER DstBuffer,
|
||||
UINT DstOffset,
|
||||
PNDIS_PACKET SrcPacket,
|
||||
UINT SrcOffset,
|
||||
UINT Length);
|
||||
|
||||
/* EOF */
|
73
drivers/network/ndis/include/debug.h
Normal file
73
drivers/network/ndis/include/debug.h
Normal file
|
@ -0,0 +1,73 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: include/debug.h
|
||||
* PURPOSE: Debugging support macros
|
||||
* DEFINES: DBG - Enable debug output
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define NORMAL_MASK 0x000000FF
|
||||
#define SPECIAL_MASK 0xFFFFFF00
|
||||
#define MIN_TRACE 0x00000001
|
||||
#define MID_TRACE 0x00000002
|
||||
#define MAX_TRACE 0x00000003
|
||||
|
||||
#define DEBUG_MINIPORT 0x00000200
|
||||
#define DEBUG_PROTOCOL 0x00000400
|
||||
#define DEBUG_PACKET 0x00000800
|
||||
#define DEBUG_ULTRA 0xFFFFFFFF
|
||||
|
||||
#if DBG
|
||||
|
||||
extern ULONG DebugTraceLevel;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
|
||||
#define NDIS_DbgPrint(_t_, _x_) \
|
||||
if ((_t_ > NORMAL_MASK) \
|
||||
? (DebugTraceLevel & _t_) > NORMAL_MASK \
|
||||
: (DebugTraceLevel & NORMAL_MASK) >= _t_) { \
|
||||
DbgPrint("(%s:%d) ", __FILE__, __LINE__); \
|
||||
DbgPrint _x_ ; \
|
||||
}
|
||||
|
||||
#else /* _MSC_VER */
|
||||
|
||||
#define NDIS_DbgPrint(_t_, _x_) \
|
||||
if ((_t_ > NORMAL_MASK) \
|
||||
? (DebugTraceLevel & _t_) > NORMAL_MASK \
|
||||
: (DebugTraceLevel & NORMAL_MASK) >= _t_) { \
|
||||
DbgPrint("(%s:%d)(%s) ", __FILE__, __LINE__, __FUNCTION__); \
|
||||
DbgPrint _x_ ; \
|
||||
}
|
||||
|
||||
#endif /* _MSC_VER */
|
||||
|
||||
#define ASSERT_IRQL(x) ASSERT(KeGetCurrentIrql() <= (x))
|
||||
|
||||
#else /* DBG */
|
||||
|
||||
#define NDIS_DbgPrint(_t_, _x_)
|
||||
|
||||
#define ASSERT_IRQL(x)
|
||||
/*#define ASSERT(x)*/
|
||||
|
||||
#endif /* DBG */
|
||||
|
||||
|
||||
#define assert(x) ASSERT(x)
|
||||
#define assert_irql(x) ASSERT_IRQL(x)
|
||||
|
||||
|
||||
#define UNIMPLEMENTED \
|
||||
NDIS_DbgPrint(MIN_TRACE, ("Unimplemented.\n", __FUNCTION__));
|
||||
|
||||
|
||||
#define CHECKPOINT \
|
||||
do { NDIS_DbgPrint(MIN_TRACE, ("\n")); } while(0);
|
||||
|
||||
#define CP CHECKPOINT
|
||||
|
||||
/* EOF */
|
78
drivers/network/ndis/include/efilter.h
Normal file
78
drivers/network/ndis/include/efilter.h
Normal file
|
@ -0,0 +1,78 @@
|
|||
/*
|
||||
* 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 */
|
202
drivers/network/ndis/include/miniport.h
Normal file
202
drivers/network/ndis/include/miniport.h
Normal file
|
@ -0,0 +1,202 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: ndis/miniport.h
|
||||
* PURPOSE: Definitions for routines used by NDIS miniport drivers
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
struct _ADAPTER_BINDING;
|
||||
|
||||
typedef struct _HARDWARE_ADDRESS {
|
||||
union {
|
||||
UCHAR Medium802_3[ETH_LENGTH_OF_ADDRESS];
|
||||
} Type;
|
||||
} HARDWARE_ADDRESS, *PHARDWARE_ADDRESS;
|
||||
|
||||
/* Information about a miniport */
|
||||
typedef struct _NDIS_M_DRIVER_BLOCK {
|
||||
LIST_ENTRY ListEntry; /* Entry on global list */
|
||||
KSPIN_LOCK Lock; /* Protecting spin lock */
|
||||
NDIS_MINIPORT_CHARACTERISTICS MiniportCharacteristics; /* Miniport characteristics */
|
||||
WORK_QUEUE_ITEM WorkItem; /* Work item */
|
||||
PDRIVER_OBJECT DriverObject; /* Driver object of miniport */
|
||||
LIST_ENTRY DeviceList; /* Adapters created by miniport */
|
||||
PUNICODE_STRING RegistryPath; /* SCM Registry key */
|
||||
#if !defined(_MSC_VER) && defined(_NDIS_)
|
||||
} NDIS_M_DRIVER_BLOCK_COMPATIBILITY_HACK_DONT_USE;
|
||||
#else
|
||||
} NDIS_M_DRIVER_BLOCK, *PNDIS_M_DRIVER_BLOCK;
|
||||
#endif
|
||||
|
||||
/* There must be some defined struct to do this... */
|
||||
typedef struct _NDIS_M_DEVICE_BLOCK {
|
||||
PDEVICE_OBJECT DeviceObject;
|
||||
PNDIS_STRING SymbolicName;
|
||||
PDRIVER_DISPATCH MajorFunction[IRP_MJ_MAXIMUM_FUNCTION+1];
|
||||
} NDIS_M_DEVICE_BLOCK, *PNDIS_M_DEVICE_BLOCK;
|
||||
|
||||
/* resources allocated on behalf on the miniport */
|
||||
#define MINIPORT_RESOURCE_TYPE_REGISTRY_DATA 0
|
||||
#define MINIPORT_RESOURCE_TYPE_MEMORY 1
|
||||
typedef struct _MINIPORT_RESOURCE {
|
||||
LIST_ENTRY ListEntry;
|
||||
ULONG ResourceType;
|
||||
PVOID Resource;
|
||||
} MINIPORT_RESOURCE, *PMINIPORT_RESOURCE;
|
||||
|
||||
/* Configuration context */
|
||||
typedef struct _MINIPORT_CONFIGURATION_CONTEXT {
|
||||
NDIS_HANDLE Handle;
|
||||
LIST_ENTRY ResourceListHead;
|
||||
KSPIN_LOCK ResourceLock;
|
||||
} MINIPORT_CONFIGURATION_CONTEXT, *PMINIPORT_CONFIGURATION_CONTEXT;
|
||||
|
||||
/* Bugcheck callback context */
|
||||
typedef struct _MINIPORT_BUGCHECK_CONTEXT {
|
||||
PVOID DriverContext;
|
||||
ADAPTER_SHUTDOWN_HANDLER ShutdownHandler;
|
||||
PKBUGCHECK_CALLBACK_RECORD CallbackRecord;
|
||||
} MINIPORT_BUGCHECK_CONTEXT, *PMINIPORT_BUGCHECK_CONTEXT;
|
||||
|
||||
/* a miniport's shared memory */
|
||||
typedef struct _MINIPORT_SHARED_MEMORY {
|
||||
PDMA_ADAPTER AdapterObject;
|
||||
ULONG Length;
|
||||
PHYSICAL_ADDRESS PhysicalAddress;
|
||||
PVOID VirtualAddress;
|
||||
BOOLEAN Cached;
|
||||
PNDIS_MINIPORT_BLOCK Adapter;
|
||||
PVOID Context;
|
||||
PIO_WORKITEM WorkItem;
|
||||
} MINIPORT_SHARED_MEMORY, *PMINIPORT_SHARED_MEMORY;
|
||||
|
||||
/* A structure of WrapperConfigurationContext (not compatible with the
|
||||
Windows one). */
|
||||
typedef struct _NDIS_WRAPPER_CONTEXT {
|
||||
HANDLE RegistryHandle;
|
||||
PDEVICE_OBJECT DeviceObject;
|
||||
ULONG BusNumber;
|
||||
ULONG SlotNumber;
|
||||
} NDIS_WRAPPER_CONTEXT, *PNDIS_WRAPPER_CONTEXT;
|
||||
|
||||
#define GET_MINIPORT_DRIVER(Handle)((PNDIS_M_DRIVER_BLOCK)Handle)
|
||||
|
||||
/* Information about a logical adapter */
|
||||
typedef struct _LOGICAL_ADAPTER
|
||||
{
|
||||
NDIS_MINIPORT_BLOCK NdisMiniportBlock; /* NDIS defined fields */
|
||||
PNDIS_MINIPORT_WORK_ITEM WorkQueueHead; /* Head of work queue */
|
||||
PNDIS_MINIPORT_WORK_ITEM WorkQueueTail; /* Tail of work queue */
|
||||
LIST_ENTRY ListEntry; /* Entry on global list */
|
||||
LIST_ENTRY MiniportListEntry; /* Entry on miniport driver list */
|
||||
LIST_ENTRY ProtocolListHead; /* List of bound protocols */
|
||||
ULONG MediumHeaderSize; /* Size of medium header */
|
||||
HARDWARE_ADDRESS Address; /* Hardware address of adapter */
|
||||
ULONG AddressLength; /* Length of hardware address */
|
||||
PMINIPORT_BUGCHECK_CONTEXT BugcheckContext; /* Adapter's shutdown handler */
|
||||
} LOGICAL_ADAPTER, *PLOGICAL_ADAPTER;
|
||||
|
||||
#define GET_LOGICAL_ADAPTER(Handle)((PLOGICAL_ADAPTER)Handle)
|
||||
|
||||
extern LIST_ENTRY MiniportListHead;
|
||||
extern KSPIN_LOCK MiniportListLock;
|
||||
extern LIST_ENTRY AdapterListHead;
|
||||
extern KSPIN_LOCK AdapterListLock;
|
||||
|
||||
|
||||
#if DBG
|
||||
VOID
|
||||
MiniDisplayPacket(
|
||||
PNDIS_PACKET Packet);
|
||||
#endif /* DBG */
|
||||
|
||||
VOID
|
||||
MiniIndicateData(
|
||||
PLOGICAL_ADAPTER Adapter,
|
||||
NDIS_HANDLE MacReceiveContext,
|
||||
PVOID HeaderBuffer,
|
||||
UINT HeaderBufferSize,
|
||||
PVOID LookaheadBuffer,
|
||||
UINT LookaheadBufferSize,
|
||||
UINT PacketSize);
|
||||
|
||||
BOOLEAN
|
||||
MiniAdapterHasAddress(
|
||||
PLOGICAL_ADAPTER Adapter,
|
||||
PNDIS_PACKET Packet);
|
||||
|
||||
PLOGICAL_ADAPTER
|
||||
MiniLocateDevice(
|
||||
PNDIS_STRING AdapterName);
|
||||
|
||||
NDIS_STATUS
|
||||
MiniQueryInformation(
|
||||
PLOGICAL_ADAPTER Adapter,
|
||||
NDIS_OID Oid,
|
||||
ULONG Size,
|
||||
PVOID Buffer,
|
||||
PULONG BytesWritten);
|
||||
|
||||
VOID
|
||||
FASTCALL
|
||||
MiniQueueWorkItem(
|
||||
PLOGICAL_ADAPTER Adapter,
|
||||
NDIS_WORK_ITEM_TYPE WorkItemType,
|
||||
PVOID WorkItemContext,
|
||||
BOOLEAN Top);
|
||||
|
||||
NDIS_STATUS
|
||||
FASTCALL
|
||||
MiniDequeueWorkItem(
|
||||
PLOGICAL_ADAPTER Adapter,
|
||||
NDIS_WORK_ITEM_TYPE *WorkItemType,
|
||||
PVOID *WorkItemContext);
|
||||
|
||||
NDIS_STATUS
|
||||
MiniDoRequest(
|
||||
PLOGICAL_ADAPTER Adapter,
|
||||
PNDIS_REQUEST NdisRequest);
|
||||
|
||||
BOOLEAN
|
||||
NdisFindDevice(
|
||||
UINT VendorID,
|
||||
UINT DeviceID,
|
||||
PUINT BusNumber,
|
||||
PUINT SlotNumber);
|
||||
|
||||
VOID
|
||||
NdisStartDevices(VOID);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
MiniportWorker(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PVOID WorkItem);
|
||||
|
||||
VOID NTAPI
|
||||
MiniSendComplete(
|
||||
IN NDIS_HANDLE MiniportAdapterHandle,
|
||||
IN PNDIS_PACKET Packet,
|
||||
IN NDIS_STATUS Status);
|
||||
|
||||
BOOLEAN
|
||||
MiniIsBusy(
|
||||
PLOGICAL_ADAPTER Adapter,
|
||||
NDIS_WORK_ITEM_TYPE Type);
|
||||
|
||||
NDIS_STATUS
|
||||
MiniReset(
|
||||
PLOGICAL_ADAPTER Adapter);
|
||||
|
||||
VOID
|
||||
MiniDoAddressingReset(
|
||||
PLOGICAL_ADAPTER Adapter);
|
||||
|
||||
VOID
|
||||
MiniWorkItemComplete(
|
||||
PLOGICAL_ADAPTER Adapter,
|
||||
NDIS_WORK_ITEM_TYPE WorkItemType);
|
||||
|
||||
/* EOF */
|
64
drivers/network/ndis/include/ndissys.h
Normal file
64
drivers/network/ndis/include/ndissys.h
Normal file
|
@ -0,0 +1,64 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS NDIS library
|
||||
* FILE: ndissys.h
|
||||
* PURPOSE: NDIS library definitions
|
||||
* NOTES: Spin lock acquire order:
|
||||
* - Miniport list lock
|
||||
* - Adapter list lock
|
||||
*/
|
||||
#ifndef __NDISSYS_H
|
||||
#define __NDISSYS_H
|
||||
|
||||
#include <ndis.h>
|
||||
|
||||
#include "debug.h"
|
||||
#include "miniport.h"
|
||||
#include "protocol.h"
|
||||
#include "efilter.h"
|
||||
#include "buffer.h"
|
||||
|
||||
/* Exported functions */
|
||||
#ifndef EXPORT
|
||||
#define EXPORT NTAPI
|
||||
#endif
|
||||
|
||||
/* the version of NDIS we claim to be */
|
||||
#define NDIS_VERSION 0x00050001
|
||||
|
||||
#define NDIS_TAG 0x4e4d4953
|
||||
|
||||
#define MIN(value1, value2) \
|
||||
((value1 < value2)? value1 : value2)
|
||||
|
||||
#define MAX(value1, value2) \
|
||||
((value1 > value2)? value1 : value2)
|
||||
|
||||
#define ExInterlockedRemoveEntryList(_List,_Lock) \
|
||||
{ KIRQL OldIrql; \
|
||||
KeAcquireSpinLock(_Lock, &OldIrql); \
|
||||
RemoveEntryList(_List); \
|
||||
KeReleaseSpinLock(_Lock, OldIrql); \
|
||||
}
|
||||
|
||||
/* missing protypes */
|
||||
VOID
|
||||
NTAPI
|
||||
ExGetCurrentProcessorCounts(
|
||||
PULONG ThreadKernelTime,
|
||||
PULONG TotalCpuTime,
|
||||
PULONG ProcessorNumber);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
ExGetCurrentProcessorCpuUsage(
|
||||
PULONG CpuUsage);
|
||||
|
||||
/* portability fixes */
|
||||
#ifdef _M_AMD64
|
||||
#define KfReleaseSpinLock KeReleaseSpinLock
|
||||
#define KefAcquireSpinLockAtDpcLevel KeAcquireSpinLockAtDpcLevel
|
||||
#define KefReleaseSpinLockFromDpcLevel KeReleaseSpinLockFromDpcLevel
|
||||
#endif
|
||||
|
||||
#endif /* __NDISSYS_H */
|
76
drivers/network/ndis/include/protocol.h
Normal file
76
drivers/network/ndis/include/protocol.h
Normal file
|
@ -0,0 +1,76 @@
|
|||
/*
|
||||
* 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
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
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 {
|
||||
NDIS_OPEN_BLOCK NdisOpenBlock; /* NDIS defined fields */
|
||||
|
||||
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 */
|
||||
} ADAPTER_BINDING, *PADAPTER_BINDING;
|
||||
|
||||
typedef struct _NDIS_REQUEST_MAC_BLOCK {
|
||||
PVOID Unknown1;
|
||||
PNDIS_OPEN_BLOCK Binding;
|
||||
PVOID Unknown3;
|
||||
PVOID Unknown4;
|
||||
} NDIS_REQUEST_MAC_BLOCK, *PNDIS_REQUEST_MAC_BLOCK;
|
||||
|
||||
#define GET_ADAPTER_BINDING(Handle)((PADAPTER_BINDING)Handle)
|
||||
|
||||
|
||||
extern LIST_ENTRY ProtocolListHead;
|
||||
extern KSPIN_LOCK ProtocolListLock;
|
||||
|
||||
|
||||
NDIS_STATUS
|
||||
ProIndicatePacket(
|
||||
PLOGICAL_ADAPTER Adapter,
|
||||
PNDIS_PACKET Packet);
|
||||
|
||||
VOID NTAPI
|
||||
ProSendPackets(
|
||||
IN NDIS_HANDLE NdisBindingHandle,
|
||||
IN PPNDIS_PACKET PacketArray,
|
||||
IN UINT NumberOfPackets);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NdisIPnPQueryStopDevice(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
PIRP Irp);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
NdisIPnPCancelStopDevice(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
PIRP Irp);
|
||||
|
||||
NDIS_STATUS
|
||||
proSendPacketToMiniport(PLOGICAL_ADAPTER Adapter, PNDIS_PACKET Packet);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
ndisBindMiniportsToProtocol(OUT PNDIS_STATUS Status, IN PPROTOCOL_BINDING Protocol);
|
||||
|
||||
/* EOF */
|
Loading…
Add table
Add a link
Reference in a new issue