summaryrefslogtreecommitdiff
path: root/posix
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-07-04 00:07:18 +0000
committerRoland McGrath <roland@gnu.org>1996-07-04 00:07:18 +0000
commit503054c0dd57109017b36870c430dab00fccaa8b (patch)
treee3788a147156c19d4cf38cc8da0bfcf8d3c6c109 /posix
parent175b633d811d6427fb9206c2bed6aa49f8500b36 (diff)
downloadglibc-503054c0dd57109017b36870c430dab00fccaa8b.tar.gz
Wed Jul 3 16:29:41 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960705cvs/libc-960704
* 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 <sys/select.h>; remove fd_set, associated macros, and select decl. * sysdeps/posix/isfdtype.c: New file. Tue Jul 2 23:45:14 1996 Ulrich Drepper <drepper@cygnus.com> 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.
Diffstat (limited to 'posix')
-rw-r--r--posix/getconf.c15
-rw-r--r--posix/posix1_lim.h16
-rw-r--r--posix/sys/types.h30
-rw-r--r--posix/unistd.h11
4 files changed, 43 insertions, 29 deletions
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 <local_lim.h>
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 <sys/types.h> is expected to define BYTE_ORDER. */
#include <endian.h>
-#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 <sys/time.h> 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 <sys/select.h>
#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