sighndh.inc 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. type
  14. { from include/ppc/ptrace.h }
  15. pptregs = ^tptregs;
  16. tptregs = record
  17. gpr: array[0..31] of cardinal;
  18. nip: cardinal;
  19. msr: cardinal;
  20. orig_gpr3: cardinal; { Used for restarting system calls }
  21. ctr: cardinal;
  22. link: cardinal;
  23. xer: cardinal;
  24. ccr: cardinal;
  25. mq: cardinal; { 601 only (not used at present) }
  26. { Used on APUS to hold IPL value. }
  27. trap: cardinal; { Reason for being here }
  28. dar: cardinal; { Fault registers }
  29. dsisr: cardinal;
  30. result: cardinal; { Result of a system call }
  31. end;
  32. { from include/asm-ppc/signal.h }
  33. stack_t = record
  34. ss_sp: pointer;
  35. ss_flags: longint;
  36. ss_size: size_t;
  37. end;
  38. { from include/asm-ppc/sigcontext.h }
  39. tsigcontext_struct = record
  40. _unused: array[0..3] of dword;
  41. signal: longint;
  42. handler: dword;
  43. oldmask: dword;
  44. pt_regs: pptregs;
  45. end;
  46. { from include/asm-ppc/ucontext.h }
  47. pucontext = ^tucontext;
  48. tucontext = record
  49. uc_flags : dword;
  50. uc_link : pucontext;
  51. uc_stack : stack_t;
  52. uc_mcontext : tsigcontext_struct;
  53. uc_sigmask : sigset_t;
  54. end;
  55. { from arch/ppc/kernel/signal.c, the type of the actual parameter passed }
  56. { to the sigaction handler }
  57. t_rt_sigframe = record
  58. _unused: array[0..1] of cardinal;
  59. pinfo: psiginfo;
  60. puc: pointer;
  61. siginfo: tsiginfo;
  62. uc: tucontext;
  63. end;
  64. PSigContext = ^TSigContext;
  65. TSigContext= tsigcontext_struct;