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