sighndh.inc 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. {
  2. This file is part of the Free Pascal run time library.
  3. Copyright (c) 1999-2000 by Jonas Maebe,
  4. member of the Free Pascal development team.
  5. TSigContext
  6. See the file COPYING.FPC, included in this distribution,
  7. for details about the copyright.
  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  11. **********************************************************************}
  12. {$packrecords C}
  13. const
  14. __SUNOS_MAXWIN = 31;
  15. type
  16. twbuf = record
  17. locals : array[0..7] of longint;
  18. ins : array[0..7] of longint;
  19. end;
  20. (* MIPS OABI32 structure
  21. struct sigcontext {
  22. unsigned int sc_regmask;
  23. unsigned int sc_status;
  24. unsigned long long sc_pc;
  25. unsigned long long sc_regs[32];
  26. unsigned long long sc_fpregs[32];
  27. unsigned int sc_ownedfp;
  28. unsigned int sc_fpc_csr;
  29. unsigned int sc_fpc_eir;
  30. unsigned int sc_used_math;
  31. unsigned int sc_dsp;
  32. unsigned long long sc_mdhi;
  33. unsigned long long sc_mdlo;
  34. unsigned long sc_hi1;
  35. unsigned long sc_lo1;
  36. unsigned long sc_hi2;
  37. unsigned long sc_lo2;
  38. unsigned long sc_hi3;
  39. unsigned long sc_lo3;
  40. };
  41. typedef struct ucontext
  42. {
  43. unsigned long int uc_flags;
  44. struct ucontext *uc_link;
  45. stack_t uc_stack;
  46. mcontext_t uc_mcontext;
  47. __sigset_t uc_sigmask;
  48. } ucontext_t;
  49. *)
  50. FPReg = record
  51. case byte of
  52. 0 : (fp_dreg : double;);
  53. 1 : (fp_reg : single;
  54. fp_pad : cint; );
  55. end;
  56. PSigContext = ^TSigContext;
  57. TSigContext = record
  58. sigc_regmask,
  59. sigc_status: cuint;
  60. sigc_pc : culonglong;
  61. sigc_regs : array[0..31] of culonglong;
  62. sigc_fpregs : array[0..31] of fpreg;
  63. sigc_fpc_csr, sigc_fpc_eir : cuint;
  64. sigc_used_math : cuint;
  65. sigc_dsp : cuint;
  66. sigc_mdhi, sigc_mdlo : culonglong;
  67. sigc_hi1,sigc_lo1,
  68. sigc_hi2,sigc_lo2,
  69. sigc_hi3,sigc_lo3 : culong;
  70. end;
  71. TStack = record
  72. ss_sp : pointer;
  73. ss_size : size_t;
  74. ss_flags : cint;
  75. end;
  76. PUContext = ^TUContext;
  77. TUContext = record
  78. uc_flags : culong;
  79. uc_link : PUContext;
  80. uc_stack : TStack;
  81. uc_mcontext : TSigContext;
  82. uc_sigmask : TSigSet;
  83. end;