Introduce device queue structures
This commit is contained in:
@@ -311,6 +311,24 @@ typedef struct _KDESCRIPTOR
|
||||
PVOID Base;
|
||||
} KDESCRIPTOR, *PKDESCRIPTOR;
|
||||
|
||||
/* Device Queue structure definition */
|
||||
typedef struct _KDEVICE_QUEUE
|
||||
{
|
||||
CSHORT Type;
|
||||
CSHORT Size;
|
||||
LIST_ENTRY DeviceListHead;
|
||||
KSPIN_LOCK Lock;
|
||||
union
|
||||
{
|
||||
BOOLEAN Busy;
|
||||
struct
|
||||
{
|
||||
LONGLONG Reserved:8;
|
||||
LONGLONG Hint:56;
|
||||
};
|
||||
};
|
||||
} KDEVICE_QUEUE, *PKDEVICE_QUEUE;
|
||||
|
||||
/* Global Descriptor Table (GDT) entry union definition */
|
||||
typedef struct _KGDTENTRY
|
||||
{
|
||||
|
||||
@@ -50,6 +50,7 @@ typedef struct _HARDWARE_PTE HARDWARE_PTE, *PHARDWARE_PTE;
|
||||
typedef struct _HPET_REGISTERS HPET_REGISTERS, *PHPET_REGISTERS;
|
||||
typedef struct _IOAPIC_DATA IOAPIC_DATA, *PIOAPIC_DATA;
|
||||
typedef struct _KDESCRIPTOR KDESCRIPTOR, *PKDESCRIPTOR;
|
||||
typedef struct _KDEVICE_QUEUE KDEVICE_QUEUE, *PKDEVICE_QUEUE;
|
||||
typedef struct _KEXCEPTION_FRAME KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
|
||||
typedef struct _KGDTENTRY KGDTENTRY, *PKGDTENTRY;
|
||||
typedef struct _KIDTENTRY KIDTENTRY, *PKIDTENTRY;
|
||||
|
||||
@@ -319,6 +319,16 @@ typedef struct _KDESCRIPTOR
|
||||
PVOID Base;
|
||||
} KDESCRIPTOR, *PKDESCRIPTOR;
|
||||
|
||||
/* Device Queue structure definition */
|
||||
typedef struct _KDEVICE_QUEUE
|
||||
{
|
||||
CSHORT Type;
|
||||
CSHORT Size;
|
||||
LIST_ENTRY DeviceListHead;
|
||||
KSPIN_LOCK Lock;
|
||||
BOOLEAN Busy;
|
||||
} KDEVICE_QUEUE, *PKDEVICE_QUEUE;
|
||||
|
||||
/* Global Descriptor Table (GDT) entry structure definition */
|
||||
typedef struct _KGDTENTRY
|
||||
{
|
||||
|
||||
@@ -53,6 +53,7 @@ typedef struct _HARDWARE_MODERN_PTE HARDWARE_MODERN_PTE, *PHARDWARE_MODERN_PTE;
|
||||
typedef struct _HPET_REGISTERS HPET_REGISTERS, *PHPET_REGISTERS;
|
||||
typedef struct _IOAPIC_DATA IOAPIC_DATA, *PIOAPIC_DATA;
|
||||
typedef struct _KDESCRIPTOR KDESCRIPTOR, *PKDESCRIPTOR;
|
||||
typedef struct _KDEVICE_QUEUE KDEVICE_QUEUE, *PKDEVICE_QUEUE;
|
||||
typedef struct _KEXCEPTION_FRAME KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
|
||||
typedef struct _KGDTENTRY KGDTENTRY, *PKGDTENTRY;
|
||||
typedef struct _KIDTENTRY KIDTENTRY, *PKIDTENTRY;
|
||||
|
||||
@@ -458,6 +458,14 @@ typedef struct _KAPC_STATE
|
||||
BOOLEAN UserApcPending;
|
||||
} KAPC_STATE, *PKAPC_STATE;
|
||||
|
||||
/* Device queue entry structure definition */
|
||||
typedef struct _KDEVICE_QUEUE_ENTRY
|
||||
{
|
||||
LIST_ENTRY DeviceListEntry;
|
||||
ULONG SortKey;
|
||||
BOOLEAN Inserted;
|
||||
} KDEVICE_QUEUE_ENTRY, *PKDEVICE_QUEUE_ENTRY;
|
||||
|
||||
/* Mutex object structure definition */
|
||||
typedef struct _KMUTEX
|
||||
{
|
||||
|
||||
@@ -266,6 +266,7 @@ typedef struct _KD_DEBUG_MODE KD_DEBUG_MODE, *PKD_DEBUG_MODE;
|
||||
typedef struct _KD_DISPATCH_TABLE KD_DISPATCH_TABLE, *PKD_DISPATCH_TABLE;
|
||||
typedef struct _KDPC KDPC, *PKDPC;
|
||||
typedef struct _KDPC_DATA KDPC_DATA, *PKDPC_DATA;
|
||||
typedef struct _KDEVICE_QUEUE_ENTRY KDEVICE_QUEUE_ENTRY, *PKDEVICE_QUEUE_ENTRY;
|
||||
typedef struct _KERNEL_INITIALIZATION_BLOCK KERNEL_INITIALIZATION_BLOCK, *PKERNEL_INITIALIZATION_BLOCK;
|
||||
typedef struct _KEVENT KEVENT, *PKEVENT;
|
||||
typedef struct _KLOCK_QUEUE_HANDLE KLOCK_QUEUE_HANDLE, *PKLOCK_QUEUE_HANDLE;
|
||||
|
||||
Reference in New Issue
Block a user