Add SEH exception pointers structure and accessors
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user