Introduce device queue structures
This commit is contained in:
@@ -311,6 +311,24 @@ typedef struct _KDESCRIPTOR
|
|||||||
PVOID Base;
|
PVOID Base;
|
||||||
} KDESCRIPTOR, *PKDESCRIPTOR;
|
} 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 */
|
/* Global Descriptor Table (GDT) entry union definition */
|
||||||
typedef struct _KGDTENTRY
|
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 _HPET_REGISTERS HPET_REGISTERS, *PHPET_REGISTERS;
|
||||||
typedef struct _IOAPIC_DATA IOAPIC_DATA, *PIOAPIC_DATA;
|
typedef struct _IOAPIC_DATA IOAPIC_DATA, *PIOAPIC_DATA;
|
||||||
typedef struct _KDESCRIPTOR KDESCRIPTOR, *PKDESCRIPTOR;
|
typedef struct _KDESCRIPTOR KDESCRIPTOR, *PKDESCRIPTOR;
|
||||||
|
typedef struct _KDEVICE_QUEUE KDEVICE_QUEUE, *PKDEVICE_QUEUE;
|
||||||
typedef struct _KEXCEPTION_FRAME KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
|
typedef struct _KEXCEPTION_FRAME KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
|
||||||
typedef struct _KGDTENTRY KGDTENTRY, *PKGDTENTRY;
|
typedef struct _KGDTENTRY KGDTENTRY, *PKGDTENTRY;
|
||||||
typedef struct _KIDTENTRY KIDTENTRY, *PKIDTENTRY;
|
typedef struct _KIDTENTRY KIDTENTRY, *PKIDTENTRY;
|
||||||
|
|||||||
@@ -319,6 +319,16 @@ typedef struct _KDESCRIPTOR
|
|||||||
PVOID Base;
|
PVOID Base;
|
||||||
} KDESCRIPTOR, *PKDESCRIPTOR;
|
} 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 */
|
/* Global Descriptor Table (GDT) entry structure definition */
|
||||||
typedef struct _KGDTENTRY
|
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 _HPET_REGISTERS HPET_REGISTERS, *PHPET_REGISTERS;
|
||||||
typedef struct _IOAPIC_DATA IOAPIC_DATA, *PIOAPIC_DATA;
|
typedef struct _IOAPIC_DATA IOAPIC_DATA, *PIOAPIC_DATA;
|
||||||
typedef struct _KDESCRIPTOR KDESCRIPTOR, *PKDESCRIPTOR;
|
typedef struct _KDESCRIPTOR KDESCRIPTOR, *PKDESCRIPTOR;
|
||||||
|
typedef struct _KDEVICE_QUEUE KDEVICE_QUEUE, *PKDEVICE_QUEUE;
|
||||||
typedef struct _KEXCEPTION_FRAME KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
|
typedef struct _KEXCEPTION_FRAME KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
|
||||||
typedef struct _KGDTENTRY KGDTENTRY, *PKGDTENTRY;
|
typedef struct _KGDTENTRY KGDTENTRY, *PKGDTENTRY;
|
||||||
typedef struct _KIDTENTRY KIDTENTRY, *PKIDTENTRY;
|
typedef struct _KIDTENTRY KIDTENTRY, *PKIDTENTRY;
|
||||||
|
|||||||
@@ -458,6 +458,14 @@ typedef struct _KAPC_STATE
|
|||||||
BOOLEAN UserApcPending;
|
BOOLEAN UserApcPending;
|
||||||
} KAPC_STATE, *PKAPC_STATE;
|
} 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 */
|
/* Mutex object structure definition */
|
||||||
typedef struct _KMUTEX
|
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 _KD_DISPATCH_TABLE KD_DISPATCH_TABLE, *PKD_DISPATCH_TABLE;
|
||||||
typedef struct _KDPC KDPC, *PKDPC;
|
typedef struct _KDPC KDPC, *PKDPC;
|
||||||
typedef struct _KDPC_DATA KDPC_DATA, *PKDPC_DATA;
|
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 _KERNEL_INITIALIZATION_BLOCK KERNEL_INITIALIZATION_BLOCK, *PKERNEL_INITIALIZATION_BLOCK;
|
||||||
typedef struct _KEVENT KEVENT, *PKEVENT;
|
typedef struct _KEVENT KEVENT, *PKEVENT;
|
||||||
typedef struct _KLOCK_QUEUE_HANDLE KLOCK_QUEUE_HANDLE, *PKLOCK_QUEUE_HANDLE;
|
typedef struct _KLOCK_QUEUE_HANDLE KLOCK_QUEUE_HANDLE, *PKLOCK_QUEUE_HANDLE;
|
||||||
|
|||||||
Reference in New Issue
Block a user