ibcs2_signal.h revision 92761
1200811Strasz/*	$NetBSD: ibcs2_signal.h,v 1.7 1995/08/14 02:26:01 mycroft Exp $	*/
2200811Strasz
3200811Strasz/*
4200811Strasz * Copyright (c) 1994, 1995 Scott Bartram
5200811Strasz * All rights reserved.
6200811Strasz *
7200811Strasz * Redistribution and use in source and binary forms, with or without
8200811Strasz * modification, are permitted provided that the following conditions
9200811Strasz * are met:
10200811Strasz * 1. Redistributions of source code must retain the above copyright
11200811Strasz *    notice, this list of conditions and the following disclaimer.
12200811Strasz * 2. Redistributions in binary form must reproduce the above copyright
13200811Strasz *    notice, this list of conditions and the following disclaimer in the
14200811Strasz *    documentation and/or other materials provided with the distribution.
15200811Strasz * 3. All advertising materials mentioning features or use of this software
16200811Strasz *    must display the following acknowledgement:
17200811Strasz *      This product includes software developed by Scott Bartram.
18200811Strasz * 4. The name of the author may not be used to endorse or promote products
19200811Strasz *    derived from this software without specific prior written permission
20200811Strasz *
21200811Strasz * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22200811Strasz * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23200811Strasz * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24200811Strasz * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
25200811Strasz * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26200811Strasz * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27200811Strasz * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28200811Strasz * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29200811Strasz * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
30219266Strasz * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31200811Strasz *
32200811Strasz * $FreeBSD: head/sys/i386/ibcs2/ibcs2_signal.h 92761 2002-03-20 05:48:58Z alfred $
33200811Strasz */
34200811Strasz
35200811Strasz#ifndef	_IBCS2_SIGNAL_H
36200811Strasz#define	_IBCS2_SIGNAL_H
37200811Strasz
38200811Strasz#define IBCS2_SIGHUP		1
39200811Strasz#define IBCS2_SIGINT		2
40200811Strasz#define IBCS2_SIGQUIT		3
41200811Strasz#define IBCS2_SIGILL		4
42200811Strasz#define IBCS2_SIGTRAP		5
43200811Strasz#define IBCS2_SIGIOT		6
44200811Strasz#define IBCS2_SIGABRT		6
45200811Strasz#define IBCS2_SIGEMT		7
46200811Strasz#define IBCS2_SIGFPE		8
47219266Strasz#define IBCS2_SIGKILL		9
48200811Strasz#define IBCS2_SIGBUS		10
49200811Strasz#define IBCS2_SIGSEGV		11
50200811Strasz#define IBCS2_SIGSYS		12
51200811Strasz#define IBCS2_SIGPIPE		13
52200811Strasz#define IBCS2_SIGALRM		14
53200811Strasz#define IBCS2_SIGTERM		15
54200811Strasz#define IBCS2_SIGUSR1		16
55200811Strasz#define IBCS2_SIGUSR2		17
56200811Strasz#define IBCS2_SIGCLD		18
57200811Strasz#define IBCS2_SIGPWR		19
58200811Strasz#define IBCS2_SIGWINCH		20
59200811Strasz#define IBCS2_SIGPOLL		22
60200811Strasz#define IBCS2_NSIG		32
61200811Strasz#define IBCS2_SIGTBLSZ		32
62200811Strasz
63200811Strasz/*
64200811Strasz * SCO-specific
65200811Strasz */
66219270Strasz#define IBCS2_SIGSTOP		23
67200811Strasz#define IBCS2_SIGTSTP		24
68200811Strasz#define IBCS2_SIGCONT		25
69200811Strasz#define IBCS2_SIGTTIN		26
70200811Strasz#define IBCS2_SIGTTOU		27
71200811Strasz#define IBCS2_SIGVTALRM		28
72216414Strasz#define IBCS2_SIGPROF		29
73216414Strasz
74216414Strasz#define IBCS2_SIGNO_MASK	0x00FF
75216414Strasz#define IBCS2_SIGNAL_MASK	0x0000
76216414Strasz#define IBCS2_SIGSET_MASK	0x0100
77200811Strasz#define IBCS2_SIGHOLD_MASK	0x0200
78200811Strasz#define IBCS2_SIGRELSE_MASK	0x0400
79200811Strasz#define IBCS2_SIGIGNORE_MASK	0x0800
80200811Strasz#define IBCS2_SIGPAUSE_MASK	0x1000
81200811Strasz
82200811Strasz#define IBCS2_SIGNO(x)		((x) & IBCS2_SIGNO_MASK)
83200811Strasz#define IBCS2_SIGCALL(x)	((x) & ~IBCS2_SIGNO_MASK)
84200811Strasz
85200811Strasztypedef long	ibcs2_sigset_t;
86200811Strasztypedef void	(*ibcs2_sig_t)(int);
87200811Strasz
88200811Straszstruct ibcs2_sigaction {
89200811Strasz	ibcs2_sig_t	isa_handler;
90200811Strasz	ibcs2_sigset_t	isa_mask;
91	int		isa_flags;
92};
93
94#define IBCS2_SIG_DFL		((ibcs2_sig_t)0)
95#define IBCS2_SIG_ERR		((ibcs2_sig_t)-1)
96#define IBCS2_SIG_IGN		((ibcs2_sig_t)1)
97#define IBCS2_SIG_HOLD		((ibcs2_sig_t)2)
98
99#define IBCS2_SIG_SETMASK	0
100#define IBCS2_SIG_BLOCK		1
101#define IBCS2_SIG_UNBLOCK	2
102
103/* sa_flags */
104#define IBCS2_SA_NOCLDSTOP	1
105
106#define	IBCS2_MINSIGSTKSZ	8192
107
108extern int bsd_to_ibcs2_sig[];
109
110#endif /* _IBCS2_SIGNAL_H */
111