2013-08-28 01:33:15 +08:00
|
|
|
/* System-specific socket constants and types. 4.4 BSD version.
|
2017-01-01 08:14:16 +08:00
|
|
|
Copyright (C) 1991-2017 Free Software Foundation, Inc.
|
1997-01-25 10:36:37 +08:00
|
|
|
This file is part of the GNU C Library.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
1997-01-25 10:36:37 +08:00
|
|
|
The GNU C Library is free software; you can redistribute it and/or
|
2013-08-28 01:33:15 +08:00
|
|
|
modify it under the terms of the GNU Lesser General Public License as
|
|
|
|
published by the Free Software Foundation; either version 2.1 of the
|
|
|
|
License, or (at your option) any later version.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
1997-01-25 10:36:37 +08:00
|
|
|
The GNU C Library is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
2001-07-06 12:58:11 +08:00
|
|
|
Lesser General Public License for more details.
|
1995-02-18 09:27:10 +08:00
|
|
|
|
2001-07-06 12:58:11 +08:00
|
|
|
You should have received a copy of the GNU Lesser General Public
|
2013-08-28 01:33:15 +08:00
|
|
|
License along with the GNU C Library; see the file COPYING.LIB. If
|
|
|
|
not, see <http://www.gnu.org/licenses/>. */
|
1995-02-18 09:27:10 +08:00
|
|
|
|
Update.
1998-04-20 18:00 Ulrich Drepper <drepper@cygnus.com>
* libc.map: Add __dgettext to GLIBC_2.0 and __libc_longjmp, and
__libc_siglongjmp to GLIBC_2.1.
* elf/dl-minimal.c (__assert_perror_fail): Don't use strerror, use
__strerror_r.
* iconv/Makefile: Don't run tests now.
* iconv/iconv_prog.c (process_block): If loop is repeated, call iconv
with correct output buffer.
Major rewrite of the low-level gconv functionality.
* iconv/gconv.c: Rewritten.
* iconv/gconv.h: Likewise.
* iconv/gconv_builtin.c: Likewise.
* iconv/gconv_builtin.h: Likewise.
* iconv/gconv_conf.c: Likewise.
* iconv/gconv_int.h: Likewise.
* iconv/gconv_open.c: Likewise.
* iconv/gconv_simple.c: Likewise.
* iconv/iconv.c: Likewise.
* iconvdata/8bit-gap.c: Likewise.
* iconvdata/8bit-generic.c: Likewise.
* iconvdata/Makefile: Likewise.
* iconvdata/big5.c: Likewise.
* iconvdata/cns11643.c: Likewise.
* iconvdata/cns11643.h: Likewise.
* iconvdata/cns11643l1.c: Likewise.
* iconvdata/cns11643l1.h: Likewise.
* iconvdata/ebcdic-at-de-a.c: Likewise.
* iconvdata/ebcdic-at-de.c: Likewise.
* iconvdata/ebcdic-ca-fr.c: Likewise.
* iconvdata/euccn.c: Likewise.
* iconvdata/eucjp.c: Likewise.
* iconvdata/euckr.c: Likewise.
* iconvdata/euctw.c: Likewise.
* iconvdata/gb2312.c: Likewise.
* iconvdata/gb2312.h: Likewise.
* iconvdata/hp-roman8.c: Likewise.
* iconvdata/iso646.c: Likewise.
* iconvdata/iso6937.c: Likewise.
* iconvdata/iso8859-1.c: Likewise.
* iconvdata/iso8859-10.c: Likewise.
* iconvdata/iso8859-2.c: Likewise.
* iconvdata/iso8859-3.c: Likewise.
* iconvdata/iso8859-4.c: Likewise.
* iconvdata/iso8859-5.c: Likewise.
* iconvdata/iso8859-6.c: Likewise.
* iconvdata/iso8859-7.c: Likewise.
* iconvdata/iso8859-8.c: Likewise.
* iconvdata/iso8859-9.c: Likewise.
* iconvdata/jis0201.c: Likewise.
* iconvdata/jis0201.h: Likewise.
* iconvdata/jis0208.c: Likewise.
* iconvdata/jis0208.h: Likewise.
* iconvdata/jis0212.c: Likewise.
* iconvdata/jis0212.h: Likewise.
* iconvdata/johab.c: Likewise.
* iconvdata/koi-8.c: Likewise.
* iconvdata/koi8-r.c: Likewise.
* iconvdata/ksc5601.c: Likewise.
* iconvdata/ksc5601.h: Likewise.
* iconvdata/latin-greek-1.c: Likewise.
* iconvdata/latin-greek.c: Likewise.
* iconvdata/run-iconv-test.sh: Likewise.
* iconvdata/sjis.c: Likewise.
* iconvdata/t61.c: Likewise.
* iconvdata/uhc.c: Likewise.
* wcsmbs/btowc.c: Likewise.
* wcsmbs/mbrtowc.c: Likewise.
* wcsmbs/mbsnrtowcs.c: Likewise.
* wcsmbs/mbsrtowcs.c: Likewise.
* wcsmbs/wcrtomb.c: Likewise.
* wcsmbs/wcsmbsload.c: Likewise.
* wcsmbs/wcsnrtombs.c: Likewise.
* wcsmbs/wcsrtombs.c: Likewise.
* wcsmbs/wctob.c: Likewise.
* iconv/loop.c: New file.
* iconv/skeleton.c: New file.
* stdlib/mblen.c: Handle empty input string correctly.
* stdlib/mbtowc.c: Likewise.
* posix/getopt.c: Various cleanups.
* sysdeps/arm/bits/setjmp.h: Add copyright text.
* sysdeps/i386/bits/setjmp.h: Likewise.
* sysdeps/m68k/bits/setjmp.h: Likewise.
* sysdeps/powerpc/bits/setjmp.h: Likewise.
* sysdeps/sparc/sparc32/bits/setjmp.h: Likewise.
* sysdeps/generic/longjmp.c: Rename function to __libc_siglongjmp
and make longjmp weak alias.
1998-04-18 20:29 Philip Blundell <Philip.Blundell@pobox.com>
* iconv/Makefile (routines): Only include gconv_dl if building for
an ELF system - dynamic linking is not available on a.out.
(CFLAGS-gconv_conf.c): Define STATIC_GCONV if omitting gconv_dl
due to above check.
* iconv/gconv_db.c: If STATIC_GCONV defined, don't try to call
routines from gconv_dl.
1998-04-17 Gordon Matzigkeit <gord@profitpress.com>
* csu/init.c (_IO_stdin_used): Protect with USE_IN_LIBIO so that
we can compile without libio.
1998-04-20 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/mach/hurd/Subdirs: Remove login.
1998-04-11 Gordon Matzigkeit <gord@profitpress.com>
* db2/compat.h: Include <errno.h>, to make sure we get the
definition of EFTYPE before we define it ourselves.
1998-04-10 Gordon Matzigkeit <gord@profitpress.com>
* sysdeps/generic/bits/socket.h: Protect against multiple inclusion.
* sysdeps/mach/hurd/bits/ioctls.h: Likewise.
Fix typo to allow inclusion from sys/ioctl.h again.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* iconvdata/*.[ch]: Clean up namespace. Optimize character lookup.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libc.map: Export __strerror_r. Remove _strerror_internal.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/generic/strcasestr.c: Undefine strcasestr, not strstr.
Also undefine __strcasestr.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* posix/regex.c: Rename __re_max_failures back to re_max_failures,
aliases do not work with global variables due to copy relocations.
1998-04-20 15:12 Ulrich Drepper <drepper@cygnus.com>
* manual/creature.texi: Fix type. Patch by Andreas Schwab.
1998-04-20 13:47 Ulrich Drepper <drepper@cygnus.com>
* signal/sighold.c: Include stddef.h for NULL definition.
* signal/sigrelse.c: Likewise.
* sysdeps/posix/sigignore.c: Likewise.
* sysdeps/posix/sigset.c: Likewise.
* sysdeps/posix/waitid.c: Likewise.
* sysdeps/unix/sysv/linux/rt_sigsuspend.c: Likewise.
* sysdeps/unix/sysv/linux/rt_sigtimedwait.c: Likewise.
* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
* wcsmbs/mbsrtowcs.c: Include stdlib.h for MB_CUR_MAX.
Patch by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>.
1998-04-13 Mark Kettenis <kettenis@phys.uva.nl>
* login/Makefile (headers): Remove utmpx.h and bits/utmpx.h.
* login/getutent.c (getutxent): Remove alias.
* login/getutent_r.c (setutxent, pututxline, endutxent):
Remove aliases.
* login/getutid.c (getutxid): Remove alias.
* login/getutline.c (getutxline): Remove alias.
* login/utmp.h: Add prototypes for __updwtmp, __getutent,
__getutid, __getutline and __pututline.
* login/utmpx.h: Moved to ...
* sysdeps/gnu/utmpx.h: ... here. [__USE_GNU]: Define UTMPX_FILE,
UTMPX_FILENAME, WTMPX_FILE and WTMPX_FILENAME, declare utmpxname
and updwtmpx.
* login/updwtmp.c: Moved to ...
* sysdeps/generic/updwtmp.c: ... here. (updwtmp): Generalized by
allowing file name transformation.
* sysdeps/gnu/updwtmp.c: New file. Use generic implementation with
additional file name transformation.
* sysdeps/unix/sysv/linux/updwtmp.c: Likewise.
* login/utmp_file.c: Moved to ...
* sysdeps/generic/utmp_file.c: ... here. (setutent_file):
Generalized by allowing file name transformation. Do not
print error message. Library functions should not print them.
Reported by Jim Meyering.
* sysdeps/gnu/utmp_file.c: New file. Use generic implementation
with additional file name transformation.
* sysdeps/unix/sysv/linux/utmp_file.c: Likewise.
* sysdeps/gnu/Makefile [$(subdir)=login] (sysdep_routines): Add
setutxent, getutxent, endutxent, getutxid, getutxid, getutxline,
pututxline, utmpxname and updwtmpx. (sysdep_headers): Add utmpx.h
and bits/utmpx.h.
* sysdeps/gnu/bits/utmpx.h [__USE_GNU] Include paths.h.
(_PATH_UTMPX): Define to _PATH_UTMP. (_PATH_WTMPX): Define to
_PATH_WTMPX. (RUN_LVL): Define only if __USE_GNU. (ACCOUNTING):
Define if __USE_GNU.
* sysdeps/gnu/setutxent.c: New file.
* sysdeps/gnu/getutxent.c: New file.
* sysdeps/gnu/endutxent.c: New file.
* sysdeps/gnu/getutxid.c: New file.
* sysdeps/gnu/getutxline.c: New file.
* sysdeps/gnu/pututxline.c: New file.
* sysdeps/gnu/utmpxname.c: New file.
* sysdeps/gnu/updwtmpx.c: New file.
* sysdeps/unix/sysv/linux/paths.h (_PATH_UTMP_DB): Remove.
* sysdeps/generic/bits/utmpx.h: Remove.
1998-04-20 Ulrich Drepper <drepper@cygnus.com>
* posix/wordexp-test.c (main): Initialize ifs element of ts for
~root test.
1998-04-17 07:53 H.J. Lu <hjl@gnu.org>
* sysdeps/unix/sysv/linux/i386/s_pread64.S: Fix a typo.
1998-04-17 11:32 Ulrich Drepper <drepper@cygnus.com>
* libio/oldfileops.c (_IO_old_file_seekoff): Define temporary st
variable using _G_stat64.
* libio/fileops.c: Remove macro definition of fstat, it is in the
global header.
Reported by Thorsten Kukuk <kukuk@weber.uni-paderborn.de>.
1998-04-17 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/strlen.S: New file, based on code by Matthew Wilcox
<willy@odie.barnet.ac.uk>.
1998-04-16 Philip Blundell <Philip.Blundell@pobox.com>
* inet/netinet/in.h (IN6_IS_ADDR_MC_NODELOCAL): New macro,
required by IPv6 Basic API.
(IN6_IS_ADDR_MC_LINKLOCAL): Likewise.
(IN6_IS_ADDR_MC_SITELOCAL): Likewise.
(IN6_IS_ADDR_MC_ORGLOCAL): Likewise.
(IN6_IS_ADDR_MC_GLOBAL): Likewise.
1998-04-21 02:41:05 +08:00
|
|
|
#ifndef __BITS_SOCKET_H
|
|
|
|
#define __BITS_SOCKET_H 1
|
|
|
|
|
2013-08-28 01:33:15 +08:00
|
|
|
#ifndef _SYS_SOCKET_H
|
1997-11-26 12:23:08 +08:00
|
|
|
# error "Never include <bits/socket.h> directly; use <sys/socket.h> instead."
|
1997-06-21 10:59:26 +08:00
|
|
|
#endif
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
#define __need_size_t
|
2013-08-28 01:33:15 +08:00
|
|
|
#define __need_NULL
|
1995-02-18 09:27:10 +08:00
|
|
|
#include <stddef.h>
|
|
|
|
|
2013-08-28 01:33:15 +08:00
|
|
|
#include <limits.h> /* XXX Is this allowed? */
|
|
|
|
#include <bits/types.h>
|
|
|
|
|
Update.
1997-08-04 15:29 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/localedef.c (main): Set bit in avail for those
categories which are successfully read.
* locale/programs/locfile.c (check_all_categories): Don't check
categories if they are not available.
(write_all_categories): Don't write categories if they are not
available.
* login/setutent_r.c (setutent_unknown): Change return type to
int and return result of called function.
* manual/arith.texi: Mark floating-point test macro from ISO C 9X
as macros (not functions).
* manual/libc.texinfo (UPDATED): Update.
* manual/math.texi: Document exceptions, functions to handle
exceptions, mathematical constants, FP comparison functions
and several new functions from ISO C 9X.
Change parameter of drand48, lrand48, and mrand48 to void (not
empty).
* manual/pattern.texi: Remove paragraph which explained that wordexp
is executed by running a shell.
* manual/time.texi: Explain difficulties with strftime if the
functions returns 0 and no error occurred.
* math/math.h: Correct comment for some M_* constants.
(isgreater, isgreaterequal, isless, islessequal, islessgreater,
inunordered): Rewrite to make sure the arguments are evaluated
exactly once.
* nis/rpcsvc/nis.x: Undo last change.
* nis/rpcsvc/nis.h: Likewise.
* nis/rpcsvc/nislib.h: File moved back to here.
* posix/sys/types.h: Don't define socklen_t. Pretty print.
* socket/sys/socket.h (bind, getsockname, connect, sendto, recvfrom,
getsockopt, setsockopt, accept): Change size argument to type
socklen_t.
Pretty print.
* manual/socket.texi: Describe socklen_t and change prototypes of
socket functions to use socklen_t.
* sysdeps/generic/bits/socket.h: Define socklen_t.
(struct msghdr): Correct types to use socklen_t.
* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise.
* stdio-common/printf_fp.c (__printf_fp): Correct rouding of number
1.0 < x < 8.0.
* stdio-common/tfformat.c: Add new tests for above bug.
* stdlib/strtod.c: Fix typo.
* string/Makefile (headers): Add bits/string.h.
(CFLAGS-*): Add -D__NO_STRING_INLINES.
* string/string.h: Include <bits/string.h> if optimizing and
__NO_STRING_INLINES is not defined.
* sysdeps/stub/bits/string.h: New file.
* sysdeps/powerpc/bits/fenv.h: Fix typos.
* sysdeps/unix/sysv/linux/if_index.c: Let functions return ENOSYS
if SIOGIFINDEX is not defined.
* sysdeps/wordsize-32/inttypes.h: Pretty print.
* sysdeps/wordsize-64/inttypes.h: Pretty print.
* termios/cfsetspeed.c: Rewrite loop to do what it shall do.
* wcsmbs/Makefile (tests): Add tst-wcstof.
* wcsmbs/tst-wcstof.c: New file.
1997-08-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/__longjmp.c: Replace call to abort by infinite
loop, to avoid dragging stdio into the dynamic linker.
1997-08-02 19:44 H.J. Lu <hjl@gnu.ai.mit.edu>
* nis/nis_findserv.c (xid, xid_seed, xid_lookup): Make them
u_int32_t.
1997-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/wordexp.c (parse_tilde): Fix calls to __getpwnam_r and
__getpwuid_r.
Include <stdio.h> to get prototypes of *printf.
(exec_comm): Remove unneeded variable *sh.
* libc.map: Add wordexp, wordfree.
* posix/Makefile (routines): Add wordexp.
1997-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/wordexp.c: Correct typo in comment.
(wordexp): Likewise.
* manual/errno.texi (Error Codes): Fix typo.
1997-08-03 15:28 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c (SECTION): Don't put quotes around section name
since this is not understood by all assemblers.
Patch by Klaus Espenlaub <kespenla@hydra.informatik.uni-ulm.de>.
1997-08-04 22:31:26 +08:00
|
|
|
/* Type for length arguments in socket calls. */
|
2000-04-02 16:05:36 +08:00
|
|
|
#ifndef __socklen_t_defined
|
|
|
|
typedef __socklen_t socklen_t;
|
|
|
|
# define __socklen_t_defined
|
|
|
|
#endif
|
Update.
1997-08-04 15:29 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/localedef.c (main): Set bit in avail for those
categories which are successfully read.
* locale/programs/locfile.c (check_all_categories): Don't check
categories if they are not available.
(write_all_categories): Don't write categories if they are not
available.
* login/setutent_r.c (setutent_unknown): Change return type to
int and return result of called function.
* manual/arith.texi: Mark floating-point test macro from ISO C 9X
as macros (not functions).
* manual/libc.texinfo (UPDATED): Update.
* manual/math.texi: Document exceptions, functions to handle
exceptions, mathematical constants, FP comparison functions
and several new functions from ISO C 9X.
Change parameter of drand48, lrand48, and mrand48 to void (not
empty).
* manual/pattern.texi: Remove paragraph which explained that wordexp
is executed by running a shell.
* manual/time.texi: Explain difficulties with strftime if the
functions returns 0 and no error occurred.
* math/math.h: Correct comment for some M_* constants.
(isgreater, isgreaterequal, isless, islessequal, islessgreater,
inunordered): Rewrite to make sure the arguments are evaluated
exactly once.
* nis/rpcsvc/nis.x: Undo last change.
* nis/rpcsvc/nis.h: Likewise.
* nis/rpcsvc/nislib.h: File moved back to here.
* posix/sys/types.h: Don't define socklen_t. Pretty print.
* socket/sys/socket.h (bind, getsockname, connect, sendto, recvfrom,
getsockopt, setsockopt, accept): Change size argument to type
socklen_t.
Pretty print.
* manual/socket.texi: Describe socklen_t and change prototypes of
socket functions to use socklen_t.
* sysdeps/generic/bits/socket.h: Define socklen_t.
(struct msghdr): Correct types to use socklen_t.
* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise.
* stdio-common/printf_fp.c (__printf_fp): Correct rouding of number
1.0 < x < 8.0.
* stdio-common/tfformat.c: Add new tests for above bug.
* stdlib/strtod.c: Fix typo.
* string/Makefile (headers): Add bits/string.h.
(CFLAGS-*): Add -D__NO_STRING_INLINES.
* string/string.h: Include <bits/string.h> if optimizing and
__NO_STRING_INLINES is not defined.
* sysdeps/stub/bits/string.h: New file.
* sysdeps/powerpc/bits/fenv.h: Fix typos.
* sysdeps/unix/sysv/linux/if_index.c: Let functions return ENOSYS
if SIOGIFINDEX is not defined.
* sysdeps/wordsize-32/inttypes.h: Pretty print.
* sysdeps/wordsize-64/inttypes.h: Pretty print.
* termios/cfsetspeed.c: Rewrite loop to do what it shall do.
* wcsmbs/Makefile (tests): Add tst-wcstof.
* wcsmbs/tst-wcstof.c: New file.
1997-08-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/__longjmp.c: Replace call to abort by infinite
loop, to avoid dragging stdio into the dynamic linker.
1997-08-02 19:44 H.J. Lu <hjl@gnu.ai.mit.edu>
* nis/nis_findserv.c (xid, xid_seed, xid_lookup): Make them
u_int32_t.
1997-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/wordexp.c (parse_tilde): Fix calls to __getpwnam_r and
__getpwuid_r.
Include <stdio.h> to get prototypes of *printf.
(exec_comm): Remove unneeded variable *sh.
* libc.map: Add wordexp, wordfree.
* posix/Makefile (routines): Add wordexp.
1997-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/wordexp.c: Correct typo in comment.
(wordexp): Likewise.
* manual/errno.texi (Error Codes): Fix typo.
1997-08-03 15:28 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c (SECTION): Don't put quotes around section name
since this is not understood by all assemblers.
Patch by Klaus Espenlaub <kespenla@hydra.informatik.uni-ulm.de>.
1997-08-04 22:31:26 +08:00
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
/* Types of sockets. */
|
|
|
|
enum __socket_type
|
|
|
|
{
|
|
|
|
SOCK_STREAM = 1, /* Sequenced, reliable, connection-based
|
|
|
|
byte streams. */
|
1997-01-25 10:36:37 +08:00
|
|
|
#define SOCK_STREAM SOCK_STREAM
|
1995-02-18 09:27:10 +08:00
|
|
|
SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams
|
|
|
|
of fixed maximum length. */
|
1997-01-25 10:36:37 +08:00
|
|
|
#define SOCK_DGRAM SOCK_DGRAM
|
1995-02-18 09:27:10 +08:00
|
|
|
SOCK_RAW = 3, /* Raw protocol interface. */
|
1997-01-25 10:36:37 +08:00
|
|
|
#define SOCK_RAW SOCK_RAW
|
1995-02-18 09:27:10 +08:00
|
|
|
SOCK_RDM = 4, /* Reliably-delivered messages. */
|
1997-01-25 10:36:37 +08:00
|
|
|
#define SOCK_RDM SOCK_RDM
|
2013-08-28 01:33:15 +08:00
|
|
|
SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based,
|
1995-02-18 09:27:10 +08:00
|
|
|
datagrams of fixed maximum length. */
|
1997-01-25 10:36:37 +08:00
|
|
|
#define SOCK_SEQPACKET SOCK_SEQPACKET
|
2013-08-28 01:33:15 +08:00
|
|
|
|
|
|
|
#define SOCK_MAX (SOCK_SEQPACKET + 1)
|
|
|
|
/* Mask which covers at least up to SOCK_MASK-1.
|
|
|
|
The remaining bits are used as flags. */
|
|
|
|
#define SOCK_TYPE_MASK 0xf
|
|
|
|
|
|
|
|
/* Flags to be ORed into the type parameter of socket and socketpair and
|
|
|
|
used for the flags parameter of accept4. */
|
|
|
|
|
|
|
|
SOCK_CLOEXEC = 0x10000000, /* Atomically set close-on-exec flag for the
|
|
|
|
new descriptor(s). */
|
|
|
|
#define SOCK_CLOEXEC SOCK_CLOEXEC
|
|
|
|
|
|
|
|
SOCK_NONBLOCK = 0x20000000 /* Atomically mark descriptor(s) as
|
|
|
|
non-blocking. */
|
|
|
|
#define SOCK_NONBLOCK SOCK_NONBLOCK
|
1995-02-18 09:27:10 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
/* Protocol families. */
|
|
|
|
#define PF_UNSPEC 0 /* Unspecified. */
|
|
|
|
#define PF_LOCAL 1 /* Local to host (pipes and file-domain). */
|
|
|
|
#define PF_UNIX PF_LOCAL /* Old BSD name for PF_LOCAL. */
|
1997-03-09 14:16:49 +08:00
|
|
|
#define PF_FILE PF_LOCAL /* POSIX name for PF_LOCAL. */
|
1995-02-18 09:27:10 +08:00
|
|
|
#define PF_INET 2 /* IP protocol family. */
|
|
|
|
#define PF_IMPLINK 3 /* ARPAnet IMP protocol. */
|
|
|
|
#define PF_PUP 4 /* PUP protocols. */
|
|
|
|
#define PF_CHAOS 5 /* MIT Chaos protocols. */
|
|
|
|
#define PF_NS 6 /* Xerox NS protocols. */
|
|
|
|
#define PF_ISO 7 /* ISO protocols. */
|
|
|
|
#define PF_OSI PF_ISO
|
|
|
|
#define PF_ECMA 8 /* ECMA protocols. */
|
|
|
|
#define PF_DATAKIT 9 /* AT&T Datakit protocols. */
|
|
|
|
#define PF_CCITT 10 /* CCITT protocols (X.25 et al). */
|
|
|
|
#define PF_SNA 11 /* IBM SNA protocol. */
|
|
|
|
#define PF_DECnet 12 /* DECnet protocols. */
|
|
|
|
#define PF_DLI 13 /* Direct data link interface. */
|
|
|
|
#define PF_LAT 14 /* DEC Local Area Transport protocol. */
|
|
|
|
#define PF_HYLINK 15 /* NSC Hyperchannel protocol. */
|
|
|
|
#define PF_APPLETALK 16 /* Don't use this. */
|
|
|
|
#define PF_ROUTE 17 /* Internal Routing Protocol. */
|
|
|
|
#define PF_LINK 18 /* Link layer interface. */
|
|
|
|
#define PF_XTP 19 /* eXpress Transfer Protocol (no AF). */
|
|
|
|
#define PF_COIP 20 /* Connection-oriented IP, aka ST II. */
|
|
|
|
#define PF_CNT 21 /* Computer Network Technology. */
|
|
|
|
#define PF_RTIP 22 /* Help Identify RTIP packets. **/
|
|
|
|
#define PF_IPX 23 /* Novell Internet Protocol. */
|
|
|
|
#define PF_SIP 24 /* Simple Internet Protocol. */
|
|
|
|
#define PF_PIP 25 /* Help Identify PIP packets. */
|
1996-06-06 23:10:29 +08:00
|
|
|
#define PF_INET6 26 /* IP version 6. */
|
|
|
|
#define PF_MAX 27
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
/* Address families. */
|
|
|
|
#define AF_UNSPEC PF_UNSPEC
|
|
|
|
#define AF_LOCAL PF_LOCAL
|
|
|
|
#define AF_UNIX PF_UNIX
|
1997-03-09 14:16:49 +08:00
|
|
|
#define AF_FILE PF_FILE
|
1995-02-18 09:27:10 +08:00
|
|
|
#define AF_INET PF_INET
|
|
|
|
#define AF_IMPLINK PF_IMPLINK
|
|
|
|
#define AF_PUP PF_PUP
|
|
|
|
#define AF_CHAOS PF_CHAOS
|
|
|
|
#define AF_NS PF_NS
|
|
|
|
#define AF_ISO PF_ISO
|
|
|
|
#define AF_OSI PF_OSI
|
|
|
|
#define AF_ECMA PF_ECMA
|
|
|
|
#define AF_DATAKIT PF_DATAKIT
|
|
|
|
#define AF_CCITT PF_CCITT
|
|
|
|
#define AF_SNA PF_SNA
|
|
|
|
#define AF_DECnet PF_DECnet
|
|
|
|
#define AF_DLI PF_DLI
|
|
|
|
#define AF_LAT PF_LAT
|
|
|
|
#define AF_HYLINK PF_HYLINK
|
|
|
|
#define AF_APPLETALK PF_APPLETALK
|
|
|
|
#define AF_ROUTE PF_ROUTE
|
|
|
|
#define AF_LINK PF_LINK
|
|
|
|
#define pseudo_AF_XTP PF_XTP
|
|
|
|
#define AF_COIP PF_COIP
|
|
|
|
#define AF_CNT PF_CNT
|
|
|
|
#define pseudo_AF_RTIP PF_RTIP
|
|
|
|
#define AF_IPX PF_IPX
|
|
|
|
#define AF_SIP PF_SIP
|
|
|
|
#define pseudo_AF_PIP PF_PIP
|
1996-06-06 23:10:29 +08:00
|
|
|
#define AF_INET6 PF_INET6
|
1995-02-18 09:27:10 +08:00
|
|
|
#define AF_MAX PF_MAX
|
|
|
|
|
2013-08-28 01:33:15 +08:00
|
|
|
/* Maximum queue length specifiable by listen. */
|
|
|
|
#define SOMAXCONN 128 /* 5 on the origional 4.4 BSD. */
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
/* Get the definition of the macro to define the common sockaddr members. */
|
1997-06-21 10:59:26 +08:00
|
|
|
#include <bits/sockaddr.h>
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
/* Structure describing a generic socket address. */
|
|
|
|
struct sockaddr
|
|
|
|
{
|
|
|
|
__SOCKADDR_COMMON (sa_); /* Common data: address family and length. */
|
|
|
|
char sa_data[14]; /* Address data. */
|
|
|
|
};
|
|
|
|
|
|
|
|
|
1999-05-11 21:00:20 +08:00
|
|
|
/* Structure large enough to hold any socket address (with the historical
|
2016-05-24 01:43:09 +08:00
|
|
|
exception of AF_UNIX). */
|
1999-05-11 21:00:20 +08:00
|
|
|
#if ULONG_MAX > 0xffffffff
|
Update.
2000-01-23 Philip Blundell <philb@gnu.org>
Add basic support for RPC over IPv6:
* sunrpc/rpc/svc.h (struct SVCXPRT): Use `struct sockaddr_storage'
for remote address.
(svcudp6_create, svcudp6_bufcreate, svctcp6_create): New
prototypes.
* sunrpc/rpc/clnt.h (clnttcp6_create, clntudp6_create,
clntudp6_bufcreate): New prototypes.
* inet/netinet/in.h (bindresport6): Likewise.
* sunrpc/Makefile (routines): Add svc_tcp6, svc_udp6, bindrsvprt6.
* sunrpc/Versions: Add svcfd6_create, svctcp6_create,
svcudp6_create, svcudp6_bufcreate, svcudp6_enablecache,
bindresvport6 for GLIBC_2.2.
* sunrpc/rpc_main.c: Support `tcp6' and `udp6' transport types.
* sunrpc/rpc_svcout.c: Likewise.
* sunrpc/svc_tcp.c (rendezvous_request): Use memcpy rather than
simple assignment when copying addresses.
* sunrpc/svc_udp.c (cache_get): Likewise.
* sunrpc/svc_unix.c (rendezvous_request): Likewise.
* sunrpc/bindrsvprt6.c, sunrpc/clnt_tcp6.c, sunrpc/clnt_udp6.c,
sunrpc/svc_tcp6.c, sunrpc/svc_udp6.c: New files.
2000-01-05 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/mmap64.S: Correct check for ENOSYS.
2000-01-23 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Pass right
parameter to fstat calls.
2000-01-18 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/generic/bits/socket.h
(__ss_aligntype, struct sockaddr_storage): Make these like Linux
version, replacing old type name `__ss_align'.
2000-01-05 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/generic/lseek64.c (__libc_lseek64): Renamed from __lseek64.
(__lseek64, lseek64): Make these weak aliases for __libc_lseek64.
* sysdeps/mach/hurd/lseek.c (__libc_lseek): Renamed from __lseek.
(__lseek, lseek): Make these weak aliases for __libc_lseek.
* sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Renamed from __fcntl.
(__fcntl, fcntl): Make these weak aliases for __libc_fcntl.
* sysdeps/mach/hurd/open.c (__libc_open): Renamed from __open.
(__open, open): Make these weak aliases for __libc_open.
* sysdeps/generic/bits/socket.h (enum __socket_type): Remove
trailing comma.
(anonymous enum for MSG_*): Likewise.
(anonymous enum for SO_*): Likewise.
2000-01-23 Ulrich Drepper <drepper@cygnus.com>
* string/bits/string2.h: Fix typo (__GNU_SOURCE -> __USE_GNU)
(PR libc/1553).
2000-01-24 10:22:13 +08:00
|
|
|
# define __ss_aligntype __uint64_t
|
1999-05-11 21:00:20 +08:00
|
|
|
#else
|
Update.
2000-01-23 Philip Blundell <philb@gnu.org>
Add basic support for RPC over IPv6:
* sunrpc/rpc/svc.h (struct SVCXPRT): Use `struct sockaddr_storage'
for remote address.
(svcudp6_create, svcudp6_bufcreate, svctcp6_create): New
prototypes.
* sunrpc/rpc/clnt.h (clnttcp6_create, clntudp6_create,
clntudp6_bufcreate): New prototypes.
* inet/netinet/in.h (bindresport6): Likewise.
* sunrpc/Makefile (routines): Add svc_tcp6, svc_udp6, bindrsvprt6.
* sunrpc/Versions: Add svcfd6_create, svctcp6_create,
svcudp6_create, svcudp6_bufcreate, svcudp6_enablecache,
bindresvport6 for GLIBC_2.2.
* sunrpc/rpc_main.c: Support `tcp6' and `udp6' transport types.
* sunrpc/rpc_svcout.c: Likewise.
* sunrpc/svc_tcp.c (rendezvous_request): Use memcpy rather than
simple assignment when copying addresses.
* sunrpc/svc_udp.c (cache_get): Likewise.
* sunrpc/svc_unix.c (rendezvous_request): Likewise.
* sunrpc/bindrsvprt6.c, sunrpc/clnt_tcp6.c, sunrpc/clnt_udp6.c,
sunrpc/svc_tcp6.c, sunrpc/svc_udp6.c: New files.
2000-01-05 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/mmap64.S: Correct check for ENOSYS.
2000-01-23 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Pass right
parameter to fstat calls.
2000-01-18 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/generic/bits/socket.h
(__ss_aligntype, struct sockaddr_storage): Make these like Linux
version, replacing old type name `__ss_align'.
2000-01-05 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/generic/lseek64.c (__libc_lseek64): Renamed from __lseek64.
(__lseek64, lseek64): Make these weak aliases for __libc_lseek64.
* sysdeps/mach/hurd/lseek.c (__libc_lseek): Renamed from __lseek.
(__lseek, lseek): Make these weak aliases for __libc_lseek.
* sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Renamed from __fcntl.
(__fcntl, fcntl): Make these weak aliases for __libc_fcntl.
* sysdeps/mach/hurd/open.c (__libc_open): Renamed from __open.
(__open, open): Make these weak aliases for __libc_open.
* sysdeps/generic/bits/socket.h (enum __socket_type): Remove
trailing comma.
(anonymous enum for MSG_*): Likewise.
(anonymous enum for SO_*): Likewise.
2000-01-23 Ulrich Drepper <drepper@cygnus.com>
* string/bits/string2.h: Fix typo (__GNU_SOURCE -> __USE_GNU)
(PR libc/1553).
2000-01-24 10:22:13 +08:00
|
|
|
# define __ss_aligntype __uint32_t
|
1999-05-11 21:00:20 +08:00
|
|
|
#endif
|
2016-05-24 01:43:09 +08:00
|
|
|
#define _SS_PADSIZE \
|
|
|
|
(_SS_SIZE - __SOCKADDR_COMMON_SIZE - sizeof (__ss_aligntype))
|
1999-05-11 21:00:20 +08:00
|
|
|
|
|
|
|
struct sockaddr_storage
|
|
|
|
{
|
2001-01-28 05:26:25 +08:00
|
|
|
__SOCKADDR_COMMON (ss_); /* Address family, etc. */
|
1999-05-11 21:00:20 +08:00
|
|
|
char __ss_padding[_SS_PADSIZE];
|
2016-05-24 01:43:09 +08:00
|
|
|
__ss_aligntype __ss_align; /* Force desired alignment. */
|
1999-05-11 21:00:20 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
|
1995-02-18 09:27:10 +08:00
|
|
|
/* Bits in the FLAGS argument to `send', `recv', et al. */
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
MSG_OOB = 0x01, /* Process out-of-band data. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define MSG_OOB MSG_OOB
|
1995-02-18 09:27:10 +08:00
|
|
|
MSG_PEEK = 0x02, /* Peek at incoming messages. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define MSG_PEEK MSG_PEEK
|
1995-02-18 09:27:10 +08:00
|
|
|
MSG_DONTROUTE = 0x04, /* Don't use local routing. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define MSG_DONTROUTE MSG_DONTROUTE
|
1995-02-18 09:27:10 +08:00
|
|
|
MSG_EOR = 0x08, /* Data completes record. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define MSG_EOR MSG_EOR
|
1995-02-18 09:27:10 +08:00
|
|
|
MSG_TRUNC = 0x10, /* Data discarded before delivery. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define MSG_TRUNC MSG_TRUNC
|
1995-02-18 09:27:10 +08:00
|
|
|
MSG_CTRUNC = 0x20, /* Control data lost before delivery. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define MSG_CTRUNC MSG_CTRUNC
|
1995-02-18 09:27:10 +08:00
|
|
|
MSG_WAITALL = 0x40, /* Wait for full request or error. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define MSG_WAITALL MSG_WAITALL
|
2013-08-28 01:33:15 +08:00
|
|
|
MSG_DONTWAIT = 0x80, /* This message should be nonblocking. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define MSG_DONTWAIT MSG_DONTWAIT
|
2013-08-28 01:33:15 +08:00
|
|
|
MSG_NOSIGNAL = 0x0400 /* Do not generate SIGPIPE on EPIPE. */
|
|
|
|
#define MSG_NOSIGNAL MSG_NOSIGNAL
|
1995-02-18 09:27:10 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* Structure describing messages sent by
|
|
|
|
`sendmsg' and received by `recvmsg'. */
|
|
|
|
struct msghdr
|
|
|
|
{
|
2013-08-28 01:33:15 +08:00
|
|
|
void *msg_name; /* Address to send to/receive from. */
|
Update.
1997-08-04 15:29 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/localedef.c (main): Set bit in avail for those
categories which are successfully read.
* locale/programs/locfile.c (check_all_categories): Don't check
categories if they are not available.
(write_all_categories): Don't write categories if they are not
available.
* login/setutent_r.c (setutent_unknown): Change return type to
int and return result of called function.
* manual/arith.texi: Mark floating-point test macro from ISO C 9X
as macros (not functions).
* manual/libc.texinfo (UPDATED): Update.
* manual/math.texi: Document exceptions, functions to handle
exceptions, mathematical constants, FP comparison functions
and several new functions from ISO C 9X.
Change parameter of drand48, lrand48, and mrand48 to void (not
empty).
* manual/pattern.texi: Remove paragraph which explained that wordexp
is executed by running a shell.
* manual/time.texi: Explain difficulties with strftime if the
functions returns 0 and no error occurred.
* math/math.h: Correct comment for some M_* constants.
(isgreater, isgreaterequal, isless, islessequal, islessgreater,
inunordered): Rewrite to make sure the arguments are evaluated
exactly once.
* nis/rpcsvc/nis.x: Undo last change.
* nis/rpcsvc/nis.h: Likewise.
* nis/rpcsvc/nislib.h: File moved back to here.
* posix/sys/types.h: Don't define socklen_t. Pretty print.
* socket/sys/socket.h (bind, getsockname, connect, sendto, recvfrom,
getsockopt, setsockopt, accept): Change size argument to type
socklen_t.
Pretty print.
* manual/socket.texi: Describe socklen_t and change prototypes of
socket functions to use socklen_t.
* sysdeps/generic/bits/socket.h: Define socklen_t.
(struct msghdr): Correct types to use socklen_t.
* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise.
* stdio-common/printf_fp.c (__printf_fp): Correct rouding of number
1.0 < x < 8.0.
* stdio-common/tfformat.c: Add new tests for above bug.
* stdlib/strtod.c: Fix typo.
* string/Makefile (headers): Add bits/string.h.
(CFLAGS-*): Add -D__NO_STRING_INLINES.
* string/string.h: Include <bits/string.h> if optimizing and
__NO_STRING_INLINES is not defined.
* sysdeps/stub/bits/string.h: New file.
* sysdeps/powerpc/bits/fenv.h: Fix typos.
* sysdeps/unix/sysv/linux/if_index.c: Let functions return ENOSYS
if SIOGIFINDEX is not defined.
* sysdeps/wordsize-32/inttypes.h: Pretty print.
* sysdeps/wordsize-64/inttypes.h: Pretty print.
* termios/cfsetspeed.c: Rewrite loop to do what it shall do.
* wcsmbs/Makefile (tests): Add tst-wcstof.
* wcsmbs/tst-wcstof.c: New file.
1997-08-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/__longjmp.c: Replace call to abort by infinite
loop, to avoid dragging stdio into the dynamic linker.
1997-08-02 19:44 H.J. Lu <hjl@gnu.ai.mit.edu>
* nis/nis_findserv.c (xid, xid_seed, xid_lookup): Make them
u_int32_t.
1997-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/wordexp.c (parse_tilde): Fix calls to __getpwnam_r and
__getpwuid_r.
Include <stdio.h> to get prototypes of *printf.
(exec_comm): Remove unneeded variable *sh.
* libc.map: Add wordexp, wordfree.
* posix/Makefile (routines): Add wordexp.
1997-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/wordexp.c: Correct typo in comment.
(wordexp): Likewise.
* manual/errno.texi (Error Codes): Fix typo.
1997-08-03 15:28 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c (SECTION): Don't put quotes around section name
since this is not understood by all assemblers.
Patch by Klaus Espenlaub <kespenla@hydra.informatik.uni-ulm.de>.
1997-08-04 22:31:26 +08:00
|
|
|
socklen_t msg_namelen; /* Length of address data. */
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
struct iovec *msg_iov; /* Vector of data to send/receive into. */
|
Update.
1997-08-04 15:29 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/localedef.c (main): Set bit in avail for those
categories which are successfully read.
* locale/programs/locfile.c (check_all_categories): Don't check
categories if they are not available.
(write_all_categories): Don't write categories if they are not
available.
* login/setutent_r.c (setutent_unknown): Change return type to
int and return result of called function.
* manual/arith.texi: Mark floating-point test macro from ISO C 9X
as macros (not functions).
* manual/libc.texinfo (UPDATED): Update.
* manual/math.texi: Document exceptions, functions to handle
exceptions, mathematical constants, FP comparison functions
and several new functions from ISO C 9X.
Change parameter of drand48, lrand48, and mrand48 to void (not
empty).
* manual/pattern.texi: Remove paragraph which explained that wordexp
is executed by running a shell.
* manual/time.texi: Explain difficulties with strftime if the
functions returns 0 and no error occurred.
* math/math.h: Correct comment for some M_* constants.
(isgreater, isgreaterequal, isless, islessequal, islessgreater,
inunordered): Rewrite to make sure the arguments are evaluated
exactly once.
* nis/rpcsvc/nis.x: Undo last change.
* nis/rpcsvc/nis.h: Likewise.
* nis/rpcsvc/nislib.h: File moved back to here.
* posix/sys/types.h: Don't define socklen_t. Pretty print.
* socket/sys/socket.h (bind, getsockname, connect, sendto, recvfrom,
getsockopt, setsockopt, accept): Change size argument to type
socklen_t.
Pretty print.
* manual/socket.texi: Describe socklen_t and change prototypes of
socket functions to use socklen_t.
* sysdeps/generic/bits/socket.h: Define socklen_t.
(struct msghdr): Correct types to use socklen_t.
* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise.
* stdio-common/printf_fp.c (__printf_fp): Correct rouding of number
1.0 < x < 8.0.
* stdio-common/tfformat.c: Add new tests for above bug.
* stdlib/strtod.c: Fix typo.
* string/Makefile (headers): Add bits/string.h.
(CFLAGS-*): Add -D__NO_STRING_INLINES.
* string/string.h: Include <bits/string.h> if optimizing and
__NO_STRING_INLINES is not defined.
* sysdeps/stub/bits/string.h: New file.
* sysdeps/powerpc/bits/fenv.h: Fix typos.
* sysdeps/unix/sysv/linux/if_index.c: Let functions return ENOSYS
if SIOGIFINDEX is not defined.
* sysdeps/wordsize-32/inttypes.h: Pretty print.
* sysdeps/wordsize-64/inttypes.h: Pretty print.
* termios/cfsetspeed.c: Rewrite loop to do what it shall do.
* wcsmbs/Makefile (tests): Add tst-wcstof.
* wcsmbs/tst-wcstof.c: New file.
1997-08-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/__longjmp.c: Replace call to abort by infinite
loop, to avoid dragging stdio into the dynamic linker.
1997-08-02 19:44 H.J. Lu <hjl@gnu.ai.mit.edu>
* nis/nis_findserv.c (xid, xid_seed, xid_lookup): Make them
u_int32_t.
1997-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/wordexp.c (parse_tilde): Fix calls to __getpwnam_r and
__getpwuid_r.
Include <stdio.h> to get prototypes of *printf.
(exec_comm): Remove unneeded variable *sh.
* libc.map: Add wordexp, wordfree.
* posix/Makefile (routines): Add wordexp.
1997-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/wordexp.c: Correct typo in comment.
(wordexp): Likewise.
* manual/errno.texi (Error Codes): Fix typo.
1997-08-03 15:28 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c (SECTION): Don't put quotes around section name
since this is not understood by all assemblers.
Patch by Klaus Espenlaub <kespenla@hydra.informatik.uni-ulm.de>.
1997-08-04 22:31:26 +08:00
|
|
|
int msg_iovlen; /* Number of elements in the vector. */
|
1995-02-18 09:27:10 +08:00
|
|
|
|
2013-08-28 01:33:15 +08:00
|
|
|
void *msg_control; /* Ancillary data (eg BSD filedesc passing). */
|
|
|
|
socklen_t msg_controllen; /* Ancillary data buffer length. */
|
Update.
1997-08-04 15:29 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/localedef.c (main): Set bit in avail for those
categories which are successfully read.
* locale/programs/locfile.c (check_all_categories): Don't check
categories if they are not available.
(write_all_categories): Don't write categories if they are not
available.
* login/setutent_r.c (setutent_unknown): Change return type to
int and return result of called function.
* manual/arith.texi: Mark floating-point test macro from ISO C 9X
as macros (not functions).
* manual/libc.texinfo (UPDATED): Update.
* manual/math.texi: Document exceptions, functions to handle
exceptions, mathematical constants, FP comparison functions
and several new functions from ISO C 9X.
Change parameter of drand48, lrand48, and mrand48 to void (not
empty).
* manual/pattern.texi: Remove paragraph which explained that wordexp
is executed by running a shell.
* manual/time.texi: Explain difficulties with strftime if the
functions returns 0 and no error occurred.
* math/math.h: Correct comment for some M_* constants.
(isgreater, isgreaterequal, isless, islessequal, islessgreater,
inunordered): Rewrite to make sure the arguments are evaluated
exactly once.
* nis/rpcsvc/nis.x: Undo last change.
* nis/rpcsvc/nis.h: Likewise.
* nis/rpcsvc/nislib.h: File moved back to here.
* posix/sys/types.h: Don't define socklen_t. Pretty print.
* socket/sys/socket.h (bind, getsockname, connect, sendto, recvfrom,
getsockopt, setsockopt, accept): Change size argument to type
socklen_t.
Pretty print.
* manual/socket.texi: Describe socklen_t and change prototypes of
socket functions to use socklen_t.
* sysdeps/generic/bits/socket.h: Define socklen_t.
(struct msghdr): Correct types to use socklen_t.
* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/socket.h: Likewise.
* stdio-common/printf_fp.c (__printf_fp): Correct rouding of number
1.0 < x < 8.0.
* stdio-common/tfformat.c: Add new tests for above bug.
* stdlib/strtod.c: Fix typo.
* string/Makefile (headers): Add bits/string.h.
(CFLAGS-*): Add -D__NO_STRING_INLINES.
* string/string.h: Include <bits/string.h> if optimizing and
__NO_STRING_INLINES is not defined.
* sysdeps/stub/bits/string.h: New file.
* sysdeps/powerpc/bits/fenv.h: Fix typos.
* sysdeps/unix/sysv/linux/if_index.c: Let functions return ENOSYS
if SIOGIFINDEX is not defined.
* sysdeps/wordsize-32/inttypes.h: Pretty print.
* sysdeps/wordsize-64/inttypes.h: Pretty print.
* termios/cfsetspeed.c: Rewrite loop to do what it shall do.
* wcsmbs/Makefile (tests): Add tst-wcstof.
* wcsmbs/tst-wcstof.c: New file.
1997-08-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/__longjmp.c: Replace call to abort by infinite
loop, to avoid dragging stdio into the dynamic linker.
1997-08-02 19:44 H.J. Lu <hjl@gnu.ai.mit.edu>
* nis/nis_findserv.c (xid, xid_seed, xid_lookup): Make them
u_int32_t.
1997-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/wordexp.c (parse_tilde): Fix calls to __getpwnam_r and
__getpwuid_r.
Include <stdio.h> to get prototypes of *printf.
(exec_comm): Remove unneeded variable *sh.
* libc.map: Add wordexp, wordfree.
* posix/Makefile (routines): Add wordexp.
1997-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* posix/wordexp.c: Correct typo in comment.
(wordexp): Likewise.
* manual/errno.texi (Error Codes): Fix typo.
1997-08-03 15:28 Ulrich Drepper <drepper@cygnus.com>
* csu/initfini.c (SECTION): Don't put quotes around section name
since this is not understood by all assemblers.
Patch by Klaus Espenlaub <kespenla@hydra.informatik.uni-ulm.de>.
1997-08-04 22:31:26 +08:00
|
|
|
|
|
|
|
int msg_flags; /* Flags in received message. */
|
1995-02-18 09:27:10 +08:00
|
|
|
};
|
|
|
|
|
2013-08-28 01:33:15 +08:00
|
|
|
/* Structure used for storage of ancillary data object information. */
|
|
|
|
struct cmsghdr
|
|
|
|
{
|
|
|
|
socklen_t cmsg_len; /* Length of data in cmsg_data plus length
|
|
|
|
of cmsghdr structure. */
|
|
|
|
int cmsg_level; /* Originating protocol. */
|
|
|
|
int cmsg_type; /* Protocol specific type. */
|
Installed-header hygiene (BZ#20366): Simple self-contained fixes.
Some headers did not include all of their prerequisite headers.
* rpcsvc/nislib.h: Include rpcsvc/nis.h.
* sysdeps/unix/sysv/linux/netrose/rose.h:
Include sys/socket.h and netax25/ax25.h.
<endian.h> only defines BYTE_ORDER, BIG_ENDIAN, LITTLE_ENDIAN,
etc. under __USE_MISC; glibc's headers should use __BYTE_ORDER,
__BIG_ENDIAN, __LITTLE_ENDIAN, etc. instead.
* inet/netinet/icmp6.h, inet/netinet/ip6.h
* resolv/arpa/nameser_compat.h:
Use __BYTE_ORDER etc. instead of BYTE_ORDER etc.
sys/types.h only conditionally defines caddr_t and clockid_t.
* sysdeps/unix/sysv/linux/sys/quota.h:
Use __caddr_t instead of caddr_t.
* sysdeps/unix/sysv/linux/sys/timerfd.h:
Use __clockid_t instead of clockid_t.
Remove a #warning that was the sole actual problem with using sys/ipc.h
without _GNU_SOURCE/_XOPEN_SOURCE.
* sysvipc/sys/ipc.h: Remove unnecessary #warning.
_LIBC, __USE_XOPEN2K8, and __STDC_VERSION__ are not always defined.
It seems to me that _LIBC should not appear in installed headers, but
avoiding that for argp specifically would require more surgery than
feels appropriate for this patch set. It's possible that
"#ifdef _LIBC" would be sufficient, but I wanted to be conservative.
All three versions of bits/socket.h want to know whether __flexarr
will produce a real flexible array member -- specifically, one that
doesn't alter sizeof(the structure containing it). They were testing
for this with a complicated #if condition that did not agree with
sys/cdefs.h and that tripped -Wundef warnings under -std=c90.
I added a new macro to sys/cdefs.h, __glibc_c99_flexarr_available,
which reveals exactly what these headers want to know. I also took
the opportunity to flatten the rather messy conditional nest defining
__flexarr.
* argp/argp.h: Check whether _LIBC is defined before expanding it.
* posix/glob.h: Check whether __USE_XOPEN2K8 is defined instead
of expanding it.
* misc/sys/cdefs.h: Tidy up conditional nest defining __flexarr.
Define __glibc_c99_flexarr_available to 1 when the compiler
supports C99-compatible flexible array members, 0 otherwise.
* sysdeps/unix/sysv/linux/bits/socket.h
* sysdeps/mach/hurd/bits/socket.h
* bits/socket.h: Use __glibc_c99_flexarr_available in
definitions of struct cmsghdr and CMSG_DATA.
2016-08-22 20:06:30 +08:00
|
|
|
#if __glibc_c99_flexarr_available
|
2013-08-28 01:33:15 +08:00
|
|
|
__extension__ unsigned char __cmsg_data __flexarr; /* Ancillary data. */
|
|
|
|
#endif
|
|
|
|
};
|
|
|
|
|
|
|
|
/* Ancillary data object manipulation macros. */
|
Installed-header hygiene (BZ#20366): Simple self-contained fixes.
Some headers did not include all of their prerequisite headers.
* rpcsvc/nislib.h: Include rpcsvc/nis.h.
* sysdeps/unix/sysv/linux/netrose/rose.h:
Include sys/socket.h and netax25/ax25.h.
<endian.h> only defines BYTE_ORDER, BIG_ENDIAN, LITTLE_ENDIAN,
etc. under __USE_MISC; glibc's headers should use __BYTE_ORDER,
__BIG_ENDIAN, __LITTLE_ENDIAN, etc. instead.
* inet/netinet/icmp6.h, inet/netinet/ip6.h
* resolv/arpa/nameser_compat.h:
Use __BYTE_ORDER etc. instead of BYTE_ORDER etc.
sys/types.h only conditionally defines caddr_t and clockid_t.
* sysdeps/unix/sysv/linux/sys/quota.h:
Use __caddr_t instead of caddr_t.
* sysdeps/unix/sysv/linux/sys/timerfd.h:
Use __clockid_t instead of clockid_t.
Remove a #warning that was the sole actual problem with using sys/ipc.h
without _GNU_SOURCE/_XOPEN_SOURCE.
* sysvipc/sys/ipc.h: Remove unnecessary #warning.
_LIBC, __USE_XOPEN2K8, and __STDC_VERSION__ are not always defined.
It seems to me that _LIBC should not appear in installed headers, but
avoiding that for argp specifically would require more surgery than
feels appropriate for this patch set. It's possible that
"#ifdef _LIBC" would be sufficient, but I wanted to be conservative.
All three versions of bits/socket.h want to know whether __flexarr
will produce a real flexible array member -- specifically, one that
doesn't alter sizeof(the structure containing it). They were testing
for this with a complicated #if condition that did not agree with
sys/cdefs.h and that tripped -Wundef warnings under -std=c90.
I added a new macro to sys/cdefs.h, __glibc_c99_flexarr_available,
which reveals exactly what these headers want to know. I also took
the opportunity to flatten the rather messy conditional nest defining
__flexarr.
* argp/argp.h: Check whether _LIBC is defined before expanding it.
* posix/glob.h: Check whether __USE_XOPEN2K8 is defined instead
of expanding it.
* misc/sys/cdefs.h: Tidy up conditional nest defining __flexarr.
Define __glibc_c99_flexarr_available to 1 when the compiler
supports C99-compatible flexible array members, 0 otherwise.
* sysdeps/unix/sysv/linux/bits/socket.h
* sysdeps/mach/hurd/bits/socket.h
* bits/socket.h: Use __glibc_c99_flexarr_available in
definitions of struct cmsghdr and CMSG_DATA.
2016-08-22 20:06:30 +08:00
|
|
|
#if __glibc_c99_flexarr_available
|
2013-08-28 01:33:15 +08:00
|
|
|
# define CMSG_DATA(cmsg) ((cmsg)->__cmsg_data)
|
|
|
|
#else
|
|
|
|
# define CMSG_DATA(cmsg) ((unsigned char *) ((struct cmsghdr *) (cmsg) + 1))
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr (mhdr, cmsg)
|
|
|
|
|
|
|
|
#define CMSG_FIRSTHDR(mhdr) \
|
|
|
|
((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) \
|
|
|
|
? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) NULL)
|
|
|
|
|
|
|
|
#define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) \
|
|
|
|
& (size_t) ~(sizeof (size_t) - 1))
|
|
|
|
#define CMSG_SPACE(len) (CMSG_ALIGN (len) \
|
|
|
|
+ CMSG_ALIGN (sizeof (struct cmsghdr)))
|
|
|
|
#define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len))
|
|
|
|
|
|
|
|
extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr,
|
|
|
|
struct cmsghdr *__cmsg) __THROW;
|
|
|
|
#ifdef __USE_EXTERN_INLINES
|
|
|
|
# ifndef _EXTERN_INLINE
|
|
|
|
# define _EXTERN_INLINE __extern_inline
|
|
|
|
# endif
|
|
|
|
_EXTERN_INLINE struct cmsghdr *
|
|
|
|
__NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg))
|
|
|
|
{
|
|
|
|
if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
|
|
|
|
/* The kernel header does this so there may be a reason. */
|
|
|
|
return NULL;
|
|
|
|
|
|
|
|
__cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg
|
|
|
|
+ CMSG_ALIGN (__cmsg->cmsg_len));
|
|
|
|
if ((unsigned char *) (__cmsg + 1) > ((unsigned char *) __mhdr->msg_control
|
|
|
|
+ __mhdr->msg_controllen)
|
|
|
|
|| ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len)
|
|
|
|
> ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen)))
|
|
|
|
/* No more entries. */
|
|
|
|
return NULL;
|
|
|
|
return __cmsg;
|
|
|
|
}
|
|
|
|
#endif /* Use `extern inline'. */
|
|
|
|
|
|
|
|
/* Socket level message types. */
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
SCM_RIGHTS = 0x01, /* Access rights (array of int). */
|
|
|
|
#define SCM_RIGHTS SCM_RIGHTS
|
|
|
|
SCM_TIMESTAMP = 0x02, /* Timestamp (struct timeval). */
|
|
|
|
#define SCM_TIMESTAMP SCM_TIMESTAMP
|
|
|
|
SCM_CREDS = 0x03 /* Process creds (struct cmsgcred). */
|
|
|
|
#define SCM_CREDS SCM_CREDS
|
|
|
|
};
|
|
|
|
|
|
|
|
/* Unfortunately, BSD practice dictates this structure be of fixed size.
|
|
|
|
If there are more than CMGROUP_MAX groups, the list is truncated.
|
|
|
|
(On GNU systems, the `cmcred_euid' field is just the first in the
|
|
|
|
list of effective UIDs.) */
|
|
|
|
#define CMGROUP_MAX 16
|
|
|
|
|
|
|
|
/* Structure delivered by SCM_CREDS. This describes the identity of the
|
|
|
|
sender of the data simultaneously received on the socket. By BSD
|
|
|
|
convention, this is included only when a sender on a AF_LOCAL socket
|
|
|
|
sends cmsg data of this type and size; the sender's structure is
|
|
|
|
ignored, and the system fills in the various IDs of the sender process. */
|
|
|
|
struct cmsgcred
|
|
|
|
{
|
|
|
|
__pid_t cmcred_pid;
|
|
|
|
__uid_t cmcred_uid;
|
|
|
|
__uid_t cmcred_euid;
|
|
|
|
__gid_t cmcred_gid;
|
|
|
|
int cmcred_ngroups;
|
|
|
|
__gid_t cmcred_groups[CMGROUP_MAX];
|
|
|
|
};
|
1995-02-18 09:27:10 +08:00
|
|
|
|
|
|
|
/* Protocol number used to manipulate socket-level options
|
|
|
|
with `getsockopt' and `setsockopt'. */
|
|
|
|
#define SOL_SOCKET 0xffff
|
|
|
|
|
|
|
|
/* Socket-level options for `getsockopt' and `setsockopt'. */
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
SO_DEBUG = 0x0001, /* Record debugging information. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define SO_DEBUG SO_DEBUG
|
1995-02-18 09:27:10 +08:00
|
|
|
SO_ACCEPTCONN = 0x0002, /* Accept connections on socket. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define SO_ACCEPTCONN SO_ACCEPTCONN
|
1995-02-18 09:27:10 +08:00
|
|
|
SO_REUSEADDR = 0x0004, /* Allow reuse of local addresses. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define SO_REUSEADDR SO_REUSEADDR
|
1995-02-18 09:27:10 +08:00
|
|
|
SO_KEEPALIVE = 0x0008, /* Keep connections alive and send
|
|
|
|
SIGPIPE when they die. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define SO_KEEPALIVE SO_KEEPALIVE
|
1995-02-18 09:27:10 +08:00
|
|
|
SO_DONTROUTE = 0x0010, /* Don't do local routing. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define SO_DONTROUTE SO_DONTROUTE
|
1995-02-18 09:27:10 +08:00
|
|
|
SO_BROADCAST = 0x0020, /* Allow transmission of
|
|
|
|
broadcast messages. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define SO_BROADCAST SO_BROADCAST
|
1995-02-18 09:27:10 +08:00
|
|
|
SO_USELOOPBACK = 0x0040, /* Use the software loopback to avoid
|
|
|
|
hardware use when possible. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define SO_USELOOPBACK SO_USELOOPBACK
|
1995-02-18 09:27:10 +08:00
|
|
|
SO_LINGER = 0x0080, /* Block on close of a reliable
|
|
|
|
socket to transmit pending data. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define SO_LINGER SO_LINGER
|
1995-02-18 09:27:10 +08:00
|
|
|
SO_OOBINLINE = 0x0100, /* Receive out-of-band data in-band. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define SO_OOBINLINE SO_OOBINLINE
|
1995-02-18 09:27:10 +08:00
|
|
|
SO_REUSEPORT = 0x0200, /* Allow local address and port reuse. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define SO_REUSEPORT SO_REUSEPORT
|
1995-02-18 09:27:10 +08:00
|
|
|
SO_SNDBUF = 0x1001, /* Send buffer size. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define SO_SNDBUF SO_SNDBUF
|
1995-02-18 09:27:10 +08:00
|
|
|
SO_RCVBUF = 0x1002, /* Receive buffer. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define SO_RCVBUF SO_RCVBUF
|
1995-02-18 09:27:10 +08:00
|
|
|
SO_SNDLOWAT = 0x1003, /* Send low-water mark. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define SO_SNDLOWAT SO_SNDLOWAT
|
1995-02-18 09:27:10 +08:00
|
|
|
SO_RCVLOWAT = 0x1004, /* Receive low-water mark. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define SO_RCVLOWAT SO_RCVLOWAT
|
1995-02-18 09:27:10 +08:00
|
|
|
SO_SNDTIMEO = 0x1005, /* Send timeout. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define SO_SNDTIMEO SO_SNDTIMEO
|
1995-02-18 09:27:10 +08:00
|
|
|
SO_RCVTIMEO = 0x1006, /* Receive timeout. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define SO_RCVTIMEO SO_RCVTIMEO
|
1995-02-18 09:27:10 +08:00
|
|
|
SO_ERROR = 0x1007, /* Get and clear error status. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define SO_ERROR SO_ERROR
|
1995-02-18 09:27:10 +08:00
|
|
|
SO_STYLE = 0x1008, /* Get socket connection style. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define SO_STYLE SO_STYLE
|
Update.
2000-01-23 Philip Blundell <philb@gnu.org>
Add basic support for RPC over IPv6:
* sunrpc/rpc/svc.h (struct SVCXPRT): Use `struct sockaddr_storage'
for remote address.
(svcudp6_create, svcudp6_bufcreate, svctcp6_create): New
prototypes.
* sunrpc/rpc/clnt.h (clnttcp6_create, clntudp6_create,
clntudp6_bufcreate): New prototypes.
* inet/netinet/in.h (bindresport6): Likewise.
* sunrpc/Makefile (routines): Add svc_tcp6, svc_udp6, bindrsvprt6.
* sunrpc/Versions: Add svcfd6_create, svctcp6_create,
svcudp6_create, svcudp6_bufcreate, svcudp6_enablecache,
bindresvport6 for GLIBC_2.2.
* sunrpc/rpc_main.c: Support `tcp6' and `udp6' transport types.
* sunrpc/rpc_svcout.c: Likewise.
* sunrpc/svc_tcp.c (rendezvous_request): Use memcpy rather than
simple assignment when copying addresses.
* sunrpc/svc_udp.c (cache_get): Likewise.
* sunrpc/svc_unix.c (rendezvous_request): Likewise.
* sunrpc/bindrsvprt6.c, sunrpc/clnt_tcp6.c, sunrpc/clnt_udp6.c,
sunrpc/svc_tcp6.c, sunrpc/svc_udp6.c: New files.
2000-01-05 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/mmap64.S: Correct check for ENOSYS.
2000-01-23 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Pass right
parameter to fstat calls.
2000-01-18 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/generic/bits/socket.h
(__ss_aligntype, struct sockaddr_storage): Make these like Linux
version, replacing old type name `__ss_align'.
2000-01-05 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/generic/lseek64.c (__libc_lseek64): Renamed from __lseek64.
(__lseek64, lseek64): Make these weak aliases for __libc_lseek64.
* sysdeps/mach/hurd/lseek.c (__libc_lseek): Renamed from __lseek.
(__lseek, lseek): Make these weak aliases for __libc_lseek.
* sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Renamed from __fcntl.
(__fcntl, fcntl): Make these weak aliases for __libc_fcntl.
* sysdeps/mach/hurd/open.c (__libc_open): Renamed from __open.
(__open, open): Make these weak aliases for __libc_open.
* sysdeps/generic/bits/socket.h (enum __socket_type): Remove
trailing comma.
(anonymous enum for MSG_*): Likewise.
(anonymous enum for SO_*): Likewise.
2000-01-23 Ulrich Drepper <drepper@cygnus.com>
* string/bits/string2.h: Fix typo (__GNU_SOURCE -> __USE_GNU)
(PR libc/1553).
2000-01-24 10:22:13 +08:00
|
|
|
SO_TYPE = SO_STYLE /* Compatible name for SO_STYLE. */
|
1998-04-24 22:03:49 +08:00
|
|
|
#define SO_TYPE SO_TYPE
|
1995-02-18 09:27:10 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
/* Structure used to manipulate the SO_LINGER option. */
|
|
|
|
struct linger
|
|
|
|
{
|
|
|
|
int l_onoff; /* Nonzero to linger on close. */
|
|
|
|
int l_linger; /* Time to linger. */
|
|
|
|
};
|
Update.
1998-04-20 18:00 Ulrich Drepper <drepper@cygnus.com>
* libc.map: Add __dgettext to GLIBC_2.0 and __libc_longjmp, and
__libc_siglongjmp to GLIBC_2.1.
* elf/dl-minimal.c (__assert_perror_fail): Don't use strerror, use
__strerror_r.
* iconv/Makefile: Don't run tests now.
* iconv/iconv_prog.c (process_block): If loop is repeated, call iconv
with correct output buffer.
Major rewrite of the low-level gconv functionality.
* iconv/gconv.c: Rewritten.
* iconv/gconv.h: Likewise.
* iconv/gconv_builtin.c: Likewise.
* iconv/gconv_builtin.h: Likewise.
* iconv/gconv_conf.c: Likewise.
* iconv/gconv_int.h: Likewise.
* iconv/gconv_open.c: Likewise.
* iconv/gconv_simple.c: Likewise.
* iconv/iconv.c: Likewise.
* iconvdata/8bit-gap.c: Likewise.
* iconvdata/8bit-generic.c: Likewise.
* iconvdata/Makefile: Likewise.
* iconvdata/big5.c: Likewise.
* iconvdata/cns11643.c: Likewise.
* iconvdata/cns11643.h: Likewise.
* iconvdata/cns11643l1.c: Likewise.
* iconvdata/cns11643l1.h: Likewise.
* iconvdata/ebcdic-at-de-a.c: Likewise.
* iconvdata/ebcdic-at-de.c: Likewise.
* iconvdata/ebcdic-ca-fr.c: Likewise.
* iconvdata/euccn.c: Likewise.
* iconvdata/eucjp.c: Likewise.
* iconvdata/euckr.c: Likewise.
* iconvdata/euctw.c: Likewise.
* iconvdata/gb2312.c: Likewise.
* iconvdata/gb2312.h: Likewise.
* iconvdata/hp-roman8.c: Likewise.
* iconvdata/iso646.c: Likewise.
* iconvdata/iso6937.c: Likewise.
* iconvdata/iso8859-1.c: Likewise.
* iconvdata/iso8859-10.c: Likewise.
* iconvdata/iso8859-2.c: Likewise.
* iconvdata/iso8859-3.c: Likewise.
* iconvdata/iso8859-4.c: Likewise.
* iconvdata/iso8859-5.c: Likewise.
* iconvdata/iso8859-6.c: Likewise.
* iconvdata/iso8859-7.c: Likewise.
* iconvdata/iso8859-8.c: Likewise.
* iconvdata/iso8859-9.c: Likewise.
* iconvdata/jis0201.c: Likewise.
* iconvdata/jis0201.h: Likewise.
* iconvdata/jis0208.c: Likewise.
* iconvdata/jis0208.h: Likewise.
* iconvdata/jis0212.c: Likewise.
* iconvdata/jis0212.h: Likewise.
* iconvdata/johab.c: Likewise.
* iconvdata/koi-8.c: Likewise.
* iconvdata/koi8-r.c: Likewise.
* iconvdata/ksc5601.c: Likewise.
* iconvdata/ksc5601.h: Likewise.
* iconvdata/latin-greek-1.c: Likewise.
* iconvdata/latin-greek.c: Likewise.
* iconvdata/run-iconv-test.sh: Likewise.
* iconvdata/sjis.c: Likewise.
* iconvdata/t61.c: Likewise.
* iconvdata/uhc.c: Likewise.
* wcsmbs/btowc.c: Likewise.
* wcsmbs/mbrtowc.c: Likewise.
* wcsmbs/mbsnrtowcs.c: Likewise.
* wcsmbs/mbsrtowcs.c: Likewise.
* wcsmbs/wcrtomb.c: Likewise.
* wcsmbs/wcsmbsload.c: Likewise.
* wcsmbs/wcsnrtombs.c: Likewise.
* wcsmbs/wcsrtombs.c: Likewise.
* wcsmbs/wctob.c: Likewise.
* iconv/loop.c: New file.
* iconv/skeleton.c: New file.
* stdlib/mblen.c: Handle empty input string correctly.
* stdlib/mbtowc.c: Likewise.
* posix/getopt.c: Various cleanups.
* sysdeps/arm/bits/setjmp.h: Add copyright text.
* sysdeps/i386/bits/setjmp.h: Likewise.
* sysdeps/m68k/bits/setjmp.h: Likewise.
* sysdeps/powerpc/bits/setjmp.h: Likewise.
* sysdeps/sparc/sparc32/bits/setjmp.h: Likewise.
* sysdeps/generic/longjmp.c: Rename function to __libc_siglongjmp
and make longjmp weak alias.
1998-04-18 20:29 Philip Blundell <Philip.Blundell@pobox.com>
* iconv/Makefile (routines): Only include gconv_dl if building for
an ELF system - dynamic linking is not available on a.out.
(CFLAGS-gconv_conf.c): Define STATIC_GCONV if omitting gconv_dl
due to above check.
* iconv/gconv_db.c: If STATIC_GCONV defined, don't try to call
routines from gconv_dl.
1998-04-17 Gordon Matzigkeit <gord@profitpress.com>
* csu/init.c (_IO_stdin_used): Protect with USE_IN_LIBIO so that
we can compile without libio.
1998-04-20 16:28 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/mach/hurd/Subdirs: Remove login.
1998-04-11 Gordon Matzigkeit <gord@profitpress.com>
* db2/compat.h: Include <errno.h>, to make sure we get the
definition of EFTYPE before we define it ourselves.
1998-04-10 Gordon Matzigkeit <gord@profitpress.com>
* sysdeps/generic/bits/socket.h: Protect against multiple inclusion.
* sysdeps/mach/hurd/bits/ioctls.h: Likewise.
Fix typo to allow inclusion from sys/ioctl.h again.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* iconvdata/*.[ch]: Clean up namespace. Optimize character lookup.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libc.map: Export __strerror_r. Remove _strerror_internal.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/generic/strcasestr.c: Undefine strcasestr, not strstr.
Also undefine __strcasestr.
1998-04-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* posix/regex.c: Rename __re_max_failures back to re_max_failures,
aliases do not work with global variables due to copy relocations.
1998-04-20 15:12 Ulrich Drepper <drepper@cygnus.com>
* manual/creature.texi: Fix type. Patch by Andreas Schwab.
1998-04-20 13:47 Ulrich Drepper <drepper@cygnus.com>
* signal/sighold.c: Include stddef.h for NULL definition.
* signal/sigrelse.c: Likewise.
* sysdeps/posix/sigignore.c: Likewise.
* sysdeps/posix/sigset.c: Likewise.
* sysdeps/posix/waitid.c: Likewise.
* sysdeps/unix/sysv/linux/rt_sigsuspend.c: Likewise.
* sysdeps/unix/sysv/linux/rt_sigtimedwait.c: Likewise.
* sysdeps/unix/sysv/linux/sigwaitinfo.c: Likewise.
* wcsmbs/mbsrtowcs.c: Include stdlib.h for MB_CUR_MAX.
Patch by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>.
1998-04-13 Mark Kettenis <kettenis@phys.uva.nl>
* login/Makefile (headers): Remove utmpx.h and bits/utmpx.h.
* login/getutent.c (getutxent): Remove alias.
* login/getutent_r.c (setutxent, pututxline, endutxent):
Remove aliases.
* login/getutid.c (getutxid): Remove alias.
* login/getutline.c (getutxline): Remove alias.
* login/utmp.h: Add prototypes for __updwtmp, __getutent,
__getutid, __getutline and __pututline.
* login/utmpx.h: Moved to ...
* sysdeps/gnu/utmpx.h: ... here. [__USE_GNU]: Define UTMPX_FILE,
UTMPX_FILENAME, WTMPX_FILE and WTMPX_FILENAME, declare utmpxname
and updwtmpx.
* login/updwtmp.c: Moved to ...
* sysdeps/generic/updwtmp.c: ... here. (updwtmp): Generalized by
allowing file name transformation.
* sysdeps/gnu/updwtmp.c: New file. Use generic implementation with
additional file name transformation.
* sysdeps/unix/sysv/linux/updwtmp.c: Likewise.
* login/utmp_file.c: Moved to ...
* sysdeps/generic/utmp_file.c: ... here. (setutent_file):
Generalized by allowing file name transformation. Do not
print error message. Library functions should not print them.
Reported by Jim Meyering.
* sysdeps/gnu/utmp_file.c: New file. Use generic implementation
with additional file name transformation.
* sysdeps/unix/sysv/linux/utmp_file.c: Likewise.
* sysdeps/gnu/Makefile [$(subdir)=login] (sysdep_routines): Add
setutxent, getutxent, endutxent, getutxid, getutxid, getutxline,
pututxline, utmpxname and updwtmpx. (sysdep_headers): Add utmpx.h
and bits/utmpx.h.
* sysdeps/gnu/bits/utmpx.h [__USE_GNU] Include paths.h.
(_PATH_UTMPX): Define to _PATH_UTMP. (_PATH_WTMPX): Define to
_PATH_WTMPX. (RUN_LVL): Define only if __USE_GNU. (ACCOUNTING):
Define if __USE_GNU.
* sysdeps/gnu/setutxent.c: New file.
* sysdeps/gnu/getutxent.c: New file.
* sysdeps/gnu/endutxent.c: New file.
* sysdeps/gnu/getutxid.c: New file.
* sysdeps/gnu/getutxline.c: New file.
* sysdeps/gnu/pututxline.c: New file.
* sysdeps/gnu/utmpxname.c: New file.
* sysdeps/gnu/updwtmpx.c: New file.
* sysdeps/unix/sysv/linux/paths.h (_PATH_UTMP_DB): Remove.
* sysdeps/generic/bits/utmpx.h: Remove.
1998-04-20 Ulrich Drepper <drepper@cygnus.com>
* posix/wordexp-test.c (main): Initialize ifs element of ts for
~root test.
1998-04-17 07:53 H.J. Lu <hjl@gnu.org>
* sysdeps/unix/sysv/linux/i386/s_pread64.S: Fix a typo.
1998-04-17 11:32 Ulrich Drepper <drepper@cygnus.com>
* libio/oldfileops.c (_IO_old_file_seekoff): Define temporary st
variable using _G_stat64.
* libio/fileops.c: Remove macro definition of fstat, it is in the
global header.
Reported by Thorsten Kukuk <kukuk@weber.uni-paderborn.de>.
1998-04-17 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/strlen.S: New file, based on code by Matthew Wilcox
<willy@odie.barnet.ac.uk>.
1998-04-16 Philip Blundell <Philip.Blundell@pobox.com>
* inet/netinet/in.h (IN6_IS_ADDR_MC_NODELOCAL): New macro,
required by IPv6 Basic API.
(IN6_IS_ADDR_MC_LINKLOCAL): Likewise.
(IN6_IS_ADDR_MC_SITELOCAL): Likewise.
(IN6_IS_ADDR_MC_ORGLOCAL): Likewise.
(IN6_IS_ADDR_MC_GLOBAL): Likewise.
1998-04-21 02:41:05 +08:00
|
|
|
|
|
|
|
#endif /* bits/socket.h */
|