1999-05-22 Roland McGrath <roland@baalperazim.frob.com>
[platform/upstream/glibc.git] / bits / sigstack.h
1 /* sigstack, sigaltstack definitions.
2    Copyright (C) 1998, 1999 Free Software Foundation, Inc.
3    This file is part of the GNU C Library.
4
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Library General Public License as
7    published by the Free Software Foundation; either version 2 of the
8    License, or (at your option) any later version.
9
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Library General Public License for more details.
14
15    You should have received a copy of the GNU Library General Public
16    License along with the GNU C Library; see the file COPYING.LIB.  If not,
17    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18    Boston, MA 02111-1307, USA.  */
19
20 #ifndef _SIGNAL_H
21 # error "Never include this file directly.  Use <signal.h> instead"
22 #endif
23
24
25 /* Structure describing a signal stack (obsolete).  */
26 struct sigstack
27   {
28     __ptr_t ss_sp;              /* Signal stack pointer.  */
29     int ss_onstack;             /* Nonzero if executing on this stack.  */
30   };
31
32
33 /* Alternate, preferred interface.  */
34 typedef struct sigaltstack
35   {
36     __ptr_t ss_sp;
37     size_t ss_size;
38     int ss_flags;
39   } stack_t;
40
41
42 /* Possible values for `ss_flags.'.  */
43 enum
44 {
45   SS_ONSTACK = 0x0001,
46 #define SS_ONSTACK      SS_ONSTACK
47   SS_DISABLE = 0x0004
48 #define SS_DISABLE      SS_DISABLE
49 };
50
51 /* Minumum stack size for a signal handler.  */
52 #define MINSIGSTKSZ     8192
53
54 /* System default stack size.  */
55 #define SIGSTKSZ        (MINSIGSTKSZ + 32768)