summary refs log tree commit diff
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
glibc-503054c0dd57109017b36870c430dab00fccaa8b.tar.xz
glibc-503054c0dd57109017b36870c430dab00fccaa8b.zip
Wed Jul 3 16:29:41 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> cvs/libc-960705 cvs/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