sigcontexth.inc 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. type
  2. P_fpreg = ^_fpreg;
  3. _fpreg = record
  4. significand : array[0..3] of word;
  5. exponent : word;
  6. end;
  7. P_fpxreg = ^_fpxreg;
  8. _fpxreg = record
  9. significand : array[0..3] of word;
  10. exponent : word;
  11. padding : array[0..2] of word;
  12. end;
  13. P_xmmreg = ^_xmmreg;
  14. _xmmreg = record
  15. element : array[0..3] of dword;
  16. end;
  17. P_fpstate = ^_fpstate;
  18. _fpstate = record
  19. cw : dword;
  20. sw : dword;
  21. tag : dword;
  22. ipoff : dword;
  23. cssel : dword;
  24. dataoff : dword;
  25. datasel : dword;
  26. _st : array[0..7] of _fpreg;
  27. status : word;
  28. magic : word;
  29. _fxsr_env : array[0..5] of dword;
  30. mxcsr : dword;
  31. reserved : dword;
  32. _fxsr_st : array[0..7] of _fpxreg;
  33. _xmm : array[0..7] of _xmmreg;
  34. padding : array[0..55] of dword;
  35. end;
  36. const
  37. X86_FXSR_MAGIC = $0000;
  38. type
  39. Psigcontext = ^sigcontext;
  40. sigcontext = record
  41. gs : word;
  42. __gsh : word;
  43. fs : word;
  44. __fsh : word;
  45. es : word;
  46. __esh : word;
  47. ds : word;
  48. __dsh : word;
  49. edi : dword;
  50. esi : dword;
  51. ebp : dword;
  52. esp : dword;
  53. ebx : dword;
  54. edx : dword;
  55. ecx : dword;
  56. eax : dword;
  57. trapno : dword;
  58. err : dword;
  59. eip : dword;
  60. cs : word;
  61. __csh : word;
  62. eflags : dword;
  63. esp_at_signal : dword;
  64. ss : word;
  65. __ssh : word;
  66. fpstate : P_fpstate;
  67. oldmask : dword;
  68. cr2 : dword;
  69. end;
  70. { ---------------------------------------------------------------------
  71. Borland compatibility types
  72. ---------------------------------------------------------------------}
  73. TFPreg = _fpreg;
  74. PFPreg = ^TFPreg;
  75. TFPstate = _fpstate;
  76. PFPstate = ^TFPstate;
  77. TSigContext = sigcontext;