blob: e26043b73f5d8e32280b4bd1cfe087f4c93aa3b9 [file] [log] [blame]
David Howells70c1674f2012-10-16 21:28:05 +01001#ifndef _UAPI_ASM_PARISC_SIGNAL_H
2#define _UAPI_ASM_PARISC_SIGNAL_H
3
4#define SIGHUP 1
5#define SIGINT 2
6#define SIGQUIT 3
7#define SIGILL 4
8#define SIGTRAP 5
9#define SIGABRT 6
10#define SIGIOT 6
Helge Deller1f25df22014-10-10 22:20:17 +020011#define SIGSTKFLT 7
David Howells70c1674f2012-10-16 21:28:05 +010012#define SIGFPE 8
13#define SIGKILL 9
14#define SIGBUS 10
15#define SIGSEGV 11
Helge Deller1f25df22014-10-10 22:20:17 +020016#define SIGXCPU 12
David Howells70c1674f2012-10-16 21:28:05 +010017#define SIGPIPE 13
18#define SIGALRM 14
19#define SIGTERM 15
20#define SIGUSR1 16
21#define SIGUSR2 17
22#define SIGCHLD 18
23#define SIGPWR 19
24#define SIGVTALRM 20
25#define SIGPROF 21
26#define SIGIO 22
27#define SIGPOLL SIGIO
28#define SIGWINCH 23
29#define SIGSTOP 24
30#define SIGTSTP 25
31#define SIGCONT 26
32#define SIGTTIN 27
33#define SIGTTOU 28
34#define SIGURG 29
Helge Deller1f25df22014-10-10 22:20:17 +020035#define SIGXFSZ 30
36#define SIGUNUSED 31
37#define SIGSYS 31 /* Linux doesn't use this */
David Howells70c1674f2012-10-16 21:28:05 +010038
39/* These should not be considered constants from userland. */
Helge Deller1f25df22014-10-10 22:20:17 +020040#define SIGRTMIN 32
David Howells70c1674f2012-10-16 21:28:05 +010041#define SIGRTMAX _NSIG /* it's 44 under HP/UX */
42
43/*
44 * SA_FLAGS values:
45 *
46 * SA_ONSTACK indicates that a registered stack_t will be used.
47 * SA_RESTART flag to get restarting signals (which were the default long ago)
48 * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
49 * SA_RESETHAND clears the handler when the signal is delivered.
50 * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
51 * SA_NODEFER prevents the current signal from being masked in the handler.
52 *
53 * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
54 * Unix names RESETHAND and NODEFER respectively.
55 */
56#define SA_ONSTACK 0x00000001
57#define SA_RESETHAND 0x00000004
58#define SA_NOCLDSTOP 0x00000008
59#define SA_SIGINFO 0x00000010
60#define SA_NODEFER 0x00000020
61#define SA_RESTART 0x00000040
62#define SA_NOCLDWAIT 0x00000080
63#define _SA_SIGGFAULT 0x00000100 /* HPUX */
64
65#define SA_NOMASK SA_NODEFER
66#define SA_ONESHOT SA_RESETHAND
67
David Howells70c1674f2012-10-16 21:28:05 +010068#define MINSIGSTKSZ 2048
69#define SIGSTKSZ 8192
70
71
72#define SIG_BLOCK 0 /* for blocking signals */
73#define SIG_UNBLOCK 1 /* for unblocking signals */
74#define SIG_SETMASK 2 /* for setting the signal mask */
75
76#define SIG_DFL ((__sighandler_t)0) /* default signal handling */
77#define SIG_IGN ((__sighandler_t)1) /* ignore signal */
78#define SIG_ERR ((__sighandler_t)-1) /* error return from signal */
79
80# ifndef __ASSEMBLY__
81
82# include <linux/types.h>
83
84/* Avoid too many header ordering problems. */
85struct siginfo;
86
87/* Type of a signal handler. */
Helge Dellerd8f54572014-11-10 22:04:47 +010088#if defined(__LP64__)
David Howells70c1674f2012-10-16 21:28:05 +010089/* function pointers on 64-bit parisc are pointers to little structs and the
90 * compiler doesn't support code which changes or tests the address of
91 * the function in the little struct. This is really ugly -PB
92 */
93typedef char __user *__sighandler_t;
94#else
95typedef void __signalfn_t(int);
96typedef __signalfn_t __user *__sighandler_t;
97#endif
98
99typedef struct sigaltstack {
100 void __user *ss_sp;
101 int ss_flags;
102 size_t ss_size;
103} stack_t;
104
105#endif /* !__ASSEMBLY */
106#endif /* _UAPI_ASM_PARISC_SIGNAL_H */