sighndh.inc 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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 and related records. Translated from headers from
  6. 2.6.11 kernel sources.
  7. See the file COPYING.FPC, included in this distribution,
  8. for details about the copyright.
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  12. **********************************************************************}
  13. {$packrecords C}
  14. type
  15. gpr_reg = cULong;
  16. { from include/ppc/ptrace.h }
  17. pptregs = ^tptregs;
  18. tptregs = record
  19. gpr: array[0..31] of gpr_reg;
  20. nip: gpr_reg;
  21. msr: gpr_reg;
  22. orig_gpr3: gpr_reg; { Used for restarting system calls }
  23. ctr: gpr_reg;
  24. link: gpr_reg;
  25. xer: gpr_reg;
  26. ccr: gpr_reg;
  27. mq: gpr_reg; { 601 only (not used at present) }
  28. { Used on APUS to hold IPL value. }
  29. trap: gpr_reg; { Reason for being here }
  30. dar: gpr_reg; { Fault registers }
  31. dsisr: gpr_reg;
  32. result: gpr_reg; { Result of a system call }
  33. end;
  34. { from include/asm-ppc/signal.h }
  35. stack_t = record
  36. ss_sp: pointer;
  37. ss_flags: cInt;
  38. ss_size: size_t;
  39. end;
  40. { from include/asm-ppc/sigcontext.h }
  41. tsigcontext_struct = record
  42. _unused: array[0..3] of cULong;
  43. signal: cInt;
  44. handler: cULong;
  45. oldmask: cULong;
  46. pt_regs: pptregs;
  47. end;
  48. { from include/asm-ppc/ucontext.h }
  49. pucontext = ^tucontext;
  50. tucontext = record
  51. uc_flags : cULong;
  52. uc_link : pucontext;
  53. uc_stack : stack_t;
  54. uc_mcontext : tsigcontext_struct;
  55. uc_sigmask : sigset_t;
  56. end;
  57. { from arch/ppc/kernel/signal.c, the type of the actual parameter passed }
  58. { to the sigaction handler }
  59. PSigContext = ^TSigContext;
  60. TSigContext= tucontext;