summaryrefslogtreecommitdiffstats
path: root/include/signal.h
diff options
context:
space:
mode:
authordufault <dufault@FreeBSD.org>1998-03-08 17:25:38 +0000
committerdufault <dufault@FreeBSD.org>1998-03-08 17:25:38 +0000
commitd3dd91fcbc3fdd38db7fa5e2a844a103e8090a00 (patch)
tree01a8747d7362e70e0f5e23b70dbcda75cf6092e8 /include/signal.h
parent84b7fbfa292269f69d459cbb4ecf1c921bb167c3 (diff)
downloadFreeBSD-src-d3dd91fcbc3fdd38db7fa5e2a844a103e8090a00.zip
FreeBSD-src-d3dd91fcbc3fdd38db7fa5e2a844a103e8090a00.tar.gz
Reviewed by: bde
Changes to support building with _POSIX_SOURCE set to 199309L: 1. Add sys/_posix.h to handle those preprocessor defs that POSIX says have effects when defined before including any header files; 2. Change POSIX4_VISIBLE back to _POSIX4_VISIBLE 3. Add _POSIX4_VISIBLE_HISTORICALLY for pre-existing BSD features now defined in POSIX. These show up when: _POSIX_SOURCE and _POSIX_C_SOURCE are not set or _POSIX_C_SOURCE is set >= 199309L and vanish when: _POSIX_SOURCE is set or _POSIX_C_SOURCE is < 199309L. 4. Explain these in man 9 posix4; 5. Include _posix.h and conditionalize on new feature test.
Diffstat (limited to 'include/signal.h')
-rw-r--r--include/signal.h36
1 files changed, 33 insertions, 3 deletions
diff --git a/include/signal.h b/include/signal.h
index dd6dc8a..9f38bf5 100644
--- a/include/signal.h
+++ b/include/signal.h
@@ -39,6 +39,7 @@
#include <sys/cdefs.h>
#include <sys/signal.h>
#include <machine/ansi.h>
+#include <sys/_posix.h>
#if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE)
extern __const char *__const sys_signame[NSIG];
@@ -63,10 +64,39 @@ int signanosleep __P((const struct timespec *, struct timespec *,
int sigpending __P((sigset_t *));
int sigprocmask __P((int, const sigset_t *, sigset_t *));
int sigsuspend __P((const sigset_t *));
-#ifdef POSIX4_VISIBLE
+
+#ifdef _POSIX4_VISIBLE_HISTORICALLY
+
+/* Async event notification */
+
+union sigval {
+ int sival_int;
+ void *sival_ptr;
+};
+struct sigevent {
+ int sigev_notify; /* Notification type */
+ int sigev_signo; /* Signal number */
+ union sigval sigev_value; /* Signal value */
+};
+#define SIGEV_NONE 0 /* No async notification */
+#define SIGEV_SIGNAL 1 /* Queue signal with value */
+
+#endif /* _POSIX4_VISIBLE_HISTORICALLY */
+
+#ifdef _POSIX4_VISIBLE
+
+typedef struct siginfo {
+ int si_signo; /* Signal number */
+ int si_code; /* Cause of the signal */
+ union sigval si_value; /* Signal value */
+} siginfo_t;
+
+__BEGIN_DECLS
int sigqueue __P((_BSD_PID_T_, int, const union sigval));
-int sigtimedwait __P((const sig_set_t *, siginfo_t *));
-int sigwaitinfo __P((const sig_set_t *, siginfo_t *));
+int sigtimedwait __P((const sigset_t *, siginfo_t *));
+int sigwaitinfo __P((const sigset_t *, siginfo_t *));
+__END_DECLS
+
#endif
#ifndef _POSIX_SOURCE
int killpg __P((_BSD_PID_T_, int));
OpenPOWER on IntegriCloud