ibcs2_signal.h revision 11397
111394Sswallace/*	$NetBSD: ibcs2_signal.h,v 1.7 1995/08/14 02:26:01 mycroft Exp $	*/
211394Sswallace
311394Sswallace/*
411394Sswallace * Copyright (c) 1994, 1995 Scott Bartram
511394Sswallace * All rights reserved.
611394Sswallace *
711394Sswallace * Redistribution and use in source and binary forms, with or without
811394Sswallace * modification, are permitted provided that the following conditions
911394Sswallace * are met:
1011394Sswallace * 1. Redistributions of source code must retain the above copyright
1111394Sswallace *    notice, this list of conditions and the following disclaimer.
1211394Sswallace * 2. Redistributions in binary form must reproduce the above copyright
1311394Sswallace *    notice, this list of conditions and the following disclaimer in the
1411394Sswallace *    documentation and/or other materials provided with the distribution.
1511394Sswallace * 3. All advertising materials mentioning features or use of this software
1611394Sswallace *    must display the following acknowledgement:
1711394Sswallace *      This product includes software developed by Scott Bartram.
1811394Sswallace * 4. The name of the author may not be used to endorse or promote products
1911394Sswallace *    derived from this software without specific prior written permission
2011394Sswallace *
2111394Sswallace * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
2211394Sswallace * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
2311394Sswallace * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
2411394Sswallace * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
2511394Sswallace * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
2611394Sswallace * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2711394Sswallace * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2811394Sswallace * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2911394Sswallace * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
3011394Sswallace * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3111394Sswallace */
3211394Sswallace
3311394Sswallace#ifndef	_IBCS2_SIGNAL_H
3411394Sswallace#define	_IBCS2_SIGNAL_H
3511394Sswallace
3611394Sswallace#define IBCS2_SIGHUP		1
3711394Sswallace#define IBCS2_SIGINT		2
3811394Sswallace#define IBCS2_SIGQUIT		3
3911394Sswallace#define IBCS2_SIGILL		4
4011394Sswallace#define IBCS2_SIGTRAP		5
4111394Sswallace#define IBCS2_SIGIOT		6
4211394Sswallace#define IBCS2_SIGABRT		6
4311394Sswallace#define IBCS2_SIGEMT		7
4411394Sswallace#define IBCS2_SIGFPE		8
4511394Sswallace#define IBCS2_SIGKILL		9
4611394Sswallace#define IBCS2_SIGBUS		10
4711394Sswallace#define IBCS2_SIGSEGV		11
4811394Sswallace#define IBCS2_SIGSYS		12
4911394Sswallace#define IBCS2_SIGPIPE		13
5011394Sswallace#define IBCS2_SIGALRM		14
5111394Sswallace#define IBCS2_SIGTERM		15
5211394Sswallace#define IBCS2_SIGUSR1		16
5311394Sswallace#define IBCS2_SIGUSR2		17
5411394Sswallace#define IBCS2_SIGCLD		18
5511394Sswallace#define IBCS2_SIGPWR		19
5611394Sswallace#define IBCS2_SIGWINCH		20
5711394Sswallace#define IBCS2_SIGPOLL		22
5811394Sswallace#define IBCS2_NSIG		32
5911394Sswallace
6011394Sswallace/*
6111394Sswallace * SCO-specific
6211394Sswallace */
6311394Sswallace#define IBCS2_SIGSTOP		23
6411394Sswallace#define IBCS2_SIGTSTP		24
6511394Sswallace#define IBCS2_SIGCONT		25
6611394Sswallace#define IBCS2_SIGTTIN		26
6711394Sswallace#define IBCS2_SIGTTOU		27
6811394Sswallace#define IBCS2_SIGVTALRM		28
6911394Sswallace#define IBCS2_SIGPROF		29
7011394Sswallace
7111394Sswallace#define IBCS2_SIGNO_MASK	0x00FF
7211394Sswallace#define IBCS2_SIGNAL_MASK	0x0000
7311394Sswallace#define IBCS2_SIGSET_MASK	0x0100
7411394Sswallace#define IBCS2_SIGHOLD_MASK	0x0200
7511394Sswallace#define IBCS2_SIGRELSE_MASK	0x0400
7611394Sswallace#define IBCS2_SIGIGNORE_MASK	0x0800
7711394Sswallace#define IBCS2_SIGPAUSE_MASK	0x1000
7811394Sswallace
7911394Sswallace#define IBCS2_SIGNO(x)		((x) & IBCS2_SIGNO_MASK)
8011394Sswallace#define IBCS2_SIGCALL(x)	((x) & ~IBCS2_SIGNO_MASK)
8111394Sswallace
8211394Sswallacetypedef long	ibcs2_sigset_t;
8311394Sswallacetypedef void	(*ibcs2_sig_t) __P((int));
8411394Sswallace
8511394Sswallacestruct ibcs2_sigaction {
8611394Sswallace	ibcs2_sig_t	sa_handler;
8711394Sswallace	ibcs2_sigset_t	sa_mask;
8811394Sswallace	int		sa_flags;
8911394Sswallace};
9011394Sswallace
9111397Sswallace#define IBCS2_SIG_DFL		(ibcs2_sig_t)(0)
9211397Sswallace#define IBCS2_SIG_ERR		(ibcs2_sig_t)(-1)
9311397Sswallace#define IBCS2_SIG_IGN		(ibcs2_sig_t)(1)
9411397Sswallace#define IBCS2_SIG_HOLD		(ibcs2_sig_t)(2)
9511397Sswallace
9611397Sswallace#define IBCS2_SIG_SETMASK	0
9711397Sswallace#define IBCS2_SIG_BLOCK		1
9811397Sswallace#define IBCS2_SIG_UNBLOCK	2
9911397Sswallace
10011394Sswallace/* sa_flags */
10111394Sswallace#define IBCS2_SA_NOCLDSTOP	1
10211394Sswallace
10311394Sswallaceextern int bsd_to_ibcs2_sig[];
10411394Sswallace
10511394Sswallace#endif /* _IBCS2_SIGNAL_H */
106