Add SEH exception pointers structure and accessors
All checks were successful
Builds / ExectOS (amd64, release) (push) Successful in 31s
Builds / ExectOS (amd64, debug) (push) Successful in 44s
Builds / ExectOS (i686, debug) (push) Successful in 42s
Builds / ExectOS (i686, release) (push) Successful in 30s

This commit is contained in:
2026-07-03 23:39:20 +02:00
parent a2801bab2a
commit 0ccf20f0c9
3 changed files with 15 additions and 0 deletions

View File

@@ -4,6 +4,7 @@
* FILE: sdk/xtdk/iotypes.h * FILE: sdk/xtdk/iotypes.h
* DESCRIPTION: I/O related type definitions * DESCRIPTION: I/O related type definitions
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org> * DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
* Aiken Harris <harraiken91@gmail.com>
*/ */
#ifndef __XTDK_IOTYPES_H #ifndef __XTDK_IOTYPES_H

View File

@@ -4,6 +4,7 @@
* FILE: sdk/xtdk/rtltypes.h * FILE: sdk/xtdk/rtltypes.h
* DESCRIPTION: Runtime library structures definitions * DESCRIPTION: Runtime library structures definitions
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org> * DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
* Aiken Harris <harraiken91@gmail.com>
*/ */
#ifndef __XTDK_RTLTYPES_H #ifndef __XTDK_RTLTYPES_H
@@ -11,6 +12,7 @@
#include <xtbase.h> #include <xtbase.h>
#include <xttypes.h> #include <xttypes.h>
#include ARCH_HEADER(xtstruct.h)
/* UUID string lengths */ /* UUID string lengths */
@@ -42,6 +44,10 @@
#define EXCEPTION_TARGET_UNWIND 0x20 #define EXCEPTION_TARGET_UNWIND 0x20
#define EXCEPTION_COLLIDED_UNWIND 0x40 #define EXCEPTION_COLLIDED_UNWIND 0x40
/* Exception Record accessors */
#define EXCEPTION_CODE _exception_code()
#define EXCEPTION_INFORMATION (PEXCEPTION_POINTERS)_exception_info()
/* Maximum number of lead bytes for NLS */ /* Maximum number of lead bytes for NLS */
#define NLS_MAXIMUM_LEADBYTES 12 #define NLS_MAXIMUM_LEADBYTES 12
@@ -114,6 +120,13 @@ typedef struct _CPTABLE_INFO
PUSHORT DBCSOffsets; PUSHORT DBCSOffsets;
} CPTABLE_INFO, *PCPTABLE_INFO; } CPTABLE_INFO, *PCPTABLE_INFO;
/* Exception Pointers structure definition */
typedef struct _EXCEPTION_POINTERS
{
PEXCEPTION_RECORD ExceptionRecord;
PCONTEXT ContextRecord;
} EXCEPTION_POINTERS, *PEXCEPTION_POINTERS;
/* 128-bit buffer containing a unique identifier value */ /* 128-bit buffer containing a unique identifier value */
typedef struct _GUID typedef struct _GUID
{ {

View File

@@ -276,6 +276,7 @@ typedef struct _EPROCESS_QUOTA_BLOCK EPROCESS_QUOTA_BLOCK, *PEPROCESS_QUOTA_BLOC
typedef struct _EPROCESS_QUOTA_ENTRY EPROCESS_QUOTA_ENTRY, *PEPROCESS_QUOTA_ENTRY; typedef struct _EPROCESS_QUOTA_ENTRY EPROCESS_QUOTA_ENTRY, *PEPROCESS_QUOTA_ENTRY;
typedef struct _ERESOURCE ERESOURCE, *PERESOURCE; typedef struct _ERESOURCE ERESOURCE, *PERESOURCE;
typedef struct _ETHREAD ETHREAD, *PETHREAD; typedef struct _ETHREAD ETHREAD, *PETHREAD;
typedef struct _EXCEPTION_POINTERS EXCEPTION_POINTERS, *PEXCEPTION_POINTERS;
typedef struct _EXCEPTION_RECORD EXCEPTION_RECORD, *PEXCEPTION_RECORD; typedef struct _EXCEPTION_RECORD EXCEPTION_RECORD, *PEXCEPTION_RECORD;
typedef struct _EXCEPTION_REGISTRATION_RECORD EXCEPTION_REGISTRATION_RECORD, *PEXCEPTION_REGISTRATION_RECORD; typedef struct _EXCEPTION_REGISTRATION_RECORD EXCEPTION_REGISTRATION_RECORD, *PEXCEPTION_REGISTRATION_RECORD;
typedef struct _FAST_IO_DISPATCH FAST_IO_DISPATCH, *PFAST_IO_DISPATCH; typedef struct _FAST_IO_DISPATCH FAST_IO_DISPATCH, *PFAST_IO_DISPATCH;