mirror of
https://github.com/reactos/reactos.git
synced 2025-04-20 12:29:56 +00:00
couple of new data structs and changes to LOGICAL_ADAPTER struct for resource tracking, dma, etc.
svn path=/trunk/; revision=5977
This commit is contained in:
parent
ce2f631b26
commit
7f9734c8df
1 changed files with 53 additions and 2 deletions
|
@ -47,12 +47,37 @@ typedef struct _MINIPORT_CONFIGURATION_CONTEXT {
|
|||
/* Bugcheck callback context */
|
||||
typedef struct _MINIPORT_BUGCHECK_CONTEXT {
|
||||
PVOID DriverContext;
|
||||
ADAPTER_SHUTDOWN_HANDLER ShutdownHandler;
|
||||
ADAPTER_SHUTDOWN_HANDLER ShutdownHandler;
|
||||
PKBUGCHECK_CALLBACK_RECORD CallbackRecord;
|
||||
} MINIPORT_BUGCHECK_CONTEXT, *PMINIPORT_BUGCHECK_CONTEXT;
|
||||
|
||||
/* allocated map register list */
|
||||
typedef struct _ADAPTER_MAP_REGISTER_LIST {
|
||||
LIST_ENTRY ListEntry;
|
||||
UINT NumRegisters;
|
||||
PVOID MapRegister;
|
||||
} ADAPTER_MAP_REGISTER_LIST, *PADAPTER_MAP_REGISTER_LIST;
|
||||
|
||||
/* a miniport's shared memory */
|
||||
typedef struct _MINIPORT_SHARED_MEMORY {
|
||||
PADAPTER_OBJECT AdapterObject;
|
||||
ULONG Length;
|
||||
PHYSICAL_ADDRESS PhysicalAddress;
|
||||
PVOID VirtualAddress;
|
||||
BOOLEAN Cached;
|
||||
} MINIPORT_SHARED_MEMORY, *PMINIPORT_SHARED_MEMORY;
|
||||
|
||||
#define GET_MINIPORT_DRIVER(Handle)((PMINIPORT_DRIVER)Handle)
|
||||
|
||||
/* detected adapters that are driverless */
|
||||
typedef struct _ORPHAN_ADATER {
|
||||
LIST_ENTRY ListEntry;
|
||||
NDIS_STRING RegistryPath;
|
||||
INTERFACE_TYPE BusType;
|
||||
ULONG BusNumber;
|
||||
ULONG SlotNumber;
|
||||
} ORPHAN_ADAPTER, *PORPHAN_ADAPTER;
|
||||
|
||||
/* Information about a logical adapter */
|
||||
typedef struct _LOGICAL_ADAPTER {
|
||||
NDIS_MINIPORT_BLOCK NdisMiniportBlock; /* NDIS defined fields */
|
||||
|
@ -88,7 +113,23 @@ typedef struct _LOGICAL_ADAPTER {
|
|||
PNDIS_PACKET PacketQueueTail; /* Head of packet queue */
|
||||
|
||||
PNDIS_PACKET LoopPacket; /* Current packet beeing looped */
|
||||
PMINIPORT_BUGCHECK_CONTEXT BugcheckContext; /* Adapter's shutdown handler */
|
||||
PMINIPORT_BUGCHECK_CONTEXT BugcheckContext; /* Adapter's shutdown handler */
|
||||
UINT MapRegistersRequested; /* Number of outstanding map registers requested */
|
||||
PADAPTER_OBJECT AdapterObject; /* Adapter object for DMA ops */
|
||||
ADAPTER_MAP_REGISTER_LIST MapRegisterList; /* List of allocated map registers */
|
||||
KEVENT DmaEvent; /* Event to support DMA register allocation */
|
||||
KSPIN_LOCK DmaLock; /* Spinlock to protect the dma list */
|
||||
UINT BusNumber;
|
||||
INTERFACE_TYPE BusType;
|
||||
UINT SlotNumber;
|
||||
ULONG Irql;
|
||||
ULONG Vector;
|
||||
KAFFINITY Affinity;
|
||||
PHYSICAL_ADDRESS BaseIoAddress;
|
||||
PHYSICAL_ADDRESS BaseMemoryAddress; /* multiple ranges? */
|
||||
ULONG DmaChannel;
|
||||
ULONG DmaPort;
|
||||
PNDIS_MINIPORT_TIMER Timer;
|
||||
} LOGICAL_ADAPTER, *PLOGICAL_ADAPTER;
|
||||
|
||||
#define GET_LOGICAL_ADAPTER(Handle)((PLOGICAL_ADAPTER)Handle)
|
||||
|
@ -152,6 +193,16 @@ MiniDoRequest(
|
|||
PLOGICAL_ADAPTER Adapter,
|
||||
PNDIS_REQUEST NdisRequest);
|
||||
|
||||
BOOLEAN
|
||||
NdisFindDevice(
|
||||
UINT VendorID,
|
||||
UINT DeviceID,
|
||||
PUINT BusNumber,
|
||||
PUINT SlotNumber);
|
||||
|
||||
VOID
|
||||
NdisStartDevices();
|
||||
|
||||
#endif /* __MINIPORT_H */
|
||||
|
||||
/* EOF */
|
||||
|
|
Loading…
Reference in a new issue