1 /* sigstack, sigaltstack definitions. 2 Copyright (C) 1998, 2000, 2002, 2003 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 Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the 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 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with the GNU C Library; if not, see 17 <http://www.gnu.org/licenses/>. */ 18 19 #ifndef _SIGNAL_H 20 # error "Never include this file directly. Use <signal.h> instead" 21 #endif 22 23 #ifndef _SIGSTACK_H 24 #define _SIGSTACK_H 1 25 26 #if defined __UCLIBC_SUSV4_LEGACY__ || !defined __UCLIBC_STRICT_HEADERS__ 27 /* Structure describing a signal stack (obsolete). */ 28 struct sigstack 29 { 30 __ptr_t ss_sp; /* Signal stack pointer. */ 31 int ss_onstack; /* Nonzero if executing on this stack. */ 32 }; 33 #endif 34 35 36 /* Possible values for `ss_flags.'. */ 37 enum 38 { 39 SS_ONSTACK = 1, 40 #define SS_ONSTACK SS_ONSTACK 41 SS_DISABLE 42 #define SS_DISABLE SS_DISABLE 43 }; 44 45 /* Minimum stack size for a signal handler. 46 47 Yes, this should be 131072 but the constant got defined incorrectly 48 in the kernel and we have to live with it. Users should in any case 49 use SIGSTKSZ as the size user-supplied buffers should have. */ 50 #define MINSIGSTKSZ 131027 51 52 /* System default stack size. */ 53 #define SIGSTKSZ 262144 54 55 56 /* Alternate, preferred interface. */ 57 typedef struct sigaltstack 58 { 59 __ptr_t ss_sp; 60 int ss_flags; 61 size_t ss_size; 62 } stack_t; 63 64 #endif /* bits/sigstack.h */ 65