Back to index

glibc  2.9
kernel_sigaction.h
Go to the documentation of this file.
00001 /* This is the sigaction structure from the Linux 2.1.24 kernel.  */
00002 
00003 #include <sgidefs.h>
00004 
00005 #define HAVE_SA_RESTORER
00006 
00007 struct old_kernel_sigaction {
00008        unsigned int  sa_flags;
00009        __sighandler_t       k_sa_handler;
00010        unsigned long sa_mask;
00011        unsigned int    __pad0[3]; /* reserved, keep size constant */
00012 
00013        /* Abi says here follows reserved int[2] */
00014        void          (*sa_restorer)(void);
00015 #if (_MIPS_SZPTR < 64)
00016        /*
00017         * For 32 bit code we have to pad struct sigaction to get
00018         * constant size for the ABI
00019         */
00020        int           pad1[1]; /* reserved */
00021 #endif
00022 };
00023 
00024 
00025 #define _KERNEL_NSIG        128
00026 #define _KERNEL_NSIG_BPW       _MIPS_SZLONG
00027 #define _KERNEL_NSIG_WORDS     (_KERNEL_NSIG / _KERNEL_NSIG_BPW)
00028 
00029 typedef struct {
00030        unsigned long sig[_KERNEL_NSIG_WORDS];
00031 } kernel_sigset_t;
00032 
00033 /* This is the sigaction structure from the Linux 2.1.68 kernel.  */
00034 struct kernel_sigaction {
00035        unsigned int  sa_flags;
00036        __sighandler_t       k_sa_handler;
00037        kernel_sigset_t      sa_mask;
00038        void          (*sa_restorer)(void);
00039        int           s_resv[1]; /* reserved */
00040 };