Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
2.3 KiB

  1. ;***
  2. ;except.inc - definitions for exception handling
  3. ;
  4. ; Copyright (c) 1990-2001, Microsoft Corporation. All rights reserved.
  5. ;
  6. ;Purpose:
  7. ; Structure and constant definitions used by exception handling code.
  8. ;
  9. ;Revision History:
  10. ; 07-19-90 GJF Module created.
  11. ; 08-28-90 GJF Added some definitions of exceptions.
  12. ; 10-19-90 GJF Revised some constants to agree with the definitions in
  13. ; \\os2rel\public!2.0\h\bsexcpt.h (dated 10-1-90).
  14. ; 07-30-91 GJF Different values of _XCPT_CONTINUE_[SEARCH|EXECUTION]
  15. ; for Cruiser and Win32 [_WIN32_].
  16. ; 09-07-94 CFW Remove _CRUISER.
  17. ;
  18. ;*******************************************************************************
  19. ; structure used by SEH support function and intrinsics. the information
  20. ; passed by the OS exception dispatcher is repackaged in this form by the
  21. ; runtime (_except_handler()).
  22. __EXCEPTION_INFO_PTRS struc
  23. preport dd ?
  24. pcontext dd ?
  25. __EXCEPTION_INFO_PTRS ends
  26. ; exception registration record structure.
  27. __EXCEPTIONREGISTRATIONRECORD struc
  28. prev_structure dd ?
  29. ExceptionHandler dd ?
  30. ExceptionFilter dd ?
  31. FilterFrame dd ?
  32. PExceptionInfoPtrs dd ?
  33. __EXCEPTIONREGISTRATIONRECORD ends
  34. ; size of exception registration record in double words
  35. DWORDS_IN_XREGREC equ 5
  36. ; exception report record
  37. __EXCEPTIONREPORTRECORD struc
  38. ExceptionNum dd ?
  39. fHandlerFlags dd ?
  40. ExceptionReportRecord dd ?
  41. ExceptionAddress dd ?
  42. cParameters dd ?
  43. ExceptionInfo dd 4 dup (?)
  44. __EXCEPTIONREPORTRECORD ends
  45. ; setjmp/longjmp buffer (i.e., structure underlying jmp_buf array)
  46. _JMP_BUF struc
  47. ebpsave dd ?
  48. ebxsave dd ?
  49. edisave dd ?
  50. esisave dd ?
  51. espsave dd ?
  52. retsave dd ?
  53. xcptsave dd ?
  54. _JMP_BUF ends
  55. ; exceptions corresponding to C runtime errors (these are explicitly
  56. ; referenced in the startup code)
  57. _XCPT_UNABLE_TO_GROW_STACK equ 080010001h
  58. _XCPT_INTEGER_DIVIDE_BY_ZERO equ 0C000009Bh
  59. _XCPT_NONCONTINUABLE_EXCEPTION equ 0C0000024h
  60. _XCPT_INVALID_DISPOSITION equ 0C0000025h
  61. _XCPT_SIGABRT equ 020000001h
  62. ; unwind settings in fHandlerFlags
  63. _EH_UNWINDING equ 2
  64. _EH_EXIT_UNWIND equ 4
  65. UNWIND equ _EH_UNWINDING OR _EH_EXIT_UNWIND
  66. ; return values (to the exception dispatcher)
  67. IFDEF _WIN32
  68. _XCPT_CONTINUE_SEARCH equ 000000001h
  69. _XCPT_CONTINUE_EXECUTION equ 000000000h
  70. ENDIF