1 /* sigstack, sigaltstack definitions.
2    Copyright (C) 1998, 1999, 2002 Free Software Foundation, Inc.
3 
4    The GNU C Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Lesser General Public
6    License as published by the Free Software Foundation; either
7    version 2.1 of the License, or (at your option) any later version.
8 
9    The GNU C Library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Lesser General Public License for more details.
13 
14    You should have received a copy of the GNU Lesser General Public
15    License along with the GNU C Library; if not, see
16    <http://www.gnu.org/licenses/>.  */
17 
18 #ifndef _SIGNAL_H
19 # error "Never include this file directly.  Use <signal.h> instead"
20 #endif
21 
22 
23 #if defined __UCLIBC_SUSV4_LEGACY__ || !defined __STRICT_HEADERS__
24 /* Structure describing a signal stack (obsolete).  */
25 struct sigstack
26   {
27     void *ss_sp;		/* Signal stack pointer.  */
28     int ss_onstack;		/* Nonzero if executing on this stack.  */
29   };
30 #endif
31 
32 
33 /* Possible values for `ss_flags.'.  */
34 enum
35 {
36   SS_ONSTACK = 1,
37 #define SS_ONSTACK	SS_ONSTACK
38   SS_DISABLE
39 #define SS_DISABLE	SS_DISABLE
40 };
41 
42 /* Minimum stack size for a signal handler.  */
43 #define MINSIGSTKSZ	4096
44 
45 /* System default stack size.  */
46 #define SIGSTKSZ	16384
47 
48 
49 /* Alternate, preferred interface.  */
50 typedef struct sigaltstack
51   {
52     void *ss_sp;
53     int ss_flags;
54     size_t ss_size;
55   } stack_t;
56