Add SEH exception pointers structure and accessors
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
* FILE: sdk/xtdk/iotypes.h
|
||||
* DESCRIPTION: I/O related type definitions
|
||||
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
|
||||
* Aiken Harris <harraiken91@gmail.com>
|
||||
*/
|
||||
|
||||
#ifndef __XTDK_IOTYPES_H
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
* FILE: sdk/xtdk/rtltypes.h
|
||||
* DESCRIPTION: Runtime library structures definitions
|
||||
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
|
||||
* Aiken Harris <harraiken91@gmail.com>
|
||||
*/
|
||||
|
||||
#ifndef __XTDK_RTLTYPES_H
|
||||
@@ -11,6 +12,7 @@
|
||||
|
||||
#include <xtbase.h>
|
||||
#include <xttypes.h>
|
||||
#include ARCH_HEADER(xtstruct.h)
|
||||
|
||||
|
||||
/* UUID string lengths */
|
||||
@@ -42,6 +44,10 @@
|
||||
#define EXCEPTION_TARGET_UNWIND 0x20
|
||||
#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 */
|
||||
#define NLS_MAXIMUM_LEADBYTES 12
|
||||
|
||||
@@ -114,6 +120,13 @@ typedef struct _CPTABLE_INFO
|
||||
PUSHORT DBCSOffsets;
|
||||
} 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 */
|
||||
typedef struct _GUID
|
||||
{
|
||||
|
||||
@@ -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 _ERESOURCE ERESOURCE, *PERESOURCE;
|
||||
typedef struct _ETHREAD ETHREAD, *PETHREAD;
|
||||
typedef struct _EXCEPTION_POINTERS EXCEPTION_POINTERS, *PEXCEPTION_POINTERS;
|
||||
typedef struct _EXCEPTION_RECORD EXCEPTION_RECORD, *PEXCEPTION_RECORD;
|
||||
typedef struct _EXCEPTION_REGISTRATION_RECORD EXCEPTION_REGISTRATION_RECORD, *PEXCEPTION_REGISTRATION_RECORD;
|
||||
typedef struct _FAST_IO_DISPATCH FAST_IO_DISPATCH, *PFAST_IO_DISPATCH;
|
||||
|
||||
Reference in New Issue
Block a user