#ifndef _ASMARM_SIGNAL_H
|
#ifndef _ASMARM_SIGNAL_H
|
#define _ASMARM_SIGNAL_H
|
#define _ASMARM_SIGNAL_H
|
|
|
typedef unsigned long sigset_t; /* at least 32 bits */
|
typedef unsigned long sigset_t; /* at least 32 bits */
|
|
|
#define _NSIG 32
|
#define _NSIG 32
|
#define NSIG _NSIG
|
#define NSIG _NSIG
|
|
|
#define SIGHUP 1
|
#define SIGHUP 1
|
#define SIGINT 2
|
#define SIGINT 2
|
#define SIGQUIT 3
|
#define SIGQUIT 3
|
#define SIGILL 4
|
#define SIGILL 4
|
#define SIGTRAP 5
|
#define SIGTRAP 5
|
#define SIGABRT 6
|
#define SIGABRT 6
|
#define SIGIOT 6
|
#define SIGIOT 6
|
#define SIGBUS 7
|
#define SIGBUS 7
|
#define SIGFPE 8
|
#define SIGFPE 8
|
#define SIGKILL 9
|
#define SIGKILL 9
|
#define SIGUSR1 10
|
#define SIGUSR1 10
|
#define SIGSEGV 11
|
#define SIGSEGV 11
|
#define SIGUSR2 12
|
#define SIGUSR2 12
|
#define SIGPIPE 13
|
#define SIGPIPE 13
|
#define SIGALRM 14
|
#define SIGALRM 14
|
#define SIGTERM 15
|
#define SIGTERM 15
|
#define SIGSTKFLT 16
|
#define SIGSTKFLT 16
|
#define SIGCHLD 17
|
#define SIGCHLD 17
|
#define SIGCONT 18
|
#define SIGCONT 18
|
#define SIGSTOP 19
|
#define SIGSTOP 19
|
#define SIGTSTP 20
|
#define SIGTSTP 20
|
#define SIGTTIN 21
|
#define SIGTTIN 21
|
#define SIGTTOU 22
|
#define SIGTTOU 22
|
#define SIGURG 23
|
#define SIGURG 23
|
#define SIGXCPU 24
|
#define SIGXCPU 24
|
#define SIGXFSZ 25
|
#define SIGXFSZ 25
|
#define SIGVTALRM 26
|
#define SIGVTALRM 26
|
#define SIGPROF 27
|
#define SIGPROF 27
|
#define SIGWINCH 28
|
#define SIGWINCH 28
|
#define SIGIO 29
|
#define SIGIO 29
|
#define SIGPOLL SIGIO
|
#define SIGPOLL SIGIO
|
/*
|
/*
|
#define SIGLOST 29
|
#define SIGLOST 29
|
*/
|
*/
|
#define SIGPWR 30
|
#define SIGPWR 30
|
#define SIGUNUSED 31
|
#define SIGUNUSED 31
|
|
|
/*
|
/*
|
* sa_flags values: SA_STACK is not currently supported, but will allow the
|
* sa_flags values: SA_STACK is not currently supported, but will allow the
|
* usage of signal stacks by using the (now obsolete) sa_restorer field in
|
* usage of signal stacks by using the (now obsolete) sa_restorer field in
|
* the sigaction structure as a stack pointer. This is now possible due to
|
* the sigaction structure as a stack pointer. This is now possible due to
|
* the changes in signal handling. LBT 010493.
|
* the changes in signal handling. LBT 010493.
|
* SA_INTERRUPT is a no-op, but left due to historical reasons. Use the
|
* SA_INTERRUPT is a no-op, but left due to historical reasons. Use the
|
* SA_RESTART flag to get restarting signals (which were the default long ago)
|
* SA_RESTART flag to get restarting signals (which were the default long ago)
|
* SA_SHIRQ flag is for shared interrupt.
|
* SA_SHIRQ flag is for shared interrupt.
|
*/
|
*/
|
#define SA_NOCLDSTOP 1
|
#define SA_NOCLDSTOP 1
|
#define SA_SHIRQ 0x04000000
|
#define SA_SHIRQ 0x04000000
|
#define SA_STACK 0x08000000
|
#define SA_STACK 0x08000000
|
#define SA_RESTART 0x10000000
|
#define SA_RESTART 0x10000000
|
#define SA_INTERRUPT 0x20000000
|
#define SA_INTERRUPT 0x20000000
|
#define SA_NOMASK 0x40000000
|
#define SA_NOMASK 0x40000000
|
#define SA_ONESHOT 0x80000000
|
#define SA_ONESHOT 0x80000000
|
|
|
#ifdef __KERNEL__
|
#ifdef __KERNEL__
|
/*
|
/*
|
* These values of sa_flags are used only by the kernel as part of the
|
* These values of sa_flags are used only by the kernel as part of the
|
* irq handling routines.
|
* irq handling routines.
|
*
|
*
|
* SA_INTERRUPT is also used by the irq handling routines.
|
* SA_INTERRUPT is also used by the irq handling routines.
|
*/
|
*/
|
#define SA_PROBE SA_ONESHOT
|
#define SA_PROBE SA_ONESHOT
|
#define SA_SAMPLE_RANDOM SA_RESTART
|
#define SA_SAMPLE_RANDOM SA_RESTART
|
#endif
|
#endif
|
|
|
|
|
#define SIG_BLOCK 0 /* for blocking signals */
|
#define SIG_BLOCK 0 /* for blocking signals */
|
#define SIG_UNBLOCK 1 /* for unblocking signals */
|
#define SIG_UNBLOCK 1 /* for unblocking signals */
|
#define SIG_SETMASK 2 /* for setting the signal mask */
|
#define SIG_SETMASK 2 /* for setting the signal mask */
|
|
|
/* Type of a signal handler. */
|
/* Type of a signal handler. */
|
typedef void (*__sighandler_t)(int);
|
typedef void (*__sighandler_t)(int);
|
|
|
#define SIG_DFL ((__sighandler_t)0) /* default signal handling */
|
#define SIG_DFL ((__sighandler_t)0) /* default signal handling */
|
#define SIG_IGN ((__sighandler_t)1) /* ignore signal */
|
#define SIG_IGN ((__sighandler_t)1) /* ignore signal */
|
#define SIG_ERR ((__sighandler_t)-1) /* error return from signal */
|
#define SIG_ERR ((__sighandler_t)-1) /* error return from signal */
|
|
|
struct sigaction {
|
struct sigaction {
|
__sighandler_t sa_handler;
|
__sighandler_t sa_handler;
|
sigset_t sa_mask;
|
sigset_t sa_mask;
|
unsigned long sa_flags;
|
unsigned long sa_flags;
|
void (*sa_restorer)(void);
|
void (*sa_restorer)(void);
|
};
|
};
|
|
|
#ifdef __KERNEL__
|
#ifdef __KERNEL__
|
#include <asm/sigcontext.h>
|
#include <asm/sigcontext.h>
|
#endif
|
#endif
|
|
|
#endif
|
#endif
|
|
|