111394Sswallace/*	$NetBSD: ibcs2_signal.h,v 1.7 1995/08/14 02:26:01 mycroft Exp $	*/
211394Sswallace
3139799Simp/*-
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.
3151793Smarcel *
3251793Smarcel * $FreeBSD$
3311394Sswallace */
3411394Sswallace
3511394Sswallace#ifndef	_IBCS2_SIGNAL_H
3611394Sswallace#define	_IBCS2_SIGNAL_H
3711394Sswallace
3811394Sswallace#define IBCS2_SIGHUP		1
3911394Sswallace#define IBCS2_SIGINT		2
4011394Sswallace#define IBCS2_SIGQUIT		3
4111394Sswallace#define IBCS2_SIGILL		4
4211394Sswallace#define IBCS2_SIGTRAP		5
4311394Sswallace#define IBCS2_SIGIOT		6
4411394Sswallace#define IBCS2_SIGABRT		6
4511394Sswallace#define IBCS2_SIGEMT		7
4611394Sswallace#define IBCS2_SIGFPE		8
4711394Sswallace#define IBCS2_SIGKILL		9
4811394Sswallace#define IBCS2_SIGBUS		10
4911394Sswallace#define IBCS2_SIGSEGV		11
5011394Sswallace#define IBCS2_SIGSYS		12
5111394Sswallace#define IBCS2_SIGPIPE		13
5211394Sswallace#define IBCS2_SIGALRM		14
5311394Sswallace#define IBCS2_SIGTERM		15
5411394Sswallace#define IBCS2_SIGUSR1		16
5511394Sswallace#define IBCS2_SIGUSR2		17
5611394Sswallace#define IBCS2_SIGCLD		18
5711394Sswallace#define IBCS2_SIGPWR		19
5811394Sswallace#define IBCS2_SIGWINCH		20
5911394Sswallace#define IBCS2_SIGPOLL		22
6011394Sswallace#define IBCS2_NSIG		32
6151793Smarcel#define IBCS2_SIGTBLSZ		32
6211394Sswallace
6311394Sswallace/*
6411394Sswallace * SCO-specific
6511394Sswallace */
6611394Sswallace#define IBCS2_SIGSTOP		23
6711394Sswallace#define IBCS2_SIGTSTP		24
6811394Sswallace#define IBCS2_SIGCONT		25
6911394Sswallace#define IBCS2_SIGTTIN		26
7011394Sswallace#define IBCS2_SIGTTOU		27
7111394Sswallace#define IBCS2_SIGVTALRM		28
7211394Sswallace#define IBCS2_SIGPROF		29
7311394Sswallace
7411394Sswallace#define IBCS2_SIGNO_MASK	0x00FF
7511394Sswallace#define IBCS2_SIGNAL_MASK	0x0000
7611394Sswallace#define IBCS2_SIGSET_MASK	0x0100
7711394Sswallace#define IBCS2_SIGHOLD_MASK	0x0200
7811394Sswallace#define IBCS2_SIGRELSE_MASK	0x0400
7911394Sswallace#define IBCS2_SIGIGNORE_MASK	0x0800
8011394Sswallace#define IBCS2_SIGPAUSE_MASK	0x1000
8111394Sswallace
8211394Sswallace#define IBCS2_SIGNO(x)		((x) & IBCS2_SIGNO_MASK)
8311394Sswallace#define IBCS2_SIGCALL(x)	((x) & ~IBCS2_SIGNO_MASK)
8411394Sswallace
8511394Sswallacetypedef long	ibcs2_sigset_t;
8692761Salfredtypedef void	(*ibcs2_sig_t)(int);
8711394Sswallace
8811394Sswallacestruct ibcs2_sigaction {
8948620Scracauer	ibcs2_sig_t	isa_handler;
9048620Scracauer	ibcs2_sigset_t	isa_mask;
9148620Scracauer	int		isa_flags;
9211394Sswallace};
9311394Sswallace
9412256Sbde#define IBCS2_SIG_DFL		((ibcs2_sig_t)0)
9512256Sbde#define IBCS2_SIG_ERR		((ibcs2_sig_t)-1)
9612256Sbde#define IBCS2_SIG_IGN		((ibcs2_sig_t)1)
9712256Sbde#define IBCS2_SIG_HOLD		((ibcs2_sig_t)2)
9811397Sswallace
9911397Sswallace#define IBCS2_SIG_SETMASK	0
10011397Sswallace#define IBCS2_SIG_BLOCK		1
10111397Sswallace#define IBCS2_SIG_UNBLOCK	2
10211397Sswallace
10311394Sswallace/* sa_flags */
10411394Sswallace#define IBCS2_SA_NOCLDSTOP	1
10511394Sswallace
10668520Smarcel#define	IBCS2_MINSIGSTKSZ	8192
10768520Smarcel
10811394Sswallaceextern int bsd_to_ibcs2_sig[];
10911394Sswallace
11011394Sswallace#endif /* _IBCS2_SIGNAL_H */
111