Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
signal.h
Go to the documentation of this file.
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 /*
93  * sigaltstack controls
94  */
95 #define SS_ONSTACK 1
96 #define SS_DISABLE 2
97 
98 #define MINSIGSTKSZ 2048
99 #define SIGSTKSZ 8192
100 
101 #include <asm-generic/signal-defs.h>
102 
103 #ifndef __KERNEL__
104 /* Here we must cater to libcs that poke about in kernel headers. */
105 
106 struct sigaction {
107  union {
109  void (*_sa_sigaction)(int, struct siginfo *, void *);
110  } _u;
112  unsigned long sa_flags;
113  void (*sa_restorer)(void);
114 };
115 
116 #define sa_handler _u._sa_handler
117 #define sa_sigaction _u._sa_sigaction
118 
119 #endif /* __KERNEL__ */
120 
121 typedef struct sigaltstack {
122  void __user *ss_sp;
123  int ss_flags;
124  size_t ss_size;
125 } stack_t;
126 
127 
128 #endif /* _UAPI__ASM_AVR32_SIGNAL_H */