Print this page
first round of POSIX 2008 stuff
@@ -29,12 +29,10 @@
*/
#ifndef _SIGNAL_H
#define _SIGNAL_H
-#pragma ident "%Z%%M% %I% %E% SMI" /* SVr4.0 1.5.3.4 */
-
#include <sys/feature_tests.h>
#if defined(__EXTENSIONS__) || !defined(_STRICT_STDC) || \
defined(__XOPEN_OR_POSIX)
#include <sys/types.h> /* need pid_t/uid_t/size_t/clock_t/caddr_t/pthread_t */
@@ -56,12 +54,10 @@
#ifdef __cplusplus
extern "C" {
#endif
-#if defined(__STDC__)
-
extern const char **_sys_siglistp; /* signal descriptions */
extern const int _sys_siglistn; /* # of signal descriptions */
#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX)
#define _sys_siglist _sys_siglistp
@@ -96,27 +92,30 @@
extern int sig2str(int, char *);
extern int str2sig(const char *, int *);
#define SIG2STR_MAX 32
#endif /* defined(__EXTENSIONS__) || (!defined(_STRICT_STDC)... */
-#if defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) && \
- !defined(__XOPEN_OR_POSIX)) || defined(_XPG4_2)
+/* Added in Issue 4 version 2, obsoleted in Issue 6 and removed in Issue 7 */
+#if (!defined(_STRICT_SYMBOLS)) || (defined(_XPG4_2) && !defined(_XPG7))
+/* bsd_signal removed from Issue 7 */
extern void (*bsd_signal(int, void (*)(int)))(int);
+#endif
+
+/* Added in Issue 4 version 2 */
+#if (!defined(_STRICT_SYMBOLS)) || defined(_XPG4_2)
extern int killpg(pid_t, int);
extern int siginterrupt(int, int);
extern int sigaltstack(const stack_t *_RESTRICT_KYWD, stack_t *_RESTRICT_KYWD);
extern int sighold(int);
extern int sigignore(int);
extern int sigpause(int);
extern int sigrelse(int);
extern void (*sigset(int, void (*)(int)))(int);
-#endif /* defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) && ... */
+#endif
-/* Marked as LEGACY in SUSv2 and removed in SUSv3 */
-#if defined(__EXTENSIONS__) || \
- (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \
- (defined(_XPG4_2) && !defined(_XPG6))
+/* Added in Issue 4 version 2, obsoleted in SUSv2 and removed in SUSv3 */
+#if (!defined(_STRICT_SYMBOLS)) || (defined(_XPG4_2) && !defined(_XPG6))
extern int sigstack(struct sigstack *, struct sigstack *);
#endif
#if defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) && \
!defined(__XOPEN_OR_POSIX)) || (_POSIX_C_SOURCE > 2)
@@ -130,90 +129,18 @@
extern int sigtimedwait(const sigset_t *_RESTRICT_KYWD,
siginfo_t *_RESTRICT_KYWD, const struct timespec *_RESTRICT_KYWD);
extern int sigqueue(pid_t, int, const union sigval);
#endif /* defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) && */
-#else /* __STDC__ */
-
-extern char **_sys_siglistp; /* signal descriptions */
-extern int _sys_siglistn; /* # of signal descriptions */
-
-#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX)
-#define _sys_siglist _sys_siglistp
-#define _sys_nsig _sys_siglistn
-#endif
-
-#if defined(__EXTENSIONS__) || defined(__XOPEN_OR_POSIX)
-extern int kill();
-extern int sigaction();
-#ifndef _KERNEL
-extern int sigaddset();
-extern int sigdelset();
-extern int sigemptyset();
-extern int sigfillset();
-extern int sigismember();
-#endif
-extern int sigpending();
-extern int sigprocmask();
-extern int sigsuspend();
-#endif /* defined(__EXTENSIONS__)... */
-
-#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX) || \
- defined(_XPG4_2)
-extern void (*bsd_signal())();
-extern int killpg();
-extern int siginterrupt();
-#endif /* defined(__EXTENSIONS__) ... */
-
-#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX) || \
- (defined(_XPG4_2) && !defined(_XPG6))
-extern int sigstack();
-#endif
-
-#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX)
-extern int gsignal();
-extern int (*ssignal)();
-extern int sigsend();
-extern int sigsendset();
-extern int sig2str();
-extern int str2sig();
-#define SIG2STR_MAX 32
-#endif
-
-#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX) || \
- defined(_XPG4_2)
-extern int sigaltstack();
-extern int sighold();
-extern int sigignore();
-extern int sigpause();
-extern int sigrelse();
-extern void (*sigset())();
-#endif
-
-#if defined(__EXTENSIONS__) || !defined(__XOPEN_OR_POSIX) || \
- (_POSIX_C_SOURCE > 2)
-#include <sys/siginfo.h>
-#include <sys/time.h>
-extern int pthread_kill();
-extern int pthread_sigmask();
-extern int sigwaitinfo();
-extern int sigtimedwait();
-extern int sigqueue();
-#endif
-
-#endif /* __STDC__ */
-
/*
* sigwait() prototype is defined here.
*/
#if defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) && \
!defined(__XOPEN_OR_POSIX)) || (_POSIX_C_SOURCE - 0 >= 199506L) || \
defined(_POSIX_PTHREAD_SEMANTICS)
-#if defined(__STDC__)
-
#if (_POSIX_C_SOURCE - 0 >= 199506L) || defined(_POSIX_PTHREAD_SEMANTICS)
#ifdef __PRAGMA_REDEFINE_EXTNAME
#pragma redefine_extname sigwait __posix_sigwait
extern int sigwait(const sigset_t *_RESTRICT_KYWD, int *_RESTRICT_KYWD);
@@ -239,46 +166,10 @@
extern int sigwait(sigset_t *);
#endif /* (_POSIX_C_SOURCE - 0 >= 199506L) || ... */
-
-#else /* __STDC__ */
-
-
-#if (_POSIX_C_SOURCE - 0 >= 199506L) || defined(_POSIX_PTHREAD_SEMANTICS)
-
-#ifdef __PRAGMA_REDEFINE_EXTNAME
-#pragma redefine_extname sigwait __posix_sigwait
-extern int sigwait();
-#else /* __PRAGMA_REDEFINE_EXTNAME */
-
-extern int __posix_sigwait();
-
-#ifdef __lint
-#define sigwait __posix_sigwait
-#else /* !__lint */
-
-static int
-sigwait(__setp, __signo)
- sigset_t *__setp;
- int *__signo;
-{
- return (__posix_sigwait(__setp, __signo));
-}
-
-#endif /* !__lint */
-#endif /* __PRAGMA_REDEFINE_EXTNAME */
-
-#else /* (_POSIX_C_SOURCE - 0 >= 199506L) || ... */
-
-extern int sigwait();
-
-#endif /* (_POSIX_C_SOURCE - 0 >= 199506L) || ... */
-
-#endif /* __STDC__ */
-
#endif /* defined(__EXTENSIONS__) || (!defined(_STRICT_STDC) ... */
#ifdef __cplusplus
}
#endif