diff options
author | Joseph Myers <joseph@codesourcery.com> | 2012-07-01 13:08:59 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2012-07-01 13:08:59 +0000 |
commit | e84eabb3871c9b39e59323bf3f6b98c2ca9d1cd0 (patch) | |
tree | dff3f1b79454b518d15a7b9bbedeb57ff156bbe8 /ports/sysdeps/unix/sysv/linux/mips/kernel_sigaction.h | |
parent | 75f0d3040a2c2de8842bfa7a09e11da1a73e17d0 (diff) | |
parent | e64ac02c24b43659048622714afdc92fedf561fa (diff) |
Merge glibc-ports into ports/ directory.glibc-2.16-ports-merge
Diffstat (limited to 'ports/sysdeps/unix/sysv/linux/mips/kernel_sigaction.h')
-rw-r--r-- | ports/sysdeps/unix/sysv/linux/mips/kernel_sigaction.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/ports/sysdeps/unix/sysv/linux/mips/kernel_sigaction.h b/ports/sysdeps/unix/sysv/linux/mips/kernel_sigaction.h new file mode 100644 index 0000000000..b6f52cc9c9 --- /dev/null +++ b/ports/sysdeps/unix/sysv/linux/mips/kernel_sigaction.h @@ -0,0 +1,40 @@ +/* This is the sigaction structure from the Linux 2.1.24 kernel. */ + +#include <sgidefs.h> + +#define HAVE_SA_RESTORER + +struct old_kernel_sigaction { + unsigned int sa_flags; + __sighandler_t k_sa_handler; + unsigned long sa_mask; + unsigned int __pad0[3]; /* reserved, keep size constant */ + + /* Abi says here follows reserved int[2] */ + void (*sa_restorer)(void); +#if (_MIPS_SZPTR < 64) + /* + * For 32 bit code we have to pad struct sigaction to get + * constant size for the ABI + */ + int pad1[1]; /* reserved */ +#endif +}; + + +#define _KERNEL_NSIG 128 +#define _KERNEL_NSIG_BPW _MIPS_SZLONG +#define _KERNEL_NSIG_WORDS (_KERNEL_NSIG / _KERNEL_NSIG_BPW) + +typedef struct { + unsigned long sig[_KERNEL_NSIG_WORDS]; +} kernel_sigset_t; + +/* This is the sigaction structure from the Linux 2.1.68 kernel. */ +struct kernel_sigaction { + unsigned int sa_flags; + __sighandler_t k_sa_handler; + kernel_sigset_t sa_mask; + void (*sa_restorer)(void); + int s_resv[1]; /* reserved */ +}; |