2005-04-17 06:20:36 +08:00
|
|
|
#ifndef _ASM_SIGNAL_H
|
|
|
|
#define _ASM_SIGNAL_H
|
|
|
|
|
|
|
|
#include <linux/types.h>
|
|
|
|
|
2009-06-13 20:23:54 +08:00
|
|
|
#ifndef __KERNEL__
|
2005-04-17 06:20:36 +08:00
|
|
|
/* Here we must cater to libcs that poke about in kernel headers. */
|
|
|
|
|
|
|
|
#define NSIG 32
|
|
|
|
typedef unsigned long sigset_t;
|
|
|
|
|
2009-06-13 20:23:54 +08:00
|
|
|
#endif /* !__KERNEL__ */
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2009-06-13 20:23:54 +08:00
|
|
|
#define SA_RESTORER 0x04000000 /* to get struct sigaction correct */
|
2005-04-17 06:20:36 +08:00
|
|
|
|
2005-05-04 12:40:12 +08:00
|
|
|
#include <asm-generic/signal.h>
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
#ifdef __KERNEL__
|
|
|
|
struct old_sigaction {
|
|
|
|
__sighandler_t sa_handler;
|
|
|
|
old_sigset_t sa_mask;
|
|
|
|
unsigned long sa_flags;
|
2006-06-23 17:04:04 +08:00
|
|
|
__sigrestore_t sa_restorer;
|
2005-04-17 06:20:36 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
#else
|
|
|
|
/* Here we must cater to libcs that poke about in kernel headers. */
|
|
|
|
|
|
|
|
struct sigaction {
|
|
|
|
union {
|
|
|
|
__sighandler_t _sa_handler;
|
|
|
|
void (*_sa_sigaction)(int, struct siginfo *, void *);
|
|
|
|
} _u;
|
|
|
|
sigset_t sa_mask;
|
|
|
|
unsigned long sa_flags;
|
|
|
|
void (*sa_restorer)(void);
|
|
|
|
};
|
|
|
|
|
|
|
|
#define sa_handler _u._sa_handler
|
|
|
|
#define sa_sigaction _u._sa_sigaction
|
|
|
|
|
|
|
|
#endif /* __KERNEL__ */
|
|
|
|
|
|
|
|
#endif /* _ASM_SIGNAL_H */
|