summaryrefslogtreecommitdiffhomepage
path: root/include/ntapi/nt_exception.h
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2015-07-27 04:01:18 -0400
committermidipix <writeonce@midipix.org>2015-07-27 04:01:18 -0400
commitdd89bb8ad4fe184a34b5dbdda237e640fc82121b (patch)
tree5e80d2da35f5892f92be29f57982b2708e6bd99b /include/ntapi/nt_exception.h
parentdcdadc2702712fa750ed255ed1dfa354522797a0 (diff)
downloadntapi-dd89bb8ad4fe184a34b5dbdda237e640fc82121b.tar.bz2
ntapi-dd89bb8ad4fe184a34b5dbdda237e640fc82121b.tar.xz
entered advanced internal development stage.
Diffstat (limited to 'include/ntapi/nt_exception.h')
-rw-r--r--include/ntapi/nt_exception.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/include/ntapi/nt_exception.h b/include/ntapi/nt_exception.h
new file mode 100644
index 0000000..6284372
--- /dev/null
+++ b/include/ntapi/nt_exception.h
@@ -0,0 +1,29 @@
+#ifndef _NT_EXCEPTION_H_
+#define _NT_EXCEPTION_H_
+
+#include <psxtypes/psxtypes.h>
+#include "nt_object.h"
+#include "nt_thread.h"
+
+/* limits */
+#define NT_EXCEPTION_MAX_PARAMS (0x0F)
+
+typedef struct _nt_exception_record {
+ uint32_t exception_code;
+ uint32_t exception_flags;
+ struct _nt_exception_record * exception_record;
+ void * exception_address;
+ uint32_t number_of_params;
+ uintptr_t exception_information[NT_EXCEPTION_MAX_PARAMS];
+} nt_exception_record;
+
+typedef int32_t __stdcall ntapi_zw_raise_exception(
+ __in nt_exception_record * exception_record,
+ __in nt_thread_context * context,
+ __in unsigned char search_frames);
+
+typedef int32_t __stdcall ntapi_zw_continue(
+ __in nt_thread_context * context,
+ __in unsigned char test_alert);
+
+#endif