usr/src/head/signal.h
author Garrett D'Amore <garrett@nexenta.com>
Tue, 09 Nov 2010 10:20:47 -0800
changeset 13240 74a59768760e
parent 0 68f95e015346
permissions -rw-r--r--
403 remove support for SVR3 packaging Reviewed by: [email protected] Reviewed by: [email protected] Approved by: [email protected]
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     1
/*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     2
 * CDDL HEADER START
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     3
 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     4
 * The contents of this file are subject to the terms of the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     5
 * Common Development and Distribution License, Version 1.0 only
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     6
 * (the "License").  You may not use this file except in compliance
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     7
 * with the License.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     8
 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
     9
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    10
 * or http://www.opensolaris.org/os/licensing.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    11
 * See the License for the specific language governing permissions
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    12
 * and limitations under the License.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    13
 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    14
 * When distributing Covered Code, include this CDDL HEADER in each
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    15
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    16
 * If applicable, add the following below this CDDL HEADER, with the
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    17
 * fields enclosed by brackets "[]" replaced with your own identifying
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    18
 * information: Portions Copyright [yyyy] [name of copyright owner]
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    19
 *
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    20
 * CDDL HEADER END
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    21
 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    22
/*	Copyright (c) 1988 AT&T	*/
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    23
/*	  All Rights Reserved  	*/
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    24
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    25
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    26
/*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    27
 * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    28
 * Use is subject to license terms.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    29
 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    30
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    31
#ifndef _SIGNAL_H
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    32
#define	_SIGNAL_H
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    33
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    34
#pragma ident	"%Z%%M%	%I%	%E% SMI"	/* SVr4.0 1.5.3.4 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    35
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    36
#include <sys/feature_tests.h>
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    37
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    38
#if defined(__EXTENSIONS__) || !defined(_STRICT_STDC) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    39
	defined(__XOPEN_OR_POSIX)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    40
#include <sys/types.h>	/* need pid_t/uid_t/size_t/clock_t/caddr_t/pthread_t */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    41
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    42
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    43
#include <iso/signal_iso.h>
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    44
#include <sys/signal.h>
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    45
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    46
/*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    47
 * Allow global visibility for symbols defined in
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    48
 * C++ "std" namespace in <iso/signal_iso.h>.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    49
 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    50
#if __cplusplus >= 199711L
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    51
using std::sig_atomic_t;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    52
using std::signal;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    53
using std::raise;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    54
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    55
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    56
#ifdef	__cplusplus
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    57
extern "C" {
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    58
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    59
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    60
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    61
#if defined(__STDC__)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    62
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    63
extern const char	**_sys_siglistp;	/* signal descriptions */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    64
extern const int	_sys_siglistn;		/* # of signal descriptions */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    65
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    66
#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    67
#define	_sys_siglist	_sys_siglistp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    68
#define	_sys_nsig	_sys_siglistn
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    69
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    70
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    71
#if defined(__EXTENSIONS__) || !defined(_STRICT_STDC) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    72
	defined(__XOPEN_OR_POSIX)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    73
extern int kill(pid_t, int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    74
extern int sigaction(int, const struct sigaction *_RESTRICT_KYWD,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    75
	struct sigaction *_RESTRICT_KYWD);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    76
#ifndef	_KERNEL
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    77
extern int sigaddset(sigset_t *, int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    78
extern int sigdelset(sigset_t *, int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    79
extern int sigemptyset(sigset_t *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    80
extern int sigfillset(sigset_t *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    81
extern int sigismember(const sigset_t *, int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    82
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    83
extern int sigpending(sigset_t *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    84
extern int sigprocmask(int, const sigset_t *_RESTRICT_KYWD,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    85
	sigset_t *_RESTRICT_KYWD);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    86
extern int sigsuspend(const sigset_t *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    87
#endif /* defined(__EXTENSIONS__) || !defined(_STRICT_STDC)... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    88
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    89
#if defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) && \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    90
	!defined(__XOPEN_OR_POSIX))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    91
#include <sys/procset.h>
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    92
extern int gsignal(int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    93
extern int (*ssignal(int, int (*)(int)))(int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    94
extern int sigsend(idtype_t, id_t, int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    95
extern int sigsendset(const procset_t *, int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    96
extern int sig2str(int, char *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    97
extern int str2sig(const char *, int *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    98
#define	SIG2STR_MAX	32
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
    99
#endif /* defined(__EXTENSIONS__) || (!defined(_STRICT_STDC)... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   100
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   101
#if defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) && \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   102
	!defined(__XOPEN_OR_POSIX)) || defined(_XPG4_2)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   103
extern void (*bsd_signal(int, void (*)(int)))(int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   104
extern int killpg(pid_t, int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   105
extern int siginterrupt(int, int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   106
extern int sigaltstack(const stack_t *_RESTRICT_KYWD, stack_t *_RESTRICT_KYWD);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   107
extern int sighold(int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   108
extern int sigignore(int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   109
extern int sigpause(int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   110
extern int sigrelse(int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   111
extern void (*sigset(int, void (*)(int)))(int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   112
#endif /* defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) && ... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   113
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   114
/* Marked as LEGACY in SUSv2 and removed in SUSv3 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   115
#if defined(__EXTENSIONS__) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   116
	(!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   117
	(defined(_XPG4_2) && !defined(_XPG6))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   118
extern int sigstack(struct sigstack *, struct sigstack *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   119
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   120
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   121
#if defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) && \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   122
	!defined(__XOPEN_OR_POSIX)) || (_POSIX_C_SOURCE > 2)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   123
#include <sys/siginfo.h>
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   124
#include <time.h>
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   125
extern int pthread_kill(pthread_t, int);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   126
extern int pthread_sigmask(int, const sigset_t *_RESTRICT_KYWD,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   127
	sigset_t *_RESTRICT_KYWD);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   128
extern int sigwaitinfo(const sigset_t *_RESTRICT_KYWD,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   129
	siginfo_t *_RESTRICT_KYWD);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   130
extern int sigtimedwait(const sigset_t *_RESTRICT_KYWD,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   131
	siginfo_t *_RESTRICT_KYWD, const struct timespec *_RESTRICT_KYWD);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   132
extern int sigqueue(pid_t, int, const union sigval);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   133
#endif /* defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) && */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   134
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   135
#else	/* __STDC__ */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   136
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   137
extern char	**_sys_siglistp;	/* signal descriptions */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   138
extern int	_sys_siglistn;		/* # of signal descriptions */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   139
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   140
#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   141
#define	_sys_siglist	_sys_siglistp
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   142
#define	_sys_nsig	_sys_siglistn
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   143
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   144
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   145
#if defined(__EXTENSIONS__) || defined(__XOPEN_OR_POSIX)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   146
extern int kill();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   147
extern int sigaction();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   148
#ifndef	_KERNEL
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   149
extern int sigaddset();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   150
extern int sigdelset();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   151
extern int sigemptyset();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   152
extern int sigfillset();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   153
extern int sigismember();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   154
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   155
extern int sigpending();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   156
extern int sigprocmask();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   157
extern int sigsuspend();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   158
#endif /* defined(__EXTENSIONS__)... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   159
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   160
#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   161
	defined(_XPG4_2)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   162
extern void (*bsd_signal())();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   163
extern int killpg();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   164
extern int siginterrupt();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   165
#endif /* defined(__EXTENSIONS__) ... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   166
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   167
#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   168
	(defined(_XPG4_2) && !defined(_XPG6))
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   169
extern int sigstack();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   170
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   171
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   172
#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   173
extern int gsignal();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   174
extern int (*ssignal)();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   175
extern int sigsend();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   176
extern int sigsendset();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   177
extern int sig2str();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   178
extern int str2sig();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   179
#define	SIG2STR_MAX	32
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   180
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   181
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   182
#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   183
	defined(_XPG4_2)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   184
extern int sigaltstack();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   185
extern int sighold();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   186
extern int sigignore();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   187
extern int sigpause();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   188
extern int sigrelse();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   189
extern void (*sigset())();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   190
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   191
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   192
#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   193
	(_POSIX_C_SOURCE > 2)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   194
#include <sys/siginfo.h>
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   195
#include <sys/time.h>
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   196
extern int pthread_kill();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   197
extern int pthread_sigmask();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   198
extern int sigwaitinfo();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   199
extern int sigtimedwait();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   200
extern int sigqueue();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   201
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   202
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   203
#endif	/* __STDC__ */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   204
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   205
/*
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   206
 * sigwait() prototype is defined here.
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   207
 */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   208
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   209
#if	defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) && \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   210
	!defined(__XOPEN_OR_POSIX)) || (_POSIX_C_SOURCE - 0 >= 199506L) || \
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   211
	defined(_POSIX_PTHREAD_SEMANTICS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   212
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   213
#if	defined(__STDC__)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   214
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   215
#if	(_POSIX_C_SOURCE - 0 >= 199506L) || defined(_POSIX_PTHREAD_SEMANTICS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   216
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   217
#ifdef __PRAGMA_REDEFINE_EXTNAME
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   218
#pragma redefine_extname sigwait __posix_sigwait
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   219
extern int sigwait(const sigset_t *_RESTRICT_KYWD, int *_RESTRICT_KYWD);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   220
#else  /* __PRAGMA_REDEFINE_EXTNAME */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   221
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   222
extern int __posix_sigwait(const sigset_t *_RESTRICT_KYWD,
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   223
    int *_RESTRICT_KYWD);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   224
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   225
#ifdef	__lint
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   226
#define	sigwait __posix_sigwait
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   227
#else	/* !__lint */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   228
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   229
static int
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   230
sigwait(const sigset_t *_RESTRICT_KYWD __setp, int *_RESTRICT_KYWD __signo)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   231
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   232
	return (__posix_sigwait(__setp, __signo));
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   233
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   234
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   235
#endif /* !__lint */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   236
#endif /* __PRAGMA_REDEFINE_EXTNAME */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   237
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   238
#else  /* (_POSIX_C_SOURCE - 0 >= 199506L) || ... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   239
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   240
extern int sigwait(sigset_t *);
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   241
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   242
#endif  /* (_POSIX_C_SOURCE - 0 >= 199506L) || ... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   243
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   244
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   245
#else  /* __STDC__ */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   246
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   247
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   248
#if	(_POSIX_C_SOURCE - 0 >= 199506L) || defined(_POSIX_PTHREAD_SEMANTICS)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   249
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   250
#ifdef __PRAGMA_REDEFINE_EXTNAME
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   251
#pragma redefine_extname sigwait __posix_sigwait
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   252
extern int sigwait();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   253
#else  /* __PRAGMA_REDEFINE_EXTNAME */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   254
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   255
extern int __posix_sigwait();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   256
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   257
#ifdef	__lint
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   258
#define	sigwait __posix_sigwait
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   259
#else	/* !__lint */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   260
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   261
static int
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   262
sigwait(__setp, __signo)
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   263
	sigset_t *__setp;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   264
	int *__signo;
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   265
{
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   266
	return (__posix_sigwait(__setp, __signo));
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   267
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   268
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   269
#endif /* !__lint */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   270
#endif /* __PRAGMA_REDEFINE_EXTNAME */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   271
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   272
#else  /* (_POSIX_C_SOURCE - 0 >= 199506L) || ... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   273
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   274
extern int sigwait();
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   275
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   276
#endif /* (_POSIX_C_SOURCE - 0 >= 199506L) || ... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   277
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   278
#endif /* __STDC__ */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   279
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   280
#endif /* defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) ... */
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   281
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   282
#ifdef	__cplusplus
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   283
}
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   284
#endif
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   285
68f95e015346 OpenSolaris Launch
stevel@tonic-gate
parents:
diff changeset
   286
#endif	/* _SIGNAL_H */