forked from xt-sys/exectos
Initial kernel events support
This commit is contained in:
@@ -16,6 +16,10 @@
|
||||
|
||||
|
||||
/* Kernel services routines forward references */
|
||||
XTAPI
|
||||
VOID
|
||||
KeClearEvent(IN PKEVENT Event);
|
||||
|
||||
XTAPI
|
||||
VOID
|
||||
KeInitializeApc(IN PKAPC Apc,
|
||||
@@ -27,6 +31,12 @@ KeInitializeApc(IN PKAPC Apc,
|
||||
IN KPROCESSOR_MODE ApcMode,
|
||||
IN PVOID Context);
|
||||
|
||||
XTAPI
|
||||
VOID
|
||||
KeInitializeEvent(OUT PKEVENT Event,
|
||||
IN KEVENT_TYPE EventType,
|
||||
IN BOOLEAN InitialState);
|
||||
|
||||
XTAPI
|
||||
VOID
|
||||
KeInitializeSemaphore(IN PKSEMAPHORE Semaphore,
|
||||
@@ -57,6 +67,12 @@ KeReleaseSemaphore(IN PKSEMAPHORE Semaphore,
|
||||
IN LONG Adjustment,
|
||||
IN BOOLEAN Wait);
|
||||
|
||||
XTAPI
|
||||
LONG
|
||||
KeSetEvent(IN PKEVENT Event,
|
||||
IN KPRIORITY Increment,
|
||||
IN BOOLEAN Wait);
|
||||
|
||||
XTAPI
|
||||
VOID
|
||||
KeStartXtSystem(IN PKERNEL_INITIALIZATION_BLOCK Parameters);
|
||||
|
@@ -84,6 +84,13 @@ typedef enum _KDPC_IMPORTANCE
|
||||
MediumHighImportance
|
||||
} KDPC_IMPORTANCE, *PKDPC_IMPORTANCE;
|
||||
|
||||
/* Event types list */
|
||||
typedef enum _KEVENT_TYPE
|
||||
{
|
||||
NotificationEvent,
|
||||
SynchronizationEvent
|
||||
} KEVENT_TYPE, *PKEVENT_TYPE;
|
||||
|
||||
/* Kernel objects */
|
||||
typedef enum _KOBJECTS
|
||||
{
|
||||
@@ -226,6 +233,12 @@ typedef struct _KDPC_DATA
|
||||
ULONG DpcCount;
|
||||
} KDPC_DATA, *PKDPC_DATA;
|
||||
|
||||
/* Event object structure definition */
|
||||
typedef struct _KEVENT
|
||||
{
|
||||
DISPATCHER_HEADER Header;
|
||||
} KEVENT, *PKEVENT;
|
||||
|
||||
/* Exception registration record structure definition */
|
||||
typedef struct _EXCEPTION_REGISTRATION_RECORD
|
||||
{
|
||||
|
@@ -40,6 +40,7 @@ typedef enum _EFI_UART_STOP_BITS_TYPE EFI_UART_STOP_BITS_TYPE, *PEFI_UART_STOP_B
|
||||
typedef enum _EFI_UNIVERSA_GRAPHICS_BLT_OPERATION EFI_UNIVERSA_GRAPHICS_BLT_OPERATION, *PEFI_UNIVERSA_GRAPHICS_BLT_OPERATION;
|
||||
typedef enum _KAPC_ENVIRONMENT KAPC_ENVIRONMENT, *PKAPC_ENVIRONMENT;
|
||||
typedef enum _KDPC_IMPORTANCE KDPC_IMPORTANCE, *PKDPC_IMPORTANCE;
|
||||
typedef enum _KEVENT_TYPE KEVENT_TYPE, *PKEVENT_TYPE;
|
||||
typedef enum _KOBJECTS KOBJECTS, *PKOBJECTS;
|
||||
typedef enum _KPROCESS_STATE KPROCESS_STATE, *PKPROCESS_STATE;
|
||||
typedef enum _KTHREAD_STATE KTHREAD_STATE, *PKTHREAD_STATE;
|
||||
@@ -204,6 +205,7 @@ typedef struct _KAPC_STATE KAPC_STATE, *PKAPC_STATE;
|
||||
typedef struct _KDPC KDPC, *PKDPC;
|
||||
typedef struct _KDPC_DATA KDPC_DATA, *PKDPC_DATA;
|
||||
typedef struct _KERNEL_INITIALIZATION_BLOCK KERNEL_INITIALIZATION_BLOCK, *PKERNEL_INITIALIZATION_BLOCK;
|
||||
typedef struct _KEVENT KEVENT, *PKEVENT;
|
||||
typedef struct _KGATE KGATE, *PKGATE;
|
||||
typedef struct _KPROCESS KPROCESS, *PKPROCESS;
|
||||
typedef struct _KQUEUE KQUEUE, *PKQUEUE;
|
||||
|
Reference in New Issue
Block a user