From 503054c0dd57109017b36870c430dab00fccaa8b Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Thu, 4 Jul 1996 00:07:18 +0000 Subject: Wed Jul 3 16:29:41 1996 Roland McGrath * nss/getXXbyYY_r.c (REENTRANT_NAME): Cast FCT in __nss_next call. * sysdeps/generic/sbrk.c: Always call __brk (0) to update __curbrk. * malloc/malloc-size.c (malloc_usable_size): Renamed from malloc_object_allocation_size. * malloc/malloc.h: Fix decl. * sys/select.h: New file, wrapper header. * posix/sys/types.h [__USE_BSD]: Include ; remove fd_set, associated macros, and select decl. * sysdeps/posix/isfdtype.c: New file. Tue Jul 2 23:45:14 1996 Ulrich Drepper The latest Japanese proposal for POSIX locales renames the CHARMAP keyword in locale definition files to CHARCONV. * locale/programs/ld-ctype.c, locale/programs/locales.h: Rename function ctype_is_charmap to ctype_is_charconv. * locale/programs/locfile-kw.gperf: Replace charmap keyword with charconv. * locale/programs/locfile-token.h: Add definition of token charconv. * locale/programs/locfile.c: Recognize charconv keyword. Rename lables according to this. * locale/weight.h (get_weight): Cast constants to prevent warnings. * stdlib/strtod.c, stdlib/strtol.c, string/strcoll.c, string/strxfrm.c: Add some more casts to prevent signed<->unsigned warnings. New stuff described in P1003.1g. * misc/Makefile (headers): Add sys/select.h. (routines): Add pselect. * misc/sys/select.h: New file. Declare select functions and needed data types and macros. * sysdeps/generic/pselect.c: New file. Add generic implementation of pselect() function which uses select(). * posix/getconf.c: Recognize new variables from P1003.1g. * posix/posix1_lim.h: Define _POSIX_FD_SETSIZE, _POSIX_QLIMIT, _POSIX_HIWAT, and _POSIX_UIO_MAXIOV. * posix/unistd.h: Add description of the P1003.1g variables. * sysdeps/generic/confname.h: Define _SC_* values for new variables. * sysdeps/posix/fpathconf.c (fpathconf): Add handling of _PC_SOCK_MAXBUF. * sysdeps/stub/fpathconf.c (fpathconf): Ditto. * sysdeps/posix/sysconf.c (sysconf): Add handling of new P1003.1g variables. * sysdeps/stub/sysconf.c (sysconf): Ditto. * sysdeps/unix/sysv/linux/posix_opt.h: Define _POSIX_POLL and _POSIX_SELECT since Linux has this. * socket/Makefile (routines): Add isfdtype. * sysdeps/generic/sys/socket.h: Add prototype for isfdtype. * sysdeps/stub/isfdtype.c: New file. Stub implementation of isfdtype. * wcsmbs/wcrtomb.c (wcrtomb): Fix typo. --- posix/getconf.c | 15 +++++++++++++++ posix/posix1_lim.h | 16 +++++++++++++++- posix/sys/types.h | 30 ++---------------------------- posix/unistd.h | 11 +++++++++++ 4 files changed, 43 insertions(+), 29 deletions(-) (limited to 'posix') diff --git a/posix/getconf.c b/posix/getconf.c index 26d1d381b9..699cf67bfe 100644 --- a/posix/getconf.c +++ b/posix/getconf.c @@ -38,6 +38,7 @@ static struct conf vars[] = { "NAME_MAX", _PC_NAME_MAX, PATHCONF }, { "PATH_MAX", _PC_PATH_MAX, PATHCONF }, { "PIPE_BUF", _PC_PIPE_BUF, PATHCONF }, + { "SOCK_MAXBUF", _PC_SOCK_MAXBUF, PATHCONF }, { "_POSIX_CHOWN_RESTRICTED", _PC_CHOWN_RESTRICTED, PATHCONF }, { "_POSIX_NO_TRUNC", _PC_NO_TRUNC, PATHCONF }, { "_POSIX_VDISABLE", _PC_VDISABLE, PATHCONF }, @@ -67,6 +68,20 @@ static struct conf vars[] = { "_POSIX_SEMAPHORES", _SC_SEMAPHORES, SYSCONF }, { "_POSIX_SHARED_MEMORY_OBJECTS", _SC_SHARED_MEMORY_OBJECTS, SYSCONF }, { "_POSIX_VERSION", _SC_VERSION, SYSCONF }, + { "_POSIX_PII", _SC_PII, SYSCONF }, + { "_POSIX_PII_XTI", _SC_PII_XTI, SYSCONF }, + { "_POSIX_PII_SOCKET", _SC_PII_SOCKET, SYSCONF }, + { "_POSIX_PII_INTERNET", _SC_PII_INTERNET, SYSCONF }, + { "_POSIX_PII_OSI", _SC_PII_OSI, SYSCONF }, + { "_POSIX_POLL", _SC_POLL, SYSCONF }, + { "_POSIX_SELECT", _SC_SELECT, SYSCONF }, + { "UIO_MAXIOV", _SC_UIO_MAXIOV, SYSCONF }, + { "_POSIX_PII_INTERNET_STREAM", _SC_PII_INTERNET_STREAM, SYSCONF }, + { "_POSIX_PII_INTERNET_DGRAM", _SC_PII_INTERNET_DGRAM, SYSCONF }, + { "_POSIX_PII_OSI_COTS", _SC_PII_OSI_COTS, SYSCONF }, + { "_POSIX_PII_OSI_CLTS", _SC_PII_OSI_CLTS, SYSCONF }, + { "_POSIX_PII_OSI_M", _SC_PII_OSI_M, SYSCONF }, + { "_T_IOV_MAX", _SC_T_IOV_MAX, SYSCONF }, { "PATH", _CS_PATH, CONFSTR }, diff --git a/posix/posix1_lim.h b/posix/posix1_lim.h index acbfa64481..287e9a2d19 100644 --- a/posix/posix1_lim.h +++ b/posix/posix1_lim.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1992, 1993, 1996 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -49,6 +49,10 @@ Cambridge, MA 02139, USA. */ /* Number of files one process can have open at once. */ #define _POSIX_OPEN_MAX 16 +/* Number of descriptors that a process may examine with `pselect' or + `select'. */ +#define _POSIX_FD_SETSIZE _POSIX_OPEN_MAX + /* Number of bytes in a filename. */ #define _POSIX_NAME_MAX 14 @@ -67,6 +71,16 @@ Cambridge, MA 02139, USA. */ /* Maximum length of a timezone name (element of `tzname'). */ #define _POSIX_TZNAME_MAX 3 +/* Maximum number of connections that can be queued on a socket. */ +#define _POSIX_QLIMIT 1 + +/* Maximem number of bytes that can be buffered on a socket for send + or receive. */ +#define _POSIX_HIWAT _POSIX_PIPE_BUF + +/* Maximum number of elements in an `iovec' array. */ +#define _POSIX_UIO_MAXIOV 16 + /* Get the implementation-specific values for the above. */ #include diff --git a/posix/sys/types.h b/posix/sys/types.h index 8265fa0cb6..05d63d6f33 100644 --- a/posix/sys/types.h +++ b/posix/sys/types.h @@ -122,35 +122,9 @@ typedef long int key_t; #ifdef __USE_BSD /* In BSD is expected to define BYTE_ORDER. */ #include -#endif - - -#ifdef __USE_BSD - -#define FD_SETSIZE __FD_SETSIZE -#define NFDBITS __NFDBITS -#define fd_set __fd_set -#define FD_ZERO(set) __FD_ZERO(set) -#define FD_SET(d, set) __FD_SET((d), (set)) -#define FD_CLR(d, set) __FD_CLR((d), (set)) -#define FD_ISSET(d, set)__FD_ISSET((d), (set)) - -/* This being here makes the `select' prototype valid whether or not - we have already included to define `struct timeval'. */ -struct timeval; - -/* Check the first NFDS descriptors each in READFDS (if not NULL) for read - readiness, in WRITEFDS (if not NULL) for write readiness, and in EXCEPTFDS - (if not NULL) for exceptional conditions. If TIMEOUT is not NULL, time out - after waiting the interval specified therein. Returns the number of ready - descriptors, or -1 for errors. */ -extern int __select __P ((int __nfds, __fd_set *__readfds, - __fd_set *__writefds, __fd_set *__exceptfds, - struct timeval *__timeout)); -extern int select __P ((int __nfds, __fd_set *__readfds, - __fd_set *__writefds, __fd_set *__exceptfds, - struct timeval *__timeout)); +/* It also defines `fd_set' and the FD_* macros for `select'. */ +#include #endif /* Use BSD. */ diff --git a/posix/unistd.h b/posix/unistd.h index 1e35ea0392..92e874ed5e 100644 --- a/posix/unistd.h +++ b/posix/unistd.h @@ -79,6 +79,17 @@ __BEGIN_DECLS _POSIX_MESSAGE_PASSING POSIX.4 message queues are supported. _POSIX_SEMAPHORES POSIX.4 counting semaphores are supported. _POSIX_SHARED_MEMORY_OBJECTS POSIX.4 shared memory objects are supported. + _POSIX_PII Protocol-independent interfaces are supported. + _POSIX_PII_XTI XTI protocol-indep. interfaces are supported. + _POSIX_PII_SOCKET Socket protocol-indep. interfaces are supported. + _POSIX_PII_INTERNET Internet family of protocols supported. + _POSIX_PII_INTERNET_STREAM Connection-mode Internet protocol supported. + _POSIX_PII_INTERNET_DGRAM Connectionless Internet protocol supported. + _POSIX_PII_OSI ISO/OSI family of protocols supported. + _POSIX_PII_OSI_COTS Connection-mode ISO/OSI service supported. + _POSIX_PII_OSI_CLTS Connectionless ISO/OSI service supported. + _POSIX_POLL Implementation supports `poll' function. + _POSIX_SELECT Implementation supports `select' and `pselect'. If any of these symbols is defined as -1, the corresponding option is not true for any file. If any is defined as other than -1, the corresponding -- cgit 1.4.1