Improved exception handling.
Based on the work of Sergey Turchanov <turchanov@usa.net>.

diff --git a/include/winnt.h b/include/winnt.h
index a99763f..a05415bd 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -216,20 +216,32 @@
  * Exception codes
  */
  
+#define STATUS_SUCCESS                   0x00000000
 #define STATUS_WAIT_0                    0x00000000
 #define STATUS_ABANDONED_WAIT_0          0x00000080
 #define STATUS_USER_APC                  0x000000C0
 #define STATUS_TIMEOUT                   0x00000102
 #define STATUS_PENDING                   0x00000103
+#define STATUS_GUARD_PAGE_VIOLATION      0x80000001    
 #define STATUS_DATATYPE_MISALIGNMENT     0x80000002
 #define STATUS_BREAKPOINT                0x80000003
 #define STATUS_SINGLE_STEP               0x80000004
+#define	STATUS_BUFFER_OVERFLOW           0x80000005
+#define STATUS_UNSUCCESSFUL              0xC0000001
 #define STATUS_ACCESS_VIOLATION          0xC0000005
 #define STATUS_IN_PAGE_ERROR             0xC0000006
+#define STATUS_INVALID_PARAMETER         0xC000000D
 #define STATUS_NO_MEMORY                 0xC0000017
+#define STATUS_CONFLICTING_ADDRESSES     0xC0000018
 #define STATUS_ILLEGAL_INSTRUCTION       0xC000001D
+#define	STATUS_BUFFER_TOO_SMALL          0xC0000023
 #define STATUS_NONCONTINUABLE_EXCEPTION  0xC0000025
 #define STATUS_INVALID_DISPOSITION       0xC0000026
+#define STATUS_UNWIND                    0xC0000027
+#define STATUS_BAD_STACK                 0xC0000028
+#define STATUS_INVALID_UNWIND_TARGET     0xC0000029
+#define	STATUS_UNKNOWN_REVISION          0xC0000058
+#define	STATUS_INVALID_SECURITY_DESCR    0xC0000079
 #define STATUS_ARRAY_BOUNDS_EXCEEDED     0xC000008C
 #define STATUS_FLOAT_DENORMAL_OPERAND    0xC000008D
 #define STATUS_FLOAT_DIVIDE_BY_ZERO      0xC000008E
@@ -241,33 +253,10 @@
 #define STATUS_INTEGER_DIVIDE_BY_ZERO    0xC0000094
 #define STATUS_INTEGER_OVERFLOW          0xC0000095
 #define STATUS_PRIVILEGED_INSTRUCTION    0xC0000096
+#define	STATUS_INVALID_PARAMETER_2       0xC00000F0
 #define STATUS_STACK_OVERFLOW            0xC00000FD
 #define STATUS_CONTROL_C_EXIT            0xC000013A
 
-#define EXCEPTION_ACCESS_VIOLATION          STATUS_ACCESS_VIOLATION
-#define EXCEPTION_DATATYPE_MISALIGNMENT     STATUS_DATATYPE_MISALIGNMENT
-#define EXCEPTION_BREAKPOINT                STATUS_BREAKPOINT
-#define EXCEPTION_SINGLE_STEP               STATUS_SINGLE_STEP
-#define EXCEPTION_ARRAY_BOUNDS_EXCEEDED     STATUS_ARRAY_BOUNDS_EXCEEDED
-#define EXCEPTION_FLT_DENORMAL_OPERAND      STATUS_FLOAT_DENORMAL_OPERAND
-#define EXCEPTION_FLT_DIVIDE_BY_ZERO        STATUS_FLOAT_DIVIDE_BY_ZERO
-#define EXCEPTION_FLT_INEXACT_RESULT        STATUS_FLOAT_INEXACT_RESULT
-#define EXCEPTION_FLT_INVALID_OPERATION     STATUS_FLOAT_INVALID_OPERATION
-#define EXCEPTION_FLT_OVERFLOW              STATUS_FLOAT_OVERFLOW
-#define EXCEPTION_FLT_STACK_CHECK           STATUS_FLOAT_STACK_CHECK
-#define EXCEPTION_FLT_UNDERFLOW             STATUS_FLOAT_UNDERFLOW
-#define EXCEPTION_INT_DIVIDE_BY_ZERO        STATUS_INTEGER_DIVIDE_BY_ZERO
-#define EXCEPTION_INT_OVERFLOW              STATUS_INTEGER_OVERFLOW
-#define EXCEPTION_PRIV_INSTRUCTION          STATUS_PRIVILEGED_INSTRUCTION
-#define EXCEPTION_IN_PAGE_ERROR             STATUS_IN_PAGE_ERROR
-#define EXCEPTION_ILLEGAL_INSTRUCTION       STATUS_ILLEGAL_INSTRUCTION
-#define EXCEPTION_NONCONTINUABLE_EXCEPTION  STATUS_NONCONTINUABLE_EXCEPTION
-#define EXCEPTION_STACK_OVERFLOW            STATUS_STACK_OVERFLOW
-#define EXCEPTION_INVALID_DISPOSITION       STATUS_INVALID_DISPOSITION
-#define EXCEPTION_GUARD_PAGE                STATUS_GUARD_PAGE_VIOLATION
-#define EXCEPTION_INVALID_HANDLE            STATUS_INVALID_HANDLE
-#define CONTROL_C_EXIT                      STATUS_CONTROL_C_EXIT
-
 #define MAXIMUM_WAIT_OBJECTS 64
 #define MAXIMUM_SUSPEND_COUNT 127