1*7c478bd9Sstevel@tonic-gate /* $OpenBSD: SigAction.h,v 1.2 1999/06/27 08:15:19 millert Exp $ */ 2*7c478bd9Sstevel@tonic-gate 3*7c478bd9Sstevel@tonic-gate #ifndef _SIGACT_H 4*7c478bd9Sstevel@tonic-gate #define _SIGACT_H 5*7c478bd9Sstevel@tonic-gate 6*7c478bd9Sstevel@tonic-gate #pragma ident "%Z%%M% %I% %E% SMI" 7*7c478bd9Sstevel@tonic-gate 8*7c478bd9Sstevel@tonic-gate #ifdef __cplusplus 9*7c478bd9Sstevel@tonic-gate extern "C" { 10*7c478bd9Sstevel@tonic-gate #endif 11*7c478bd9Sstevel@tonic-gate 12*7c478bd9Sstevel@tonic-gate 13*7c478bd9Sstevel@tonic-gate /**************************************************************************** 14*7c478bd9Sstevel@tonic-gate * Copyright (c) 1998 Free Software Foundation, Inc. * 15*7c478bd9Sstevel@tonic-gate * * 16*7c478bd9Sstevel@tonic-gate * Permission is hereby granted, free of charge, to any person obtaining a * 17*7c478bd9Sstevel@tonic-gate * copy of this software and associated documentation files (the * 18*7c478bd9Sstevel@tonic-gate * "Software"), to deal in the Software without restriction, including * 19*7c478bd9Sstevel@tonic-gate * without limitation the rights to use, copy, modify, merge, publish, * 20*7c478bd9Sstevel@tonic-gate * distribute, distribute with modifications, sublicense, and/or sell * 21*7c478bd9Sstevel@tonic-gate * copies of the Software, and to permit persons to whom the Software is * 22*7c478bd9Sstevel@tonic-gate * furnished to do so, subject to the following conditions: * 23*7c478bd9Sstevel@tonic-gate * * 24*7c478bd9Sstevel@tonic-gate * The above copyright notice and this permission notice shall be included * 25*7c478bd9Sstevel@tonic-gate * in all copies or substantial portions of the Software. * 26*7c478bd9Sstevel@tonic-gate * * 27*7c478bd9Sstevel@tonic-gate * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * 28*7c478bd9Sstevel@tonic-gate * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * 29*7c478bd9Sstevel@tonic-gate * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * 30*7c478bd9Sstevel@tonic-gate * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * 31*7c478bd9Sstevel@tonic-gate * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * 32*7c478bd9Sstevel@tonic-gate * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * 33*7c478bd9Sstevel@tonic-gate * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * 34*7c478bd9Sstevel@tonic-gate * * 35*7c478bd9Sstevel@tonic-gate * Except as contained in this notice, the name(s) of the above copyright * 36*7c478bd9Sstevel@tonic-gate * holders shall not be used in advertising or otherwise to promote the * 37*7c478bd9Sstevel@tonic-gate * sale, use or other dealings in this Software without prior written * 38*7c478bd9Sstevel@tonic-gate * authorization. * 39*7c478bd9Sstevel@tonic-gate ****************************************************************************/ 40*7c478bd9Sstevel@tonic-gate 41*7c478bd9Sstevel@tonic-gate /**************************************************************************** 42*7c478bd9Sstevel@tonic-gate * Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 * 43*7c478bd9Sstevel@tonic-gate * and: Eric S. Raymond <esr@snark.thyrsus.com> * 44*7c478bd9Sstevel@tonic-gate ****************************************************************************/ 45*7c478bd9Sstevel@tonic-gate 46*7c478bd9Sstevel@tonic-gate /* 47*7c478bd9Sstevel@tonic-gate * $From: SigAction.h,v 1.5 1999/06/19 23:00:54 tom Exp $ 48*7c478bd9Sstevel@tonic-gate * 49*7c478bd9Sstevel@tonic-gate * This file exists to handle non-POSIX systems which don't have <unistd.h>, 50*7c478bd9Sstevel@tonic-gate * and usually no sigaction() nor <termios.h> 51*7c478bd9Sstevel@tonic-gate */ 52*7c478bd9Sstevel@tonic-gate 53*7c478bd9Sstevel@tonic-gate #if !defined(HAVE_SIGACTION) && defined(HAVE_SIGVEC) 54*7c478bd9Sstevel@tonic-gate 55*7c478bd9Sstevel@tonic-gate #undef SIG_BLOCK 56*7c478bd9Sstevel@tonic-gate #define SIG_BLOCK 00 57*7c478bd9Sstevel@tonic-gate 58*7c478bd9Sstevel@tonic-gate #undef SIG_UNBLOCK 59*7c478bd9Sstevel@tonic-gate #define SIG_UNBLOCK 01 60*7c478bd9Sstevel@tonic-gate 61*7c478bd9Sstevel@tonic-gate #undef SIG_SETMASK 62*7c478bd9Sstevel@tonic-gate #define SIG_SETMASK 02 63*7c478bd9Sstevel@tonic-gate 64*7c478bd9Sstevel@tonic-gate /* 65*7c478bd9Sstevel@tonic-gate * <bsd/signal.h> is in the Linux 1.2.8 + gcc 2.7.0 configuration, 66*7c478bd9Sstevel@tonic-gate * and is useful for testing this header file. 67*7c478bd9Sstevel@tonic-gate */ 68*7c478bd9Sstevel@tonic-gate #if HAVE_BSD_SIGNAL_H 69*7c478bd9Sstevel@tonic-gate # include <bsd/signal.h> 70*7c478bd9Sstevel@tonic-gate #endif 71*7c478bd9Sstevel@tonic-gate 72*7c478bd9Sstevel@tonic-gate struct sigaction 73*7c478bd9Sstevel@tonic-gate { 74*7c478bd9Sstevel@tonic-gate struct sigvec sv; 75*7c478bd9Sstevel@tonic-gate }; 76*7c478bd9Sstevel@tonic-gate 77*7c478bd9Sstevel@tonic-gate typedef unsigned long sigset_t; 78*7c478bd9Sstevel@tonic-gate 79*7c478bd9Sstevel@tonic-gate #undef sa_mask 80*7c478bd9Sstevel@tonic-gate #define sa_mask sv.sv_mask 81*7c478bd9Sstevel@tonic-gate #undef sa_handler 82*7c478bd9Sstevel@tonic-gate #define sa_handler sv.sv_handler 83*7c478bd9Sstevel@tonic-gate #undef sa_flags 84*7c478bd9Sstevel@tonic-gate #define sa_flags sv.sv_flags 85*7c478bd9Sstevel@tonic-gate 86*7c478bd9Sstevel@tonic-gate int sigaction(int sig, struct sigaction *sigact, struct sigaction *osigact); 87*7c478bd9Sstevel@tonic-gate int sigprocmask (int how, sigset_t *mask, sigset_t *omask); 88*7c478bd9Sstevel@tonic-gate int sigemptyset (sigset_t *mask); 89*7c478bd9Sstevel@tonic-gate int sigsuspend (sigset_t *mask); 90*7c478bd9Sstevel@tonic-gate int sigdelset (sigset_t *mask, int sig); 91*7c478bd9Sstevel@tonic-gate int sigaddset (sigset_t *mask, int sig); 92*7c478bd9Sstevel@tonic-gate 93*7c478bd9Sstevel@tonic-gate #endif /* !defined(HAVE_SIGACTION) && defined(HAVE_SIGVEC) */ 94*7c478bd9Sstevel@tonic-gate 95*7c478bd9Sstevel@tonic-gate #ifdef __cplusplus 96*7c478bd9Sstevel@tonic-gate } 97*7c478bd9Sstevel@tonic-gate #endif 98*7c478bd9Sstevel@tonic-gate 99*7c478bd9Sstevel@tonic-gate #endif /* _SIGACT_H */ 100