kernel_sigaction.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /* This is the sigaction structure from the Linux 2.1.24 kernel. */
  2. #include <sgidefs.h>
  3. #define HAVE_SA_RESTORER
  4. struct old_kernel_sigaction {
  5. unsigned int sa_flags;
  6. __sighandler_t k_sa_handler;
  7. unsigned long sa_mask;
  8. unsigned int __pad0[3]; /* reserved, keep size constant */
  9. /* Abi says here follows reserved int[2] */
  10. void (*sa_restorer)(void);
  11. #if (_MIPS_SZPTR < 64)
  12. /*
  13. * For 32 bit code we have to pad struct sigaction to get
  14. * constant size for the ABI
  15. */
  16. int pad1[1]; /* reserved */
  17. #endif
  18. };
  19. #define _KERNEL_NSIG 128
  20. #define _KERNEL_NSIG_BPW _MIPS_SZLONG
  21. #define _KERNEL_NSIG_WORDS (_KERNEL_NSIG / _KERNEL_NSIG_BPW)
  22. typedef struct {
  23. unsigned long sig[_KERNEL_NSIG_WORDS];
  24. } kernel_sigset_t;
  25. /* This is the sigaction structure from the Linux 2.1.68 kernel. */
  26. struct kernel_sigaction {
  27. unsigned int sa_flags;
  28. __sighandler_t k_sa_handler;
  29. kernel_sigset_t sa_mask;
  30. void (*sa_restorer)(void);
  31. int s_resv[1]; /* reserved */
  32. };
  33. extern int __syscall_rt_sigaction (int, const struct kernel_sigaction *__unbounded,
  34. struct kernel_sigaction *__unbounded, size_t);