17c478bdstevel@tonic-gate/*
27c478bdstevel@tonic-gate * CDDL HEADER START
37c478bdstevel@tonic-gate *
47c478bdstevel@tonic-gate * The contents of this file are subject to the terms of the
55403172Roger A. Faulkner * Common Development and Distribution License (the "License").
65403172Roger A. Faulkner * You may not use this file except in compliance with the License.
77c478bdstevel@tonic-gate *
87c478bdstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bdstevel@tonic-gate * or http://www.opensolaris.org/os/licensing.
107c478bdstevel@tonic-gate * See the License for the specific language governing permissions
117c478bdstevel@tonic-gate * and limitations under the License.
127c478bdstevel@tonic-gate *
137c478bdstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each
147c478bdstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bdstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the
167c478bdstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying
177c478bdstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner]
187c478bdstevel@tonic-gate *
197c478bdstevel@tonic-gate * CDDL HEADER END
207c478bdstevel@tonic-gate */
215403172Roger A. Faulkner
227c478bdstevel@tonic-gate/*
23bdf0047Roger A. Faulkner * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
247c478bdstevel@tonic-gate * Use is subject to license terms.
257c478bdstevel@tonic-gate */
267c478bdstevel@tonic-gate
277c478bdstevel@tonic-gate/*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
28b4203d7Marcel Telka/*	  All Rights Reserved	*/
297c478bdstevel@tonic-gate
307c478bdstevel@tonic-gate/*
317c478bdstevel@tonic-gate * An application should not include this header directly.  Instead it
327c478bdstevel@tonic-gate * should be included only through the inclusion of other Sun headers.
337c478bdstevel@tonic-gate *
347c478bdstevel@tonic-gate * The contents of this header is limited to identifiers specified in the
357c478bdstevel@tonic-gate * C Standard.  Any new identifiers specified in future amendments to the
367c478bdstevel@tonic-gate * C Standard must be placed in this header.  If these new identifiers
377c478bdstevel@tonic-gate * are required to also be in the C++ Standard "std" namespace, then for
387c478bdstevel@tonic-gate * anything other than macro definitions, corresponding "using" directives
397c478bdstevel@tonic-gate * must also be added to <sys/signal.h.h>.
407c478bdstevel@tonic-gate */
417c478bdstevel@tonic-gate
427c478bdstevel@tonic-gate#ifndef _SYS_SIGNAL_ISO_H
437c478bdstevel@tonic-gate#define	_SYS_SIGNAL_ISO_H
447c478bdstevel@tonic-gate
457c478bdstevel@tonic-gate#include <sys/unistd.h>		/* needed for _SC_SIGRT_MIN/MAX */
467c478bdstevel@tonic-gate
477c478bdstevel@tonic-gate#ifdef	__cplusplus
487c478bdstevel@tonic-gateextern "C" {
497c478bdstevel@tonic-gate#endif
507c478bdstevel@tonic-gate
517c478bdstevel@tonic-gate#define	SIGHUP	1	/* hangup */
527c478bdstevel@tonic-gate#define	SIGINT	2	/* interrupt (rubout) */
537c478bdstevel@tonic-gate#define	SIGQUIT	3	/* quit (ASCII FS) */
547c478bdstevel@tonic-gate#define	SIGILL	4	/* illegal instruction (not reset when caught) */
557c478bdstevel@tonic-gate#define	SIGTRAP	5	/* trace trap (not reset when caught) */
567c478bdstevel@tonic-gate#define	SIGIOT	6	/* IOT instruction */
577c478bdstevel@tonic-gate#define	SIGABRT 6	/* used by abort, replace SIGIOT in the future */
587c478bdstevel@tonic-gate#define	SIGEMT	7	/* EMT instruction */
597c478bdstevel@tonic-gate#define	SIGFPE	8	/* floating point exception */
607c478bdstevel@tonic-gate#define	SIGKILL	9	/* kill (cannot be caught or ignored) */
617c478bdstevel@tonic-gate#define	SIGBUS	10	/* bus error */
627c478bdstevel@tonic-gate#define	SIGSEGV	11	/* segmentation violation */
637c478bdstevel@tonic-gate#define	SIGSYS	12	/* bad argument to system call */
647c478bdstevel@tonic-gate#define	SIGPIPE	13	/* write on a pipe with no one to read it */
657c478bdstevel@tonic-gate#define	SIGALRM	14	/* alarm clock */
667c478bdstevel@tonic-gate#define	SIGTERM	15	/* software termination signal from kill */
677c478bdstevel@tonic-gate#define	SIGUSR1	16	/* user defined signal 1 */
687c478bdstevel@tonic-gate#define	SIGUSR2	17	/* user defined signal 2 */
697c478bdstevel@tonic-gate#define	SIGCLD	18	/* child status change */
707c478bdstevel@tonic-gate#define	SIGCHLD	18	/* child status change alias (POSIX) */
717c478bdstevel@tonic-gate#define	SIGPWR	19	/* power-fail restart */
727c478bdstevel@tonic-gate#define	SIGWINCH 20	/* window size change */
737c478bdstevel@tonic-gate#define	SIGURG	21	/* urgent socket condition */
747c478bdstevel@tonic-gate#define	SIGPOLL 22	/* pollable event occured */
757c478bdstevel@tonic-gate#define	SIGIO	SIGPOLL	/* socket I/O possible (SIGPOLL alias) */
767c478bdstevel@tonic-gate#define	SIGSTOP 23	/* stop (cannot be caught or ignored) */
777c478bdstevel@tonic-gate#define	SIGTSTP 24	/* user stop requested from tty */
787c478bdstevel@tonic-gate#define	SIGCONT 25	/* stopped process has been continued */
797c478bdstevel@tonic-gate#define	SIGTTIN 26	/* background tty read attempted */
807c478bdstevel@tonic-gate#define	SIGTTOU 27	/* background tty write attempted */
817c478bdstevel@tonic-gate#define	SIGVTALRM 28	/* virtual timer expired */
827c478bdstevel@tonic-gate#define	SIGPROF 29	/* profiling timer expired */
837c478bdstevel@tonic-gate#define	SIGXCPU 30	/* exceeded cpu limit */
847c478bdstevel@tonic-gate#define	SIGXFSZ 31	/* exceeded file size limit */
857c478bdstevel@tonic-gate#define	SIGWAITING 32	/* reserved signal no longer used by threading code */
867c478bdstevel@tonic-gate#define	SIGLWP	33	/* reserved signal no longer used by threading code */
877c478bdstevel@tonic-gate#define	SIGFREEZE 34	/* special signal used by CPR */
887c478bdstevel@tonic-gate#define	SIGTHAW 35	/* special signal used by CPR */
897c478bdstevel@tonic-gate#define	SIGCANCEL 36	/* reserved signal for thread cancellation */
907c478bdstevel@tonic-gate#define	SIGLOST	37	/* resource lost (eg, record-lock lost) */
917c478bdstevel@tonic-gate#define	SIGXRES	38	/* resource control exceeded */
927c478bdstevel@tonic-gate#define	SIGJVM1	39	/* reserved signal for Java Virtual Machine */
937c478bdstevel@tonic-gate#define	SIGJVM2	40	/* reserved signal for Java Virtual Machine */
9419d32b9Robert Mustacchi#define	SIGINFO	41	/* information request */
957c478bdstevel@tonic-gate
967c478bdstevel@tonic-gate/* insert new signals here, and move _SIGRTM* appropriately */
9719d32b9Robert Mustacchi#define	_SIGRTMIN 42	/* first (highest-priority) realtime signal */
9819d32b9Robert Mustacchi#define	_SIGRTMAX 73	/* last (lowest-priority) realtime signal */
997c478bdstevel@tonic-gateextern long _sysconf(int);	/* System Private interface to sysconf() */
1007c478bdstevel@tonic-gate#define	SIGRTMIN ((int)_sysconf(_SC_SIGRT_MIN))	/* first realtime signal */
1017c478bdstevel@tonic-gate#define	SIGRTMAX ((int)_sysconf(_SC_SIGRT_MAX))	/* last realtime signal */
1027c478bdstevel@tonic-gate
1037c478bdstevel@tonic-gate#if	defined(__cplusplus)
1047c478bdstevel@tonic-gate
1057c478bdstevel@tonic-gatetypedef	void SIG_FUNC_TYP(int);
1067c478bdstevel@tonic-gatetypedef	SIG_FUNC_TYP *SIG_TYP;
1077c478bdstevel@tonic-gate#define	SIG_PF SIG_TYP
1087c478bdstevel@tonic-gate
1097c478bdstevel@tonic-gate#define	SIG_DFL	(SIG_PF)0
1107c478bdstevel@tonic-gate#define	SIG_ERR (SIG_PF)-1
1117c478bdstevel@tonic-gate#define	SIG_IGN	(SIG_PF)1
1127c478bdstevel@tonic-gate#define	SIG_HOLD (SIG_PF)2
1137c478bdstevel@tonic-gate
1147c478bdstevel@tonic-gate#elif	defined(__lint)
1157c478bdstevel@tonic-gate
1167c478bdstevel@tonic-gate#define	SIG_DFL	(void(*)())0
1177c478bdstevel@tonic-gate#define	SIG_ERR (void(*)())0
1187c478bdstevel@tonic-gate#define	SIG_IGN	(void (*)())0
1197c478bdstevel@tonic-gate#define	SIG_HOLD (void(*)())0
1207c478bdstevel@tonic-gate
1217c478bdstevel@tonic-gate#else
1227c478bdstevel@tonic-gate
1237c478bdstevel@tonic-gate#define	SIG_DFL	(void(*)())0
1247c478bdstevel@tonic-gate#define	SIG_ERR	(void(*)())-1
1257c478bdstevel@tonic-gate#define	SIG_IGN	(void (*)())1
1267c478bdstevel@tonic-gate#define	SIG_HOLD (void(*)())2
1277c478bdstevel@tonic-gate
1287c478bdstevel@tonic-gate#endif
1297c478bdstevel@tonic-gate
1307c478bdstevel@tonic-gate#define	SIG_BLOCK	1
1317c478bdstevel@tonic-gate#define	SIG_UNBLOCK	2
1327c478bdstevel@tonic-gate#define	SIG_SETMASK	3
1337c478bdstevel@tonic-gate
1347c478bdstevel@tonic-gate#ifdef	__cplusplus
1357c478bdstevel@tonic-gate}
1367c478bdstevel@tonic-gate#endif
1377c478bdstevel@tonic-gate
1387c478bdstevel@tonic-gate#endif /* _SYS_SIGNAL_ISO_H */
139