1e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#ifndef _UAPI_ASM_CRIS_SIGNAL_H
2e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define _UAPI_ASM_CRIS_SIGNAL_H
3e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
4e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#include <linux/types.h>
5e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
6e717abac8a9f65eee6de3bb37e10c6916bced483David Howells/* Avoid too many header ordering problems.  */
7e717abac8a9f65eee6de3bb37e10c6916bced483David Howellsstruct siginfo;
8e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
9e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#ifndef __KERNEL__
10e717abac8a9f65eee6de3bb37e10c6916bced483David Howells/* Here we must cater to libcs that poke about in kernel headers.  */
11e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
12e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define NSIG		32
13e717abac8a9f65eee6de3bb37e10c6916bced483David Howellstypedef unsigned long sigset_t;
14e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
15e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#endif /* __KERNEL__ */
16e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
17e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGHUP		 1
18e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGINT		 2
19e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGQUIT		 3
20e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGILL		 4
21e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGTRAP		 5
22e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGABRT		 6
23e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGIOT		 6
24e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGBUS		 7
25e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGFPE		 8
26e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGKILL		 9
27e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGUSR1		10
28e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGSEGV		11
29e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGUSR2		12
30e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGPIPE		13
31e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGALRM		14
32e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGTERM		15
33e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGSTKFLT	16
34e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGCHLD		17
35e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGCONT		18
36e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGSTOP		19
37e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGTSTP		20
38e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGTTIN		21
39e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGTTOU		22
40e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGURG		23
41e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGXCPU		24
42e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGXFSZ		25
43e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGVTALRM	26
44e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGPROF		27
45e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGWINCH	28
46e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGIO		29
47e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGPOLL		SIGIO
48e717abac8a9f65eee6de3bb37e10c6916bced483David Howells/*
49e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGLOST		29
50e717abac8a9f65eee6de3bb37e10c6916bced483David Howells*/
51e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGPWR		30
52e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGSYS          31
53e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define	SIGUNUSED	31
54e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
55e717abac8a9f65eee6de3bb37e10c6916bced483David Howells/* These should not be considered constants from userland.  */
56e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGRTMIN        32
57e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGRTMAX        _NSIG
58e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
59e717abac8a9f65eee6de3bb37e10c6916bced483David Howells/*
60e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * SA_FLAGS values:
61e717abac8a9f65eee6de3bb37e10c6916bced483David Howells *
62e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * SA_ONSTACK indicates that a registered stack_t will be used.
63e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * SA_RESTART flag to get restarting signals (which were the default long ago)
64e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
65e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * SA_RESETHAND clears the handler when the signal is delivered.
66e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
67e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * SA_NODEFER prevents the current signal from being masked in the handler.
68e717abac8a9f65eee6de3bb37e10c6916bced483David Howells *
69e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
70e717abac8a9f65eee6de3bb37e10c6916bced483David Howells * Unix names RESETHAND and NODEFER respectively.
71e717abac8a9f65eee6de3bb37e10c6916bced483David Howells */
72e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
73e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_NOCLDSTOP	0x00000001u
74e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_NOCLDWAIT	0x00000002u
75e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_SIGINFO	0x00000004u
76e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_ONSTACK	0x08000000u
77e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_RESTART	0x10000000u
78e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_NODEFER	0x40000000u
79e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_RESETHAND	0x80000000u
80e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
81e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_NOMASK	SA_NODEFER
82e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_ONESHOT	SA_RESETHAND
83e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
84e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SA_RESTORER	0x04000000
85e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
86e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define MINSIGSTKSZ	2048
87e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define SIGSTKSZ	8192
88e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
89e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#include <asm-generic/signal-defs.h>
90e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
91e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#ifndef __KERNEL__
92e717abac8a9f65eee6de3bb37e10c6916bced483David Howells/* Here we must cater to libcs that poke about in kernel headers.  */
93e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
94e717abac8a9f65eee6de3bb37e10c6916bced483David Howellsstruct sigaction {
95e717abac8a9f65eee6de3bb37e10c6916bced483David Howells	union {
96e717abac8a9f65eee6de3bb37e10c6916bced483David Howells	  __sighandler_t _sa_handler;
97e717abac8a9f65eee6de3bb37e10c6916bced483David Howells	  void (*_sa_sigaction)(int, struct siginfo *, void *);
98e717abac8a9f65eee6de3bb37e10c6916bced483David Howells	} _u;
99e717abac8a9f65eee6de3bb37e10c6916bced483David Howells	sigset_t sa_mask;
100e717abac8a9f65eee6de3bb37e10c6916bced483David Howells	unsigned long sa_flags;
101e717abac8a9f65eee6de3bb37e10c6916bced483David Howells	void (*sa_restorer)(void);
102e717abac8a9f65eee6de3bb37e10c6916bced483David Howells};
103e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
104e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define sa_handler	_u._sa_handler
105e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#define sa_sigaction	_u._sa_sigaction
106e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
107e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#endif /* __KERNEL__ */
108e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
109e717abac8a9f65eee6de3bb37e10c6916bced483David Howellstypedef struct sigaltstack {
110e717abac8a9f65eee6de3bb37e10c6916bced483David Howells	void *ss_sp;
111e717abac8a9f65eee6de3bb37e10c6916bced483David Howells	int ss_flags;
112e717abac8a9f65eee6de3bb37e10c6916bced483David Howells	size_t ss_size;
113e717abac8a9f65eee6de3bb37e10c6916bced483David Howells} stack_t;
114e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
115e717abac8a9f65eee6de3bb37e10c6916bced483David Howells
116e717abac8a9f65eee6de3bb37e10c6916bced483David Howells#endif /* _UAPI_ASM_CRIS_SIGNAL_H */
117