forked from xt-sys/exectos
Implement a system resources management routines
This commit is contained in:
@@ -24,6 +24,11 @@ XTFASTCALL
|
||||
VOID
|
||||
KeAcquireSpinLock(IN OUT PKSPIN_LOCK SpinLock);
|
||||
|
||||
XTAPI
|
||||
XTSTATUS
|
||||
KeAcquireSystemResource(IN SYSTEM_RESOURCE_TYPE ResourceType,
|
||||
OUT PSYSTEM_RESOURCE_HEADER *ResourceHeader);
|
||||
|
||||
XTAPI
|
||||
BOOLEAN
|
||||
KeCancelTimer(IN PKTIMER Timer);
|
||||
@@ -32,6 +37,11 @@ XTFASTCALL
|
||||
KRUNLEVEL
|
||||
KeGetCurrentRunLevel(VOID);
|
||||
|
||||
XTAPI
|
||||
XTSTATUS
|
||||
KeGetSystemResource(IN SYSTEM_RESOURCE_TYPE ResourceType,
|
||||
OUT PSYSTEM_RESOURCE_HEADER *ResourceHeader);
|
||||
|
||||
XTAPI
|
||||
BOOLEAN
|
||||
KeGetTimerState(IN PKTIMER Timer);
|
||||
@@ -101,6 +111,10 @@ XTFASTCALL
|
||||
VOID
|
||||
KeReleaseSpinLock(IN OUT PKSPIN_LOCK SpinLock);
|
||||
|
||||
XTAPI
|
||||
VOID
|
||||
KeReleaseSystemResource(IN PSYSTEM_RESOURCE_HEADER ResourceHeader);
|
||||
|
||||
XTAPI
|
||||
VOID
|
||||
KeSetTargetProcessorDpc(IN PKDPC Dpc,
|
||||
|
@@ -183,6 +183,13 @@ typedef enum _MODE
|
||||
MaximumMode
|
||||
} MODE, *PMODE;
|
||||
|
||||
/* System resource types */
|
||||
typedef enum _SYSTEM_RESOURCE_TYPE
|
||||
{
|
||||
SystemResourceInvalid,
|
||||
SystemResourceFrameBuffer
|
||||
} SYSTEM_RESOURCE_TYPE, *PSYSTEM_RESOURCE_TYPE;
|
||||
|
||||
/* Wait type */
|
||||
typedef enum _WAIT_TYPE
|
||||
{
|
||||
@@ -500,4 +507,40 @@ typedef struct _KTHREAD
|
||||
BOOLEAN StackResident;
|
||||
} KTHREAD, *PKTHREAD;
|
||||
|
||||
/* System resource common header structure definition */
|
||||
typedef struct _SYSTEM_RESOURCE_HEADER
|
||||
{
|
||||
LIST_ENTRY ListEntry;
|
||||
SYSTEM_RESOURCE_TYPE ResourceType;
|
||||
ULONG ResourceSize;
|
||||
PVOID PhysicalAddress;
|
||||
PVOID VirtualAddress;
|
||||
BOOLEAN Acquired;
|
||||
} SYSTEM_RESOURCE_HEADER, *PSYSTEM_RESOURCE_HEADER;
|
||||
|
||||
/* FrameBuffer system resource structure definition */
|
||||
typedef struct _SYSTEM_RESOURCE_FRAMEBUFFER
|
||||
{
|
||||
SYSTEM_RESOURCE_HEADER Header;
|
||||
ULONG_PTR BufferSize;
|
||||
UINT Width;
|
||||
UINT Height;
|
||||
UINT Depth;
|
||||
UINT PixelsPerScanLine;
|
||||
UINT BitsPerPixel;
|
||||
UINT Pitch;
|
||||
PVOID Font;
|
||||
struct
|
||||
{
|
||||
USHORT BlueShift;
|
||||
USHORT BlueSize;
|
||||
USHORT GreenShift;
|
||||
USHORT GreenSize;
|
||||
USHORT RedShift;
|
||||
USHORT RedSize;
|
||||
USHORT ReservedShift;
|
||||
USHORT ReservedSize;
|
||||
} Pixels;
|
||||
} SYSTEM_RESOURCE_FRAMEBUFFER, *PSYSTEM_RESOURCE_FRAMEBUFFER;
|
||||
|
||||
#endif /* __XTDK_KEFUNCS_H */
|
||||
|
Reference in New Issue
Block a user