sucontexth.inc 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. Type
  2. Pgreg_t = ^greg_t;
  3. greg_t = longint;
  4. const
  5. NGREG = 19;
  6. Type
  7. Pgregset_t = ^gregset_t;
  8. gregset_t = greg_t;
  9. Const
  10. REG_GS = 0;
  11. REG_FS = 1;
  12. REG_ES = 2;
  13. REG_DS = 3;
  14. REG_EDI = 4;
  15. REG_ESI = 5;
  16. REG_EBP = 6;
  17. REG_ESP = 7;
  18. REG_EBX = 8;
  19. REG_EDX = 9;
  20. REG_ECX = 10;
  21. REG_EAX = 11;
  22. REG_TRAPNO = 12;
  23. REG_ERR = 13;
  24. REG_EIP = 14;
  25. REG_CS = 15;
  26. REG_EFL = 16;
  27. REG_UESP = 17;
  28. REG_SS = 18;
  29. type
  30. P_libc_fpreg = ^_libc_fpreg;
  31. _libc_fpreg = record
  32. significand : array[0..3] of word;
  33. exponent : word;
  34. end;
  35. P_libc_fpstate = ^_libc_fpstate;
  36. _libc_fpstate = record
  37. cw : dword;
  38. sw : dword;
  39. tag : dword;
  40. ipoff : dword;
  41. cssel : dword;
  42. dataoff : dword;
  43. datasel : dword;
  44. _st : array[0..7] of _libc_fpreg;
  45. status : dword;
  46. end;
  47. Pfpregset_t = ^fpregset_t;
  48. fpregset_t = _libc_fpstate;
  49. Pmcontext_t = ^mcontext_t;
  50. mcontext_t = record
  51. gregs : gregset_t;
  52. fpregs : fpregset_t;
  53. oldmask : dword;
  54. cr2 : dword;
  55. end;
  56. Pucontext = ^ucontext;
  57. ucontext = record
  58. uc_flags : dword;
  59. uc_link : Pucontext;
  60. uc_stack : stack_t;
  61. uc_mcontext : mcontext_t;
  62. uc_sigmask : __sigset_t;
  63. __fpregs_mem : _libc_fpstate;
  64. end;
  65. ucontext_t = ucontext;
  66. Pucontext_t = ^ucontext_t;
  67. { ---------------------------------------------------------------------
  68. Borland compatibility types
  69. ---------------------------------------------------------------------}
  70. Type
  71. TUserContext = ucontext_t;