suserh.inc 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. type
  2. Puser_fpregs_struct = ^user_fpregs_struct;
  3. user_fpregs_struct = record
  4. cwd : longint;
  5. swd : longint;
  6. twd : longint;
  7. fip : longint;
  8. fcs : longint;
  9. foo : longint;
  10. fos : longint;
  11. st_space : array[0..19] of longint;
  12. end;
  13. Puser_fpxregs_struct = ^user_fpxregs_struct;
  14. user_fpxregs_struct = record
  15. cwd : word;
  16. swd : word;
  17. twd : word;
  18. fop : word;
  19. fip : longint;
  20. fcs : longint;
  21. foo : longint;
  22. fos : longint;
  23. mxcsr : longint;
  24. reserved : longint;
  25. st_space : array[0..31] of longint;
  26. xmm_space : array[0..31] of longint;
  27. padding : array[0..55] of longint;
  28. end;
  29. Puser_regs_struct = ^user_regs_struct;
  30. user_regs_struct = record
  31. ebx : longint;
  32. ecx : longint;
  33. edx : longint;
  34. esi : longint;
  35. edi : longint;
  36. ebp : longint;
  37. eax : longint;
  38. xds : longint;
  39. xes : longint;
  40. xfs : longint;
  41. xgs : longint;
  42. orig_eax : longint;
  43. eip : longint;
  44. xcs : longint;
  45. eflags : longint;
  46. esp : longint;
  47. xss : longint;
  48. end;
  49. Puser = ^user;
  50. user = record
  51. regs : user_regs_struct;
  52. u_fpvalid : longint;
  53. i387 : user_fpregs_struct;
  54. u_tsize : dword;
  55. u_dsize : dword;
  56. u_ssize : dword;
  57. start_code : dword;
  58. start_stack : dword;
  59. signal : longint;
  60. reserved : longint;
  61. u_ar0 : Puser_regs_struct;
  62. u_fpstate : Puser_fpregs_struct;
  63. magic : dword;
  64. u_comm : array[0..31] of char;
  65. u_debugreg : array[0..7] of longint;
  66. end;
  67. const
  68. PAGE_SHIFT = 12;
  69. PAGE_SIZE = 1 shl PAGE_SHIFT;
  70. PAGE_MASK = not (PAGE_SIZE - 1);
  71. NBPG = PAGE_SIZE;
  72. UPAGES = 1;
  73. HOST_TEXT_START_ADDR = u.start_code;
  74. HOST_STACK_END_ADDR = (u.start_stack) + ((u.u_ssize) * NBPG);
  75. { ---------------------------------------------------------------------
  76. Borland compatibility types
  77. ---------------------------------------------------------------------}
  78. // Type