diff options
author | dufault <dufault@FreeBSD.org> | 1998-03-08 17:25:38 +0000 |
---|---|---|
committer | dufault <dufault@FreeBSD.org> | 1998-03-08 17:25:38 +0000 |
commit | d3dd91fcbc3fdd38db7fa5e2a844a103e8090a00 (patch) | |
tree | 01a8747d7362e70e0f5e23b70dbcda75cf6092e8 /include | |
parent | 84b7fbfa292269f69d459cbb4ecf1c921bb167c3 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | include/limits.h | 14 | ||||
-rw-r--r-- | include/signal.h | 36 |
2 files changed, 43 insertions, 7 deletions
diff --git a/include/limits.h b/include/limits.h index df120e6..383c5cd 100644 --- a/include/limits.h +++ b/include/limits.h @@ -31,11 +31,12 @@ * SUCH DAMAGE. * * @(#)limits.h 8.2 (Berkeley) 1/4/94 - * $Id: limits.h,v 1.5 1997/12/27 22:56:41 steve Exp $ + * $Id: limits.h,v 1.6 1998/03/04 10:23:24 dufault Exp $ */ #ifndef _LIMITS_H_ #define _LIMITS_H_ +#include <sys/_posix.h> #ifndef _ANSI_SOURCE #define _POSIX_ARG_MAX 4096 @@ -61,14 +62,15 @@ #define _POSIX2_LINE_MAX 2048 #define _POSIX2_RE_DUP_MAX 255 -#ifdef POSIX4_VISIBLE -#define _POSIX_AIO_LISTIO_MAX 2 +#ifdef _POSIX4_VISIBLE + +#define _POSIX_AIO_LISTIO_MAX 16 #define _POSIX_AIO_MAX 1 #define _POSIX_DELAYTIMER_MAX 32 #define _POSIX_MQ_OPEN_MAX 8 #define _POSIX_MQ_PRIO_MAX 32 -#define _POSIX_RTSIG_MAX 8 +#define _POSIX_RTSIG_MAX 0 #define _POSIX_SEM_NSEMS_MAX 256 #define _POSIX_SEM_VALUE_MAX 32767 #define _POSIX_SIGQUEUE_MAX 32 @@ -76,6 +78,10 @@ #endif +#ifdef _POSIX4_VISIBLE_HISTORICALLY +#define AIO_LISTIO_MAX 16 +#endif + #endif /* !_ANSI_SOURCE */ #if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE) || defined(_XOPEN_SOURCE) 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)); |