Move base structural definitions to dedicated headers
Some checks failed
Builds / ExectOS (amd64, release) (push) Failing after 28s
Builds / ExectOS (amd64, debug) (push) Failing after 35s
Builds / ExectOS (i686, release) (push) Failing after 27s
Builds / ExectOS (i686, debug) (push) Failing after 32s

This commit is contained in:
2026-06-23 16:30:19 +02:00
parent 08f26c6762
commit cf846d5abe
3 changed files with 72 additions and 71 deletions

View File

@@ -13,6 +13,7 @@
#include <xtstruct.h> #include <xtstruct.h>
#include <xttarget.h> #include <xttarget.h>
#include <xttypes.h> #include <xttypes.h>
#include <rtltypes.h>
#include ARCH_HEADER(xtstruct.h) #include ARCH_HEADER(xtstruct.h)
@@ -326,6 +327,27 @@ typedef VOID (XTAPI *PKRUNDOWN_ROUTINE)(IN PKAPC Apc);
typedef VOID (XTCDECL *PKSTART_ROUTINE)(IN PVOID StartContext); typedef VOID (XTCDECL *PKSTART_ROUTINE)(IN PVOID StartContext);
typedef VOID (XTCDECL *PKSYSTEM_ROUTINE)(IN PKSTART_ROUTINE StartRoutine, IN PVOID StartContext); typedef VOID (XTCDECL *PKSYSTEM_ROUTINE)(IN PKSTART_ROUTINE StartRoutine, IN PVOID StartContext);
/* Dispatcher object header structure definition */
typedef struct _DISPATCHER_HEADER
{
union
{
struct
{
UCHAR Type;
UCHAR Absolute;
UCHAR Size;
union {
UCHAR Inserted;
BOOLEAN DebugActive;
};
};
VOLATILE LONG Lock;
};
LONG SignalState;
LIST_ENTRY WaitListHead;
} DISPATCHER_HEADER, *PDISPATCHER_HEADER;
/* Exception record structure definition */ /* Exception record structure definition */
typedef struct _EXCEPTION_RECORD typedef struct _EXCEPTION_RECORD
{ {
@@ -649,8 +671,8 @@ typedef struct _KTHREAD
UCHAR Spare5; UCHAR Spare5;
BOOLEAN AutoAlignment; BOOLEAN AutoAlignment;
UCHAR Iopl; UCHAR Iopl;
CCHAR FreezeCount; CHAR FreezeCount;
CCHAR SuspendCount; CHAR SuspendCount;
UCHAR Spare0[1]; UCHAR Spare0[1];
UCHAR UserIdealProcessor; UCHAR UserIdealProcessor;
UCHAR Spare2[3]; UCHAR Spare2[3];

View File

@@ -72,6 +72,36 @@
typedef XTSTATUS (*PWRITE_CHARACTER)(IN CHAR Character); typedef XTSTATUS (*PWRITE_CHARACTER)(IN CHAR Character);
typedef XTSTATUS (*PWRITE_WIDE_CHARACTER)(IN WCHAR Character); typedef XTSTATUS (*PWRITE_WIDE_CHARACTER)(IN WCHAR Character);
/* 128-bit buffer containing a unique identifier value */
typedef struct _GUID
{
UINT Data1;
USHORT Data2;
USHORT Data3;
UCHAR Data4[8];
} GUID, *PGUID;
/* Double linked list structure definition */
typedef struct _LIST_ENTRY
{
PLIST_ENTRY Flink;
PLIST_ENTRY Blink;
} LIST_ENTRY, *PLIST_ENTRY;
/* 32-bit double linked list structure definition */
typedef struct _LIST_ENTRY32
{
ULONG Flink;
ULONG Blink;
} LIST_ENTRY32, *PLIST_ENTRY32;
/* 64-bit double linked list structure definition */
typedef struct _LIST_ENTRY64
{
ULONGLONG Flink;
ULONGLONG Blink;
} LIST_ENTRY64, *PLIST_ENTRY64;
/* Red-black tree node color enumeration list */ /* Red-black tree node color enumeration list */
typedef enum _RTL_BALANCED_NODE_COLOR typedef enum _RTL_BALANCED_NODE_COLOR
{ {
@@ -156,6 +186,24 @@ typedef struct _RTL_SHA1_CONTEXT
UCHAR Buffer[SHA1_BLOCK_SIZE]; UCHAR Buffer[SHA1_BLOCK_SIZE];
} RTL_SHA1_CONTEXT, *PRTL_SHA1_CONTEXT; } RTL_SHA1_CONTEXT, *PRTL_SHA1_CONTEXT;
/* Single linked list structure definition */
typedef struct _SINGLE_LIST_ENTRY
{
PSINGLE_LIST_ENTRY Next;
} SINGLE_LIST_ENTRY, *PSINGLE_LIST_ENTRY;
/* Header for a sequenced single linked list union definition */
typedef union _SINGLE_LIST_HEADER
{
ULONGLONG Alignment;
struct
{
SINGLE_LIST_ENTRY Next;
USHORT Depth;
USHORT Sequence;
};
} SINGLE_LIST_HEADER, *PSINGLE_LIST_HEADER;
/* Runtime time fields structure definition */ /* Runtime time fields structure definition */
typedef struct _TIME_FIELDS typedef struct _TIME_FIELDS
{ {

View File

@@ -41,54 +41,6 @@ typedef ULONG_PTR PFN_NUMBER, *PPFN_NUMBER;
/* Physical address */ /* Physical address */
typedef LARGE_INTEGER PHYSICAL_ADDRESS, *PPHYSICAL_ADDRESS; typedef LARGE_INTEGER PHYSICAL_ADDRESS, *PPHYSICAL_ADDRESS;
/* 128-bit buffer containing a unique identifier value */
typedef struct _GUID
{
UINT Data1;
USHORT Data2;
USHORT Data3;
UCHAR Data4[8];
} GUID, *PGUID;
/* Double linked list structure definition */
typedef struct _LIST_ENTRY
{
PLIST_ENTRY Flink;
PLIST_ENTRY Blink;
} LIST_ENTRY, *PLIST_ENTRY;
/* 32-bit double linked list structure definition */
typedef struct _LIST_ENTRY32
{
ULONG Flink;
ULONG Blink;
} LIST_ENTRY32, *PLIST_ENTRY32;
/* 64-bit double linked list structure definition */
typedef struct _LIST_ENTRY64
{
ULONGLONG Flink;
ULONGLONG Blink;
} LIST_ENTRY64, *PLIST_ENTRY64;
/* Single linked list structure definition */
typedef struct _SINGLE_LIST_ENTRY
{
PSINGLE_LIST_ENTRY Next;
} SINGLE_LIST_ENTRY, *PSINGLE_LIST_ENTRY;
/* Header for a sequenced single linked list union definition */
typedef union _SINGLE_LIST_HEADER
{
ULONGLONG Alignment;
struct
{
SINGLE_LIST_ENTRY Next;
USHORT Depth;
USHORT Sequence;
};
} SINGLE_LIST_HEADER, *PSINGLE_LIST_HEADER;
/* 128-bit 16-byte aligned XMM register */ /* 128-bit 16-byte aligned XMM register */
typedef struct _M128 typedef struct _M128
{ {
@@ -96,26 +48,5 @@ typedef struct _M128
LONGLONG High; LONGLONG High;
} ALIGN(16) M128, *PM128; } ALIGN(16) M128, *PM128;
/* Dispatcher object header structure definition */
typedef struct _DISPATCHER_HEADER
{
union
{
struct
{
UCHAR Type;
UCHAR Absolute;
UCHAR Size;
union {
UCHAR Inserted;
BOOLEAN DebugActive;
};
};
VOLATILE LONG Lock;
};
LONG SignalState;
LIST_ENTRY WaitListHead;
} DISPATCHER_HEADER, *PDISPATCHER_HEADER;
#endif /* __XTOS_ASSEMBLER_ */ #endif /* __XTOS_ASSEMBLER_ */
#endif /* __XTDK_XTBASE_H */ #endif /* __XTDK_XTBASE_H */