Annotation of sys/compat/ibcs2/ibcs2_signal.h, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: ibcs2_signal.h,v 1.5 2002/03/14 01:26:50 millert Exp $ */
2: /* $NetBSD: ibcs2_signal.h,v 1.8 1996/05/03 17:05:28 christos Exp $ */
3:
4: /*
5: * Copyright (c) 1994, 1995 Scott Bartram
6: * All rights reserved.
7: *
8: * Redistribution and use in source and binary forms, with or without
9: * modification, are permitted provided that the following conditions
10: * are met:
11: * 1. Redistributions of source code must retain the above copyright
12: * notice, this list of conditions and the following disclaimer.
13: * 2. Redistributions in binary form must reproduce the above copyright
14: * notice, this list of conditions and the following disclaimer in the
15: * documentation and/or other materials provided with the distribution.
16: * 3. All advertising materials mentioning features or use of this software
17: * must display the following acknowledgement:
18: * This product includes software developed by Scott Bartram.
19: * 4. The name of the author may not be used to endorse or promote products
20: * derived from this software without specific prior written permission
21: *
22: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
23: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
24: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
25: * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
26: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
27: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
31: * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32: */
33:
34: #ifndef _IBCS2_SIGNAL_H
35: #define _IBCS2_SIGNAL_H
36:
37: #define IBCS2_SIGHUP 1
38: #define IBCS2_SIGINT 2
39: #define IBCS2_SIGQUIT 3
40: #define IBCS2_SIGILL 4
41: #define IBCS2_SIGTRAP 5
42: #define IBCS2_SIGIOT 6
43: #define IBCS2_SIGABRT 6
44: #define IBCS2_SIGEMT 7
45: #define IBCS2_SIGFPE 8
46: #define IBCS2_SIGKILL 9
47: #define IBCS2_SIGBUS 10
48: #define IBCS2_SIGSEGV 11
49: #define IBCS2_SIGSYS 12
50: #define IBCS2_SIGPIPE 13
51: #define IBCS2_SIGALRM 14
52: #define IBCS2_SIGTERM 15
53: #define IBCS2_SIGUSR1 16
54: #define IBCS2_SIGUSR2 17
55: #define IBCS2_SIGCLD 18
56: #define IBCS2_SIGPWR 19
57: #define IBCS2_SIGWINCH 20
58: #define IBCS2_SIGPOLL 22
59: #define IBCS2_NSIG 32
60:
61: /*
62: * SCO-specific
63: */
64: #define IBCS2_SIGSTOP 23
65: #define IBCS2_SIGTSTP 24
66: #define IBCS2_SIGCONT 25
67: #define IBCS2_SIGTTIN 26
68: #define IBCS2_SIGTTOU 27
69: #define IBCS2_SIGVTALRM 28
70: #define IBCS2_SIGPROF 29
71:
72: #define IBCS2_SIGNO_MASK 0x00FF
73: #define IBCS2_SIGNAL_MASK 0x0000
74: #define IBCS2_SIGSET_MASK 0x0100
75: #define IBCS2_SIGHOLD_MASK 0x0200
76: #define IBCS2_SIGRELSE_MASK 0x0400
77: #define IBCS2_SIGIGNORE_MASK 0x0800
78: #define IBCS2_SIGPAUSE_MASK 0x1000
79:
80: #define IBCS2_SIGNO(x) ((x) & IBCS2_SIGNO_MASK)
81: #define IBCS2_SIGCALL(x) ((x) & ~IBCS2_SIGNO_MASK)
82:
83: #define IBCS2_SIG_DFL (void(*)(int)) 0
84: #define IBCS2_SIG_ERR (void(*)(int)) -1
85: #define IBCS2_SIG_IGN (void(*)(int)) 1
86: #define IBCS2_SIG_HOLD (void(*)(int)) 2
87:
88: #define IBCS2_SIG_SETMASK 0
89: #define IBCS2_SIG_BLOCK 1
90: #define IBCS2_SIG_UNBLOCK 2
91:
92: typedef long ibcs2_sigset_t;
93: typedef void (*ibcs2_sig_t)(int);
94:
95: struct ibcs2_sigaction {
96: ibcs2_sig_t sa__handler;
97: ibcs2_sigset_t sa_mask;
98: int sa_flags;
99: };
100:
101: /* sa_flags */
102: #define IBCS2_SA_NOCLDSTOP 1
103:
104: extern int bsd_to_ibcs2_sig[];
105:
106: #endif /* _IBCS2_SIGNAL_H */
CVSweb