2024-01-01 18:12:26 +00:00
|
|
|
/* Copyright (C) 1991-2024 Free Software Foundation, Inc.
|
1996-11-15 04:08:00 +00:00
|
|
|
This file is part of the GNU C Library.
|
|
|
|
|
1997-06-23 21:55:26 +00:00
|
|
|
The GNU C Library is free software; you can redistribute it and/or
|
2001-07-06 04:58:11 +00: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.
|
1996-11-15 04:08:00 +00: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
|
1997-06-23 21:55:26 +00:00
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
2001-07-06 04:58:11 +00:00
|
|
|
Lesser General Public License for more details.
|
1996-11-15 04:08:00 +00:00
|
|
|
|
2001-07-06 04:58:11 +00:00
|
|
|
You should have received a copy of the GNU Lesser General Public
|
2012-02-09 23:18:22 +00:00
|
|
|
License along with the GNU C Library; if not, see
|
Prefer https to http for gnu.org and fsf.org URLs
Also, change sources.redhat.com to sourceware.org.
This patch was automatically generated by running the following shell
script, which uses GNU sed, and which avoids modifying files imported
from upstream:
sed -ri '
s,(http|ftp)(://(.*\.)?(gnu|fsf|sourceware)\.org($|[^.]|\.[^a-z])),https\2,g
s,(http|ftp)(://(.*\.)?)sources\.redhat\.com($|[^.]|\.[^a-z]),https\2sourceware.org\4,g
' \
$(find $(git ls-files) -prune -type f \
! -name '*.po' \
! -name 'ChangeLog*' \
! -path COPYING ! -path COPYING.LIB \
! -path manual/fdl-1.3.texi ! -path manual/lgpl-2.1.texi \
! -path manual/texinfo.tex ! -path scripts/config.guess \
! -path scripts/config.sub ! -path scripts/install-sh \
! -path scripts/mkinstalldirs ! -path scripts/move-if-change \
! -path INSTALL ! -path locale/programs/charmap-kw.h \
! -path po/libc.pot ! -path sysdeps/gnu/errlist.c \
! '(' -name configure \
-execdir test -f configure.ac -o -f configure.in ';' ')' \
! '(' -name preconfigure \
-execdir test -f preconfigure.ac ';' ')' \
-print)
and then by running 'make dist-prepare' to regenerate files built
from the altered files, and then executing the following to cleanup:
chmod a+x sysdeps/unix/sysv/linux/riscv/configure
# Omit irrelevant whitespace and comment-only changes,
# perhaps from a slightly-different Autoconf version.
git checkout -f \
sysdeps/csky/configure \
sysdeps/hppa/configure \
sysdeps/riscv/configure \
sysdeps/unix/sysv/linux/csky/configure
# Omit changes that caused a pre-commit check to fail like this:
# remote: *** error: sysdeps/powerpc/powerpc64/ppc-mcount.S: trailing lines
git checkout -f \
sysdeps/powerpc/powerpc64/ppc-mcount.S \
sysdeps/unix/sysv/linux/s390/s390-64/syscall.S
# Omit change that caused a pre-commit check to fail like this:
# remote: *** error: sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: last line does not end in newline
git checkout -f sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S
2019-09-07 05:40:42 +00:00
|
|
|
<https://www.gnu.org/licenses/>. */
|
1995-02-18 01:27:10 +00:00
|
|
|
|
|
|
|
#ifndef _NETINET_IN_H
|
|
|
|
#define _NETINET_IN_H 1
|
1997-06-21 02:59:26 +00:00
|
|
|
|
1995-02-18 01:27:10 +00:00
|
|
|
#include <features.h>
|
Fix network headers stdint.h namespace (bug 21455).
conform/ namespace tests of arpa/inet.h, netdb.h and netinet/in.h fail
for UNIX98 and XPG42 because of inclusion of stdint.h, which defines
macros not permitted in those headers for those standards. UNIX98
allows them to include inttypes.h, but (predating C99) has restricted
inttypes.h contents (not yet tested in the conform/ tests) not
including those macros; XPG4.2 has no such permission and no
inttypes.h / stdint.h at all.
This patch rearranges the headers to avoid this issue. intN_t
definitions move to bits/stdint-intn.h, and uintN_t definitions to
bits/stdint-uintn.h. (These are not bits/types/ headers because they
each define four types. They are separate rather than just a single
header because sys/types.h defines intN_t but u_intN_t rather than
uintN_t - and while sys/types.h could define uintN_t because of the
POSIX reservation of *_t, existing practice there is largely to
condition types on appropriate feature test macros, and indeed there
is at least one open bug report (14553) about a type that's not
so-conditioned, so maybe types there should actually have conditions
added where appropriate.) The affected network headers are then made
to include bits/stdint-uintn.h instead of stdint.h. This allows six
XFAILs to be removed.
This doesn't do anything about inttypes.h defining more than it should
for UNIX98, but we don't have conformtest expectations for that case
at present (and my inclination is that a fix for that should be as
local as possible - affecting only inttypes.h, not stdint.h, only for
the case of __USE_UNIX98 && !__USE_ISOC99).
Tested for x86_64.
[BZ #21455]
* bits/stdint-intn.h: New file.
* bits/stdint-uintn.h: Likewise.
* stdlib/Makefile (headers): Add bits/stdint-intn.h and
bits/stdint-uintn.h.
* inet/netinet/in.h: Include <bits/stdint-uintn.h> instead of
<stdint.h>.
* posix/sys/types.h: Include <bits/stdint-intn.h>.
(__int8_t_defined): Do not define here.
(int8_t): Likewise.
(int16_t): Likewise.
(int32_t): Likewise.
(int64_t): Likewise.
[__GNUC_PREREQ (2, 7)] (__intN_t): Likewise.
* resolv/netdb.h: Include <bits/stdint-uintn.h> instead of
<stdint.h>.
* include/netdb.h [_ISOMAC]: Do not include <stdint.h>.
* sysdeps/generic/stdint.h: Include <bits/stdint-intn.h> and
<bits/stdint-uintn.h>.
(int8_t): Do not define here.
(int16_t): Likewise.
(int32_t): Likewise.
(int64_t): Likewise.
(uint8_t): Likewise.
(uint16_t): Likewise.
(uint32_t): Likewise.
(uint64_t): Likewise.
* conform/Makefile (test-xfail-XPG42/arpa/inet.h/conform): Remove
variable.
(test-xfail-XPG42/netdb.h/conform): Likewise.
(test-xfail-XPG42/netinet/in.h/conform): Likewise.
(test-xfail-UNIX98/arpa/inet.h/conform): Likewise.
(test-xfail-UNIX98/netdb.h/conform): Likewise.
(test-xfail-UNIX98/netinet/in.h/conform): Likewise.
2017-05-04 20:36:42 +00:00
|
|
|
#include <bits/stdint-uintn.h>
|
2003-06-14 08:39:08 +00:00
|
|
|
#include <sys/socket.h>
|
2001-01-28 22:44:38 +00:00
|
|
|
#include <bits/types.h>
|
update from main archive 961211
Thu Dec 12 03:32:21 1996 Ulrich Drepper <drepper@cygnus.com>
* libio/_G_config.h: Add definition of _G_int16_t, _G_int32_t,
_G_uint16_t, _G_uin32_t, _G_HAVE_BOOL, _G_HAVE_MMAP, and
_G_ARGS.
Change libio buffer handling to allocate internal buffers using
mmap if possible.
* libio/filedoalloc.c (_IO_file_doallocate): Change call to
ALLOC_BUF.
* libio/genops.c (_IO_setb, _IO_default_finish): Change call
to FREE_BUF.
(_IO_default_doallocate): Change call to ALLOC_BUF.
* libio/libioP.h: Change definition of ALLOC_BUF and FREE_BUF
to use mmap/munmap when possible.
* libio/memstream.c: Don't use ALLOC_BUF, but directly malloc.
* libio/vasprintf.c: Likewise.
Patch by HJ Lu.
* libio/libio.h: Define NULL as __null only for gcc-2.8 and up.
* libio/libioP.h: Likewise.
* libio/fileops.c (_IO_file_read, _IO_file_write): Don't
restart syscall when EINTR was returned. Necessary for POSIX.1.
* libio/strops.c (_IO_str_overflow): Add cast to prevent warning.
* new-malloc/malloc.c (heap_trim): Correctly place parentheses to
prevent warnings.
* nis/Makefile: Remove rules for bsd-tools which are not part
of glibc.
Patch by Thorsten Kukuk.
* nis/ypclnt.c: Add prototype for xdr_free.
Add const to first parameter for __yp_bind.
* nis/nss_compat/compat-pwd.c (getpwent_next_netgr, getpwent_next_nis,
getpwent_next_file): Variable `p2len' must have type size_t.
* nis/nss_nis/nis-alias.c: Add casts to prevent warnings.
* nis/nss_nis/nis-ethers.c: Likewise.
* nis/nss_nis/nis-grp.c: Likewise.
* nis/nss_nis/nis-hosts.c: Likewise.
* nis/nss_nis/nis-network.c: Likewise.
* nis/nss_nis/nis-proto.c: Likewise.
* nis/nss_nis/nis-pwd.c: Likewise.
* nis/nss_nis/nis-rpc.c: Likewise.
* nis/nss_nis/nis-service.c: Likewise.
* nis/nss_nis/nis-spwd.c: Likewise.
* nis/rpcsvc/yp_prot.h (ypreq_key): Change type of members to
`const char *'.
(ypmaplist): Change member names to `map' and `next' and provide
#defines for old names.
Patch by Thorsten Kukuk.
* nss/nss_files/files-parse.c (parse_line, parse_list): Change
type for `datalen' parameter to size_t.
* shsdow/lckpwdf.c: Use fcntl forlocking, not flock.
* stdio-common/printf.c [USE_IN_LIBIO]: Provide alias _IO_printf
for printf.
* stdio-common/sscanf.c [USE_IN_LIBIO]: Provide alias _IO_sscanf
for sscanf.
Patch by HJ Lu.
* stdio-common/tmpfile.c: Update copyright.
* stdio-common/vfscanf.c: Correctly handle EINTR error from fgetc
function.
Don't eat white space for `C' format.
* stdlib/tst-strtol.c [~0UL != 0xffffffff]: Fix typo in test data.
* sysdeps/generic/abort.c: Update copyright. De-ANSI-declfy.
* sysdeps/i386/abort.c: Removed. This version does not use
signal SIGABRT.
* sysdeps/i386/fpu/__math.h: Define __NO_MATH_INLINES if not using
gcc-2.8 or up.
Patch by HJ Lu.
* sysdeps/posix/tempname.c: Test for error but EEXIST after open
call. If EMFILE, ENFILE, or EINTR return with error.
Wed Dec 11 14:43:52 1996 Ulrich Drepper <drepper@cygnus.com>
* gnu-versions.h: Set _GNU_OBSTACK_INTERFACE_VERSION back to 1.
We are compatible again.
* new-malloc/obstack.h (struct obstack): Add back alloc_failed bit
even though it is not used.
* malloc/obstack.h: Likewise.
* new-malloc/obstack.c (_obstack_begin, _obstack_begin_1): Initialize
alloc_failed bit to 0.
* time/strftime.c: Extend for Emacs' needs. Recognize field width,
%P format and `0' modifier.
Tue Dec 10 21:20:44 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules (make-link): Don't discard exit codes of intermediate
commands. Always use rellns-sh if symbolic links are available.
Tue Dec 10 20:09:51 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/netinet/in.h: Enclose #include
<linux/in.h> in __BEGIN_DECLS/__END_DECLS to avoid linkage
conflict of ntohs etc. in <asm/byteorder.h>.
1996-12-12 03:24:48 +00:00
|
|
|
|
1995-02-18 01:27:10 +00:00
|
|
|
|
1997-02-19 04:43:53 +00:00
|
|
|
__BEGIN_DECLS
|
|
|
|
|
2013-09-06 05:02:30 +00:00
|
|
|
/* Internet address. */
|
|
|
|
typedef uint32_t in_addr_t;
|
|
|
|
struct in_addr
|
|
|
|
{
|
|
|
|
in_addr_t s_addr;
|
|
|
|
};
|
|
|
|
|
|
|
|
/* Get system-specific definitions. */
|
|
|
|
#include <bits/in.h>
|
|
|
|
|
1997-01-06 22:07:28 +00:00
|
|
|
/* Standard well-defined IP protocols. */
|
|
|
|
enum
|
|
|
|
{
|
1997-07-28 22:35:20 +00:00
|
|
|
IPPROTO_IP = 0, /* Dummy protocol for TCP. */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_IP IPPROTO_IP
|
1997-07-28 22:35:20 +00:00
|
|
|
IPPROTO_ICMP = 1, /* Internet Control Message Protocol. */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_ICMP IPPROTO_ICMP
|
1997-07-28 22:35:20 +00:00
|
|
|
IPPROTO_IGMP = 2, /* Internet Group Management Protocol. */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_IGMP IPPROTO_IGMP
|
1997-07-28 22:35:20 +00:00
|
|
|
IPPROTO_IPIP = 4, /* IPIP tunnels (older KA9Q tunnels use 94). */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_IPIP IPPROTO_IPIP
|
1997-07-28 22:35:20 +00:00
|
|
|
IPPROTO_TCP = 6, /* Transmission Control Protocol. */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_TCP IPPROTO_TCP
|
1997-07-28 22:35:20 +00:00
|
|
|
IPPROTO_EGP = 8, /* Exterior Gateway Protocol. */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_EGP IPPROTO_EGP
|
1997-07-28 22:35:20 +00:00
|
|
|
IPPROTO_PUP = 12, /* PUP protocol. */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_PUP IPPROTO_PUP
|
1997-07-28 22:35:20 +00:00
|
|
|
IPPROTO_UDP = 17, /* User Datagram Protocol. */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_UDP IPPROTO_UDP
|
1997-07-28 22:35:20 +00:00
|
|
|
IPPROTO_IDP = 22, /* XNS IDP protocol. */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_IDP IPPROTO_IDP
|
1998-11-12 18:03:43 +00:00
|
|
|
IPPROTO_TP = 29, /* SO Transport Protocol Class 4. */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_TP IPPROTO_TP
|
2008-05-14 17:33:37 +00:00
|
|
|
IPPROTO_DCCP = 33, /* Datagram Congestion Control Protocol. */
|
|
|
|
#define IPPROTO_DCCP IPPROTO_DCCP
|
1997-07-28 22:35:20 +00:00
|
|
|
IPPROTO_IPV6 = 41, /* IPv6 header. */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_IPV6 IPPROTO_IPV6
|
1998-11-12 18:03:43 +00:00
|
|
|
IPPROTO_RSVP = 46, /* Reservation Protocol. */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_RSVP IPPROTO_RSVP
|
1998-11-12 18:03:43 +00:00
|
|
|
IPPROTO_GRE = 47, /* General Routing Encapsulation. */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_GRE IPPROTO_GRE
|
1997-07-28 22:35:20 +00:00
|
|
|
IPPROTO_ESP = 50, /* encapsulating security payload. */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_ESP IPPROTO_ESP
|
1997-07-28 22:35:20 +00:00
|
|
|
IPPROTO_AH = 51, /* authentication header. */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_AH IPPROTO_AH
|
1998-11-12 18:03:43 +00:00
|
|
|
IPPROTO_MTP = 92, /* Multicast Transport Protocol. */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_MTP IPPROTO_MTP
|
2013-09-06 05:02:30 +00:00
|
|
|
IPPROTO_BEETPH = 94, /* IP option pseudo header for BEET. */
|
|
|
|
#define IPPROTO_BEETPH IPPROTO_BEETPH
|
1998-11-12 18:03:43 +00:00
|
|
|
IPPROTO_ENCAP = 98, /* Encapsulation Header. */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_ENCAP IPPROTO_ENCAP
|
1998-11-12 18:03:43 +00:00
|
|
|
IPPROTO_PIM = 103, /* Protocol Independent Multicast. */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_PIM IPPROTO_PIM
|
1999-08-28 22:34:29 +00:00
|
|
|
IPPROTO_COMP = 108, /* Compression Header Protocol. */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_COMP IPPROTO_COMP
|
2023-01-17 20:41:04 +00:00
|
|
|
IPPROTO_L2TP = 115, /* Layer 2 Tunnelling Protocol. */
|
|
|
|
#define IPPROTO_L2TP IPPROTO_L2TP
|
2003-03-25 01:14:36 +00:00
|
|
|
IPPROTO_SCTP = 132, /* Stream Control Transmission Protocol. */
|
|
|
|
#define IPPROTO_SCTP IPPROTO_SCTP
|
2008-05-14 17:33:37 +00:00
|
|
|
IPPROTO_UDPLITE = 136, /* UDP-Lite protocol. */
|
|
|
|
#define IPPROTO_UDPLITE IPPROTO_UDPLITE
|
2015-09-01 13:47:25 +00:00
|
|
|
IPPROTO_MPLS = 137, /* MPLS in IP. */
|
|
|
|
#define IPPROTO_MPLS IPPROTO_MPLS
|
2020-04-03 18:08:28 +00:00
|
|
|
IPPROTO_ETHERNET = 143, /* Ethernet-within-IPv6 Encapsulation. */
|
|
|
|
#define IPPROTO_ETHERNET IPPROTO_ETHERNET
|
1997-07-28 22:35:20 +00:00
|
|
|
IPPROTO_RAW = 255, /* Raw IP packets. */
|
2001-01-27 03:03:05 +00:00
|
|
|
#define IPPROTO_RAW IPPROTO_RAW
|
2020-04-03 18:08:28 +00:00
|
|
|
IPPROTO_MPTCP = 262, /* Multipath TCP connection. */
|
|
|
|
#define IPPROTO_MPTCP IPPROTO_MPTCP
|
1997-01-06 22:07:28 +00:00
|
|
|
IPPROTO_MAX
|
|
|
|
};
|
|
|
|
|
2016-06-03 03:30:11 +00:00
|
|
|
/* If __USE_KERNEL_IPV6_DEFS is 1 then the user has included the kernel
|
2013-09-06 05:02:30 +00:00
|
|
|
network headers first and we should use those ABI-identical definitions
|
2016-06-03 03:30:11 +00:00
|
|
|
instead of our own, otherwise 0. */
|
|
|
|
#if !__USE_KERNEL_IPV6_DEFS
|
2013-09-06 05:02:30 +00:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
IPPROTO_HOPOPTS = 0, /* IPv6 Hop-by-Hop options. */
|
|
|
|
#define IPPROTO_HOPOPTS IPPROTO_HOPOPTS
|
|
|
|
IPPROTO_ROUTING = 43, /* IPv6 routing header. */
|
|
|
|
#define IPPROTO_ROUTING IPPROTO_ROUTING
|
|
|
|
IPPROTO_FRAGMENT = 44, /* IPv6 fragmentation header. */
|
|
|
|
#define IPPROTO_FRAGMENT IPPROTO_FRAGMENT
|
|
|
|
IPPROTO_ICMPV6 = 58, /* ICMPv6. */
|
|
|
|
#define IPPROTO_ICMPV6 IPPROTO_ICMPV6
|
|
|
|
IPPROTO_NONE = 59, /* IPv6 no next header. */
|
|
|
|
#define IPPROTO_NONE IPPROTO_NONE
|
|
|
|
IPPROTO_DSTOPTS = 60, /* IPv6 destination options. */
|
|
|
|
#define IPPROTO_DSTOPTS IPPROTO_DSTOPTS
|
2014-02-06 16:12:48 +00:00
|
|
|
IPPROTO_MH = 135 /* IPv6 mobility header. */
|
2013-09-06 05:02:30 +00:00
|
|
|
#define IPPROTO_MH IPPROTO_MH
|
|
|
|
};
|
|
|
|
#endif /* !__USE_KERNEL_IPV6_DEFS */
|
2000-04-02 03:09:41 +00:00
|
|
|
|
|
|
|
/* Type to represent a port. */
|
|
|
|
typedef uint16_t in_port_t;
|
|
|
|
|
1997-01-06 22:07:28 +00:00
|
|
|
/* Standard well-known ports. */
|
1995-02-18 01:27:10 +00:00
|
|
|
enum
|
|
|
|
{
|
|
|
|
IPPORT_ECHO = 7, /* Echo service. */
|
|
|
|
IPPORT_DISCARD = 9, /* Discard transmissions service. */
|
|
|
|
IPPORT_SYSTAT = 11, /* System status service. */
|
|
|
|
IPPORT_DAYTIME = 13, /* Time of day service. */
|
|
|
|
IPPORT_NETSTAT = 15, /* Network status service. */
|
|
|
|
IPPORT_FTP = 21, /* File Transfer Protocol. */
|
|
|
|
IPPORT_TELNET = 23, /* Telnet protocol. */
|
|
|
|
IPPORT_SMTP = 25, /* Simple Mail Transfer Protocol. */
|
|
|
|
IPPORT_TIMESERVER = 37, /* Timeserver service. */
|
|
|
|
IPPORT_NAMESERVER = 42, /* Domain Name Service. */
|
1995-12-16 15:32:59 +00:00
|
|
|
IPPORT_WHOIS = 43, /* Internet Whois service. */
|
1995-02-18 01:27:10 +00:00
|
|
|
IPPORT_MTP = 57,
|
|
|
|
|
|
|
|
IPPORT_TFTP = 69, /* Trivial File Transfer Protocol. */
|
|
|
|
IPPORT_RJE = 77,
|
|
|
|
IPPORT_FINGER = 79, /* Finger service. */
|
|
|
|
IPPORT_TTYLINK = 87,
|
|
|
|
IPPORT_SUPDUP = 95, /* SUPDUP protocol. */
|
|
|
|
|
|
|
|
|
|
|
|
IPPORT_EXECSERVER = 512, /* execd service. */
|
|
|
|
IPPORT_LOGINSERVER = 513, /* rlogind service. */
|
|
|
|
IPPORT_CMDSERVER = 514,
|
|
|
|
IPPORT_EFSSERVER = 520,
|
|
|
|
|
|
|
|
/* UDP ports. */
|
|
|
|
IPPORT_BIFFUDP = 512,
|
|
|
|
IPPORT_WHOSERVER = 513,
|
|
|
|
IPPORT_ROUTESERVER = 520,
|
|
|
|
|
|
|
|
/* Ports less than this value are reserved for privileged processes. */
|
|
|
|
IPPORT_RESERVED = 1024,
|
|
|
|
|
|
|
|
/* Ports greater this value are reserved for (non-privileged) servers. */
|
Sun May 26 15:15:08 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* stdlib/ldiv.c: Deansideclized.
Sun May 26 19:39:53 1996 Ulrich Drepper <drepper@cygnus.com>
* intl/loadmsgcat.c (_nl_load_domain): Test correct variable
after malloc.
* string/Makefile (tester-ENV): New variable to suppress message
translation in test.
* string/tester.c: Add tests for strtok_r and strsep.
* sysdeps/i386/i486/strcat.S: Correct some more 8bit operation
<-> 32 bit operand conflicts.
* sysdeps/i386/strsep.S: Wrapper around <sysdeps/i386/strtok.S>
to produce strsep function.
* sysdeps/i386/strtok.S: Optimized implementation of strtok
function.
* sysdeps/i386/strtok_r.S: Wrapper around <sysdeps/i386/strtok.S>
to produce strtok_r function.
* sysdeps/generic/strtok.c: Moved here from string/strtok.c.
Corrected example in comment.
* string/Makefile (routines): Add strtok_r.
* sysdeps/generic/strtok_r.c: New file. Implement reentrant version
of strtok_r.
* string/string.h: Add prototype for strtok_r.
* wcsmbs/wcstok.c: Handle illegal SAVE_PTR argument the same
as in strtok_r.
Sun May 26 13:28:23 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* time/tzset.c (__tzset): Ignore leading : in $TZ; always try tzfile
first and fall back to 1003.1 syntax only if it fails.
* time/Makefile (install-others): Also install posix/ZONE and
right/ZONE for each ZONE in $(zonenames).
(z.% rule): Generate rules for right/ZONE and posix/ZONE targets too,
the difference begin leapseconds vs /dev/null as 3rd dep. For
original ZONE targets use $(leapseconds), to be set in Makeconfig.
(target-zone-flavor): New variable.
(tzcompile): Use it to get the right -d for posix/ and right/ flavors.
* Makeconfig (leapseconds): New variable.
* mach/Machrules (%.udeps rule): Depend on Machrules.
Emit deps for .uh and .__h files.
(%.uh, %.__h rules): Don't depend on %.defs; use #include <$*.defs>
instead.
Sun May 26 01:06:47 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/Makefile (routines): Add llabs, lldiv.
* stdlib/llabs.c: New file. Implementation of return
absolute value of long long argument.
* stdlib/lldiv.c: New file. Implementation of division with remainder
of long long argument.
* stdlib/stdlib.h [__USE_GNU] (lldiv_t): New type for lldiv
function.
Define prototypes for lldiv and llabs functions.
* locale/C-collate.c: Initialize _NL_COLLATE_NRULES element.
* stdlib/strtod.c: Replace wchar_t with wint_t. The later is
really the type for a single wide character.
* string/strxfrm.c (print_val): Define separate version for
use as wcsxfrm. Here we don't need UTF8 encoding.
* wcsmbs/wchar.h: gcc-2.7.2-960517 finally introduces wint_t
in <stddef.h>. Use this value and only for older gcc version
define in place.
(uwchar_t): Remove definition.
* wcsmbs/wcscmp.c, wcsmbs/wcscoll.c, wcsmbs/wcsncmp.c,
wcsmbs/wcsxfrm.c, wcsmbs/wmemcmp.c: : Don't use uwchar_t as unsigned
type. wint_t is intended for this.
Sat May 25 14:10:19 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* sysdeps/unix/bsd/direntry.h: Use [1] instead of [0] for d_name to
quiet -ansi -pedantic.
* sysdeps/unix/common/direntry.h: Likewise.
* login/Makefile (headers): Add lastlog.h.
* login/lastlog.h: New file.
* login/Makefile (CFLAGS): Don't append -D_THREAD_SAFE.
* login/utmp.h [_REENTRANT || _THREAD_SAFE]: Replace this conditional
with #ifdef __USE_REENTRANT.
* features.h (__GNU_LIBRARY__): Set to 6.
[_GNU_SOURCE] (_POSIX_SOURCE, _POSIX_C_SOURCE, _BSD_SOURCE,
_SVID_SOURCE): Make sure they are all defined.
* sysdeps/unix/sysv/linux/gnu/types.h: Instead of including
<linux/posix_types.h>, define _LINUX_TYPES_DONT_EXPORT and then
include <linux/types.h>.
* resource/sys/resource.h: Remove trailing commas from enums.
* sysdeps/generic/netinet/in.h: Remove trailing commas from enums.
* sysdeps/unix/sysv/linux/netinet/in.h: Likewise.
1996-05-26 19:19:51 +00:00
|
|
|
IPPORT_USERRESERVED = 5000
|
1995-02-18 01:27:10 +00:00
|
|
|
};
|
|
|
|
|
1997-01-06 22:07:28 +00:00
|
|
|
/* Definitions of the bits in an Internet address integer.
|
|
|
|
|
|
|
|
On subnets, host and network parts are found according to
|
|
|
|
the subnet mask, not these masks. */
|
|
|
|
|
2000-04-02 03:09:41 +00:00
|
|
|
#define IN_CLASSA(a) ((((in_addr_t)(a)) & 0x80000000) == 0)
|
1997-01-06 22:07:28 +00:00
|
|
|
#define IN_CLASSA_NET 0xff000000
|
|
|
|
#define IN_CLASSA_NSHIFT 24
|
|
|
|
#define IN_CLASSA_HOST (0xffffffff & ~IN_CLASSA_NET)
|
|
|
|
#define IN_CLASSA_MAX 128
|
|
|
|
|
2000-04-02 03:09:41 +00:00
|
|
|
#define IN_CLASSB(a) ((((in_addr_t)(a)) & 0xc0000000) == 0x80000000)
|
1997-01-06 22:07:28 +00:00
|
|
|
#define IN_CLASSB_NET 0xffff0000
|
|
|
|
#define IN_CLASSB_NSHIFT 16
|
|
|
|
#define IN_CLASSB_HOST (0xffffffff & ~IN_CLASSB_NET)
|
|
|
|
#define IN_CLASSB_MAX 65536
|
|
|
|
|
2000-04-02 03:09:41 +00:00
|
|
|
#define IN_CLASSC(a) ((((in_addr_t)(a)) & 0xe0000000) == 0xc0000000)
|
1997-01-06 22:07:28 +00:00
|
|
|
#define IN_CLASSC_NET 0xffffff00
|
|
|
|
#define IN_CLASSC_NSHIFT 8
|
|
|
|
#define IN_CLASSC_HOST (0xffffffff & ~IN_CLASSC_NET)
|
|
|
|
|
2000-04-02 03:09:41 +00:00
|
|
|
#define IN_CLASSD(a) ((((in_addr_t)(a)) & 0xf0000000) == 0xe0000000)
|
1997-01-06 22:07:28 +00:00
|
|
|
#define IN_MULTICAST(a) IN_CLASSD(a)
|
|
|
|
|
2000-04-02 03:09:41 +00:00
|
|
|
#define IN_EXPERIMENTAL(a) ((((in_addr_t)(a)) & 0xe0000000) == 0xe0000000)
|
|
|
|
#define IN_BADCLASS(a) ((((in_addr_t)(a)) & 0xf0000000) == 0xf0000000)
|
1997-01-06 22:07:28 +00:00
|
|
|
|
|
|
|
/* Address to accept any incoming messages. */
|
2000-04-02 03:09:41 +00:00
|
|
|
#define INADDR_ANY ((in_addr_t) 0x00000000)
|
1997-01-06 22:07:28 +00:00
|
|
|
/* Address to send to all hosts. */
|
2000-04-02 03:09:41 +00:00
|
|
|
#define INADDR_BROADCAST ((in_addr_t) 0xffffffff)
|
1997-01-06 22:07:28 +00:00
|
|
|
/* Address indicating an error return. */
|
2000-04-02 03:09:41 +00:00
|
|
|
#define INADDR_NONE ((in_addr_t) 0xffffffff)
|
2021-08-05 20:12:56 +00:00
|
|
|
/* Dummy address for source of ICMPv6 errors converted to IPv4 (RFC
|
|
|
|
7600). */
|
|
|
|
#define INADDR_DUMMY ((in_addr_t) 0xc0000008)
|
1997-01-06 22:07:28 +00:00
|
|
|
|
|
|
|
/* Network number for local host loopback. */
|
1998-03-29 21:51:33 +00:00
|
|
|
#define IN_LOOPBACKNET 127
|
1997-01-06 22:07:28 +00:00
|
|
|
/* Address to loopback in software to local host. */
|
|
|
|
#ifndef INADDR_LOOPBACK
|
2000-04-02 03:09:41 +00:00
|
|
|
# define INADDR_LOOPBACK ((in_addr_t) 0x7f000001) /* Inet 127.0.0.1. */
|
1997-01-06 22:07:28 +00:00
|
|
|
#endif
|
|
|
|
|
1998-05-14 19:14:48 +00:00
|
|
|
/* Defines for Multicast INADDR. */
|
2000-04-02 03:09:41 +00:00
|
|
|
#define INADDR_UNSPEC_GROUP ((in_addr_t) 0xe0000000) /* 224.0.0.0 */
|
|
|
|
#define INADDR_ALLHOSTS_GROUP ((in_addr_t) 0xe0000001) /* 224.0.0.1 */
|
|
|
|
#define INADDR_ALLRTRS_GROUP ((in_addr_t) 0xe0000002) /* 224.0.0.2 */
|
2019-06-03 11:16:02 +00:00
|
|
|
#define INADDR_ALLSNOOPERS_GROUP ((in_addr_t) 0xe000006a) /* 224.0.0.106 */
|
2000-04-02 03:09:41 +00:00
|
|
|
#define INADDR_MAX_LOCAL_GROUP ((in_addr_t) 0xe00000ff) /* 224.0.0.255 */
|
1998-05-14 19:14:48 +00:00
|
|
|
|
2016-06-03 03:30:11 +00:00
|
|
|
#if !__USE_KERNEL_IPV6_DEFS
|
1997-02-19 04:43:53 +00:00
|
|
|
/* IPv6 address */
|
|
|
|
struct in6_addr
|
|
|
|
{
|
|
|
|
union
|
|
|
|
{
|
2008-01-16 10:11:18 +00:00
|
|
|
uint8_t __u6_addr8[16];
|
|
|
|
uint16_t __u6_addr16[8];
|
|
|
|
uint32_t __u6_addr32[4];
|
|
|
|
} __in6_u;
|
|
|
|
#define s6_addr __in6_u.__u6_addr8
|
2014-02-21 21:45:26 +00:00
|
|
|
#ifdef __USE_MISC
|
2008-01-16 10:11:18 +00:00
|
|
|
# define s6_addr16 __in6_u.__u6_addr16
|
|
|
|
# define s6_addr32 __in6_u.__u6_addr32
|
|
|
|
#endif
|
1997-02-19 04:43:53 +00:00
|
|
|
};
|
2013-09-06 05:02:30 +00:00
|
|
|
#endif /* !__USE_KERNEL_IPV6_DEFS */
|
1997-02-19 04:43:53 +00:00
|
|
|
|
|
|
|
extern const struct in6_addr in6addr_any; /* :: */
|
|
|
|
extern const struct in6_addr in6addr_loopback; /* ::1 */
|
1999-08-06 23:23:02 +00:00
|
|
|
#define IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } }
|
|
|
|
#define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
|
1997-02-19 04:43:53 +00:00
|
|
|
|
|
|
|
#define INET_ADDRSTRLEN 16
|
|
|
|
#define INET6_ADDRSTRLEN 46
|
|
|
|
|
1997-01-06 22:07:28 +00:00
|
|
|
|
|
|
|
/* Structure describing an Internet socket address. */
|
|
|
|
struct sockaddr_in
|
|
|
|
{
|
|
|
|
__SOCKADDR_COMMON (sin_);
|
2000-04-02 03:09:41 +00:00
|
|
|
in_port_t sin_port; /* Port number. */
|
1997-01-06 22:07:28 +00:00
|
|
|
struct in_addr sin_addr; /* Internet address. */
|
|
|
|
|
|
|
|
/* Pad to size of `struct sockaddr'. */
|
2019-02-25 13:19:19 +00:00
|
|
|
unsigned char sin_zero[sizeof (struct sockaddr)
|
|
|
|
- __SOCKADDR_COMMON_SIZE
|
|
|
|
- sizeof (in_port_t)
|
|
|
|
- sizeof (struct in_addr)];
|
1997-01-06 22:07:28 +00:00
|
|
|
};
|
|
|
|
|
2016-06-03 03:30:11 +00:00
|
|
|
#if !__USE_KERNEL_IPV6_DEFS
|
1997-02-19 04:43:53 +00:00
|
|
|
/* Ditto, for IPv6. */
|
|
|
|
struct sockaddr_in6
|
|
|
|
{
|
|
|
|
__SOCKADDR_COMMON (sin6_);
|
2000-04-02 03:09:41 +00:00
|
|
|
in_port_t sin6_port; /* Transport layer port # */
|
1997-07-28 22:35:20 +00:00
|
|
|
uint32_t sin6_flowinfo; /* IPv6 flow information */
|
1997-07-24 01:36:01 +00:00
|
|
|
struct in6_addr sin6_addr; /* IPv6 address */
|
2000-03-23 21:34:58 +00:00
|
|
|
uint32_t sin6_scope_id; /* IPv6 scope-id */
|
1997-02-19 04:43:53 +00:00
|
|
|
};
|
2013-09-06 05:02:30 +00:00
|
|
|
#endif /* !__USE_KERNEL_IPV6_DEFS */
|
Update.
* inet/netinet/in.h: Define struct ip_mreq and struct
ip_mreq_source.
* sysdeps/unix/sysv/linux/bits/in.h: Define IP_UNBLOCK_SOURCE,
IP_BLOCK_SOURCE, IP_ADD_SOURCE_MEMBERSHIP,
IP_DROP_SOURCE_MEMBERSHIP, IP_MSFILTER, MCAST_JOIN_GROUP,
MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, MCAST_LEAVE_GROUP,
MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP, and
MCAST_MSFILTER.
2004-07-20 07:39:10 +00:00
|
|
|
|
2014-02-21 21:45:26 +00:00
|
|
|
#ifdef __USE_MISC
|
Update.
* inet/netinet/in.h: Define struct ip_mreq and struct
ip_mreq_source.
* sysdeps/unix/sysv/linux/bits/in.h: Define IP_UNBLOCK_SOURCE,
IP_BLOCK_SOURCE, IP_ADD_SOURCE_MEMBERSHIP,
IP_DROP_SOURCE_MEMBERSHIP, IP_MSFILTER, MCAST_JOIN_GROUP,
MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, MCAST_LEAVE_GROUP,
MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP, and
MCAST_MSFILTER.
2004-07-20 07:39:10 +00:00
|
|
|
/* IPv4 multicast request. */
|
|
|
|
struct ip_mreq
|
|
|
|
{
|
|
|
|
/* IP multicast address of group. */
|
|
|
|
struct in_addr imr_multiaddr;
|
|
|
|
|
|
|
|
/* Local IP address of interface. */
|
|
|
|
struct in_addr imr_interface;
|
|
|
|
};
|
|
|
|
|
2022-08-13 21:02:51 +00:00
|
|
|
/* IPv4 multicast request with interface index. */
|
|
|
|
struct ip_mreqn
|
|
|
|
{
|
|
|
|
/* IP multicast address of group. */
|
|
|
|
struct in_addr imr_multiaddr;
|
|
|
|
|
|
|
|
/* Local IP address of interface. */
|
|
|
|
struct in_addr imr_address;
|
|
|
|
|
|
|
|
/* Interface index. */
|
|
|
|
int imr_ifindex;
|
|
|
|
};
|
|
|
|
|
Update.
* inet/netinet/in.h: Define struct ip_mreq and struct
ip_mreq_source.
* sysdeps/unix/sysv/linux/bits/in.h: Define IP_UNBLOCK_SOURCE,
IP_BLOCK_SOURCE, IP_ADD_SOURCE_MEMBERSHIP,
IP_DROP_SOURCE_MEMBERSHIP, IP_MSFILTER, MCAST_JOIN_GROUP,
MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, MCAST_LEAVE_GROUP,
MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP, and
MCAST_MSFILTER.
2004-07-20 07:39:10 +00:00
|
|
|
struct ip_mreq_source
|
|
|
|
{
|
|
|
|
/* IP multicast address of group. */
|
|
|
|
struct in_addr imr_multiaddr;
|
|
|
|
|
2017-05-03 19:35:35 +00:00
|
|
|
/* IP address of interface. */
|
Update.
* inet/netinet/in.h: Define struct ip_mreq and struct
ip_mreq_source.
* sysdeps/unix/sysv/linux/bits/in.h: Define IP_UNBLOCK_SOURCE,
IP_BLOCK_SOURCE, IP_ADD_SOURCE_MEMBERSHIP,
IP_DROP_SOURCE_MEMBERSHIP, IP_MSFILTER, MCAST_JOIN_GROUP,
MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, MCAST_LEAVE_GROUP,
MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP, and
MCAST_MSFILTER.
2004-07-20 07:39:10 +00:00
|
|
|
struct in_addr imr_interface;
|
|
|
|
|
2017-05-03 19:35:35 +00:00
|
|
|
/* IP address of source. */
|
Update.
* inet/netinet/in.h: Define struct ip_mreq and struct
ip_mreq_source.
* sysdeps/unix/sysv/linux/bits/in.h: Define IP_UNBLOCK_SOURCE,
IP_BLOCK_SOURCE, IP_ADD_SOURCE_MEMBERSHIP,
IP_DROP_SOURCE_MEMBERSHIP, IP_MSFILTER, MCAST_JOIN_GROUP,
MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, MCAST_LEAVE_GROUP,
MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP, and
MCAST_MSFILTER.
2004-07-20 07:39:10 +00:00
|
|
|
struct in_addr imr_sourceaddr;
|
|
|
|
};
|
2008-01-16 10:11:18 +00:00
|
|
|
#endif
|
|
|
|
|
2016-06-03 03:30:11 +00:00
|
|
|
#if !__USE_KERNEL_IPV6_DEFS
|
Update.
* inet/netinet/in.h: Define struct ip_mreq and struct
ip_mreq_source.
* sysdeps/unix/sysv/linux/bits/in.h: Define IP_UNBLOCK_SOURCE,
IP_BLOCK_SOURCE, IP_ADD_SOURCE_MEMBERSHIP,
IP_DROP_SOURCE_MEMBERSHIP, IP_MSFILTER, MCAST_JOIN_GROUP,
MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, MCAST_LEAVE_GROUP,
MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP, and
MCAST_MSFILTER.
2004-07-20 07:39:10 +00:00
|
|
|
/* Likewise, for IPv6. */
|
1997-02-19 04:43:53 +00:00
|
|
|
struct ipv6_mreq
|
|
|
|
{
|
|
|
|
/* IPv6 multicast address of group */
|
|
|
|
struct in6_addr ipv6mr_multiaddr;
|
|
|
|
|
1997-07-28 22:35:20 +00:00
|
|
|
/* local interface */
|
1998-12-11 15:11:44 +00:00
|
|
|
unsigned int ipv6mr_interface;
|
1997-02-19 04:43:53 +00:00
|
|
|
};
|
2013-09-06 05:02:30 +00:00
|
|
|
#endif /* !__USE_KERNEL_IPV6_DEFS */
|
Update.
* inet/netinet/in.h: Define struct ip_mreq and struct
ip_mreq_source.
* sysdeps/unix/sysv/linux/bits/in.h: Define IP_UNBLOCK_SOURCE,
IP_BLOCK_SOURCE, IP_ADD_SOURCE_MEMBERSHIP,
IP_DROP_SOURCE_MEMBERSHIP, IP_MSFILTER, MCAST_JOIN_GROUP,
MCAST_BLOCK_SOURCE, MCAST_UNBLOCK_SOURCE, MCAST_LEAVE_GROUP,
MCAST_JOIN_SOURCE_GROUP, MCAST_LEAVE_SOURCE_GROUP, and
MCAST_MSFILTER.
2004-07-20 07:39:10 +00:00
|
|
|
|
2014-02-21 21:45:26 +00:00
|
|
|
#ifdef __USE_MISC
|
2004-07-20 07:53:39 +00:00
|
|
|
/* Multicast group request. */
|
|
|
|
struct group_req
|
|
|
|
{
|
|
|
|
/* Interface index. */
|
|
|
|
uint32_t gr_interface;
|
|
|
|
|
|
|
|
/* Group address. */
|
|
|
|
struct sockaddr_storage gr_group;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct group_source_req
|
|
|
|
{
|
|
|
|
/* Interface index. */
|
|
|
|
uint32_t gsr_interface;
|
|
|
|
|
|
|
|
/* Group address. */
|
|
|
|
struct sockaddr_storage gsr_group;
|
|
|
|
|
|
|
|
/* Source address. */
|
|
|
|
struct sockaddr_storage gsr_source;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2004-08-06 04:56:04 +00:00
|
|
|
/* Full-state filter operations. */
|
|
|
|
struct ip_msfilter
|
|
|
|
{
|
|
|
|
/* IP multicast address of group. */
|
|
|
|
struct in_addr imsf_multiaddr;
|
|
|
|
|
|
|
|
/* Local IP address of interface. */
|
|
|
|
struct in_addr imsf_interface;
|
|
|
|
|
|
|
|
/* Filter mode. */
|
|
|
|
uint32_t imsf_fmode;
|
|
|
|
|
|
|
|
/* Number of source addresses. */
|
|
|
|
uint32_t imsf_numsrc;
|
|
|
|
/* Source addresses. */
|
|
|
|
struct in_addr imsf_slist[1];
|
|
|
|
};
|
|
|
|
|
|
|
|
#define IP_MSFILTER_SIZE(numsrc) (sizeof (struct ip_msfilter) \
|
|
|
|
- sizeof (struct in_addr) \
|
|
|
|
+ (numsrc) * sizeof (struct in_addr))
|
|
|
|
|
|
|
|
struct group_filter
|
|
|
|
{
|
|
|
|
/* Interface index. */
|
|
|
|
uint32_t gf_interface;
|
|
|
|
|
|
|
|
/* Group address. */
|
|
|
|
struct sockaddr_storage gf_group;
|
|
|
|
|
|
|
|
/* Filter mode. */
|
|
|
|
uint32_t gf_fmode;
|
|
|
|
|
|
|
|
/* Number of source addresses. */
|
|
|
|
uint32_t gf_numsrc;
|
|
|
|
/* Source addresses. */
|
|
|
|
struct sockaddr_storage gf_slist[1];
|
|
|
|
};
|
|
|
|
|
|
|
|
#define GROUP_FILTER_SIZE(numsrc) (sizeof (struct group_filter) \
|
|
|
|
- sizeof (struct sockaddr_storage) \
|
|
|
|
+ ((numsrc) \
|
|
|
|
* sizeof (struct sockaddr_storage)))
|
2008-01-16 10:11:18 +00:00
|
|
|
#endif
|
2004-08-06 04:56:04 +00:00
|
|
|
|
update from main archive 970226
1997-02-27 05:12 Ulrich Drepper <drepper@cygnus.com>
* manual/Makefile: Add rules to run and distribute xtract-typefun.
* manual/xtract-typefun.awk: New file. Script to extract function,
variable, macro anchor to put into the `dir' file.
* manual/signal.texi: Document difference between SysV and BSD
signal(3) function and add documentation for sysv_signal.
* sysdeps/libm-i387/e_acoshl.c: Clear upper half of word containing
exponent before comparing.
1997-02-27 01:13 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/netinet/in.h (htonl, htons, ntohl, ntohs): Change
prototypes to use types with explicit width. `unsigned long' is
different on 64 bit systems.
* sysdeps/unix/sysv/linux/netinet/in.h: Likewise.
* sysdeps/generic/htonl.c: Likewise.
* sysdeps/generic/htons.c: Likewise.
* sysdeps/generic/ntohl.c: Likewise.
* sysdeps/generic/ntohs.c: Likewise.
Suggested by a sun <asun@zoology.washington.edu>.
1997-02-26 08:30 Andreas Jaeger <aj@arthur.pfalz.de>
* math/math.h: Include <__math.h> if __NO_MATH_INLINES is not
defined and we want optimization.
1997-02-27 01:13 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/netinet/in.h (htonl, htons, ntohl, ntohs): Change
prototypes to use types with explicit width. `unsigned long' is
different on 64 bit systems.
Suggested by a sun <asun@zoology.washington.edu>.
1997-02-02 19:53 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* misc/getpass.c: Don't disable canonical input.
Reverted patch of Mon Jan 6 01:35:29 1997.
1996-12-14 22:07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libio/libioP.h (_IO_finish_t): Take additional parameter, to
match the hidden __in_chrg parameter of the destructor.
(_IO_FINISH): Pass zero for it.
* libio/genops.c (_IO_default_finish): Add second parameter, which
is ignored.
* libio/memstream.c (_IO_mem_finish): Likewise.
* libio/fileops.c (_IO_mem_finish): Likewise.
* libio/strops.c (_IO_str_finish): Likewise. All callers changed.
1997-02-27 00:23 H.J. Lu <hjl@lucon.org>
* time/Makefile: Avoid using patterns in dependencies.
1997-02-26 00:56 Miguel de Icaza <miguel@nuclecu.unam.mx>
* elf/rtld.c: Make _dl_start static. Otherwise the linker on the
SPARC will convert the call _dl_start into a call into the PLT.
* elf/rtld.c (_dl_start): On the SPARC we need to adjust the value
of arg to make it point to the actual values.
* sysdeps/sparc/elf/DEFS.h: New ELF specific version.
* sysdeps/sparc/Dist: Mention sysdeps/sparc/elf/DEFS.h.
* sysdeps/sparc/bsd-_setjmp.S, sysdeps/sparc/bsd-setjmp.S: Make
them PIC aware.
* sysdeps/sparc/dl-machine.h (elf_machine_load_address):
Implemented.
(elf_machine_rela): Make it compile; fix existing relocation
types; add unhandled relocation types.
(ELF_ADJUST_ARG): Get pointer to arguments at program startup.
(RTLD_START): Initial implementation, not yet finished.
* sysdeps/sparc/elf/start.S: Fix.
* sysdeps/sparc/fpu_control.h: Remove duplicate declaration of
__setfpucw.
* sysdeps/sparc/divrem.m4: Make compilable under Linux.
* sysdeps/sparc/rem.S, sysdeps/sparc/sdiv.S, sysdeps/sparc/udiv.S,
sysdeps/sparc/urem.S : Regenerated.
* sysdeps/sparc/setjmp.S: Make it PIC aware.
* sysdeps/unix/sysv/linux/sparc/__sigtrampoline.S: Define
__ASSEMBLY__ before using kernel header.
* sysdeps/unix/sysv/linux/sparc/Makefile: Use -mv8 flag to compile
rtld.c.
* sysdeps/unix/sysv/linux/sparc/brk.c: Implement.
* sysdeps/unix/sysv/linux/sparc/profil-counter.h: Remove code
to handle old signals.
* sysdeps/unix/sysv/linux/sparc/sigaction.c: Implements sigaction
for all Linux/SPARC kernels.
* sysdeps/unix/sysv/linux/sparc/syscall.S: Add code to store
errno using __errno_location.
* sysdeps/unix/sysv/linux/sparc/sysdep.h: Add various handler
macros for assembler sources.
* sysdeps/unix/sysv/linux/sparc/errno.c: Define errno.
1997-02-25 16:02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/rtld.c (dl_main): Remove dead code that is never executed.
Rename local variable l to main_map where it is used to point to
the load_map for the executable.
1997-02-25 15:03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/dl-version.c (_dl_check_all_versions): Ignore libraries that
could not be found.
1997-02-24 23:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Generate implicit object suffix rules automagically.
(o-iterator): Move before first use.
* Makeconfig (all-object-suffixes): Add .bo suffix.
1997-02-25 15:11 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-i387/e_acoshf.S (__ieee754_acoshf): Test correct
word on stack for overflow.
C++. Use __exception instead.
1997-02-27 06:01:16 +00:00
|
|
|
/* Functions to convert between host and network byte order.
|
1995-02-18 01:27:10 +00:00
|
|
|
|
update from main archive 970226
1997-02-27 05:12 Ulrich Drepper <drepper@cygnus.com>
* manual/Makefile: Add rules to run and distribute xtract-typefun.
* manual/xtract-typefun.awk: New file. Script to extract function,
variable, macro anchor to put into the `dir' file.
* manual/signal.texi: Document difference between SysV and BSD
signal(3) function and add documentation for sysv_signal.
* sysdeps/libm-i387/e_acoshl.c: Clear upper half of word containing
exponent before comparing.
1997-02-27 01:13 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/netinet/in.h (htonl, htons, ntohl, ntohs): Change
prototypes to use types with explicit width. `unsigned long' is
different on 64 bit systems.
* sysdeps/unix/sysv/linux/netinet/in.h: Likewise.
* sysdeps/generic/htonl.c: Likewise.
* sysdeps/generic/htons.c: Likewise.
* sysdeps/generic/ntohl.c: Likewise.
* sysdeps/generic/ntohs.c: Likewise.
Suggested by a sun <asun@zoology.washington.edu>.
1997-02-26 08:30 Andreas Jaeger <aj@arthur.pfalz.de>
* math/math.h: Include <__math.h> if __NO_MATH_INLINES is not
defined and we want optimization.
1997-02-27 01:13 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/netinet/in.h (htonl, htons, ntohl, ntohs): Change
prototypes to use types with explicit width. `unsigned long' is
different on 64 bit systems.
Suggested by a sun <asun@zoology.washington.edu>.
1997-02-02 19:53 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* misc/getpass.c: Don't disable canonical input.
Reverted patch of Mon Jan 6 01:35:29 1997.
1996-12-14 22:07 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libio/libioP.h (_IO_finish_t): Take additional parameter, to
match the hidden __in_chrg parameter of the destructor.
(_IO_FINISH): Pass zero for it.
* libio/genops.c (_IO_default_finish): Add second parameter, which
is ignored.
* libio/memstream.c (_IO_mem_finish): Likewise.
* libio/fileops.c (_IO_mem_finish): Likewise.
* libio/strops.c (_IO_str_finish): Likewise. All callers changed.
1997-02-27 00:23 H.J. Lu <hjl@lucon.org>
* time/Makefile: Avoid using patterns in dependencies.
1997-02-26 00:56 Miguel de Icaza <miguel@nuclecu.unam.mx>
* elf/rtld.c: Make _dl_start static. Otherwise the linker on the
SPARC will convert the call _dl_start into a call into the PLT.
* elf/rtld.c (_dl_start): On the SPARC we need to adjust the value
of arg to make it point to the actual values.
* sysdeps/sparc/elf/DEFS.h: New ELF specific version.
* sysdeps/sparc/Dist: Mention sysdeps/sparc/elf/DEFS.h.
* sysdeps/sparc/bsd-_setjmp.S, sysdeps/sparc/bsd-setjmp.S: Make
them PIC aware.
* sysdeps/sparc/dl-machine.h (elf_machine_load_address):
Implemented.
(elf_machine_rela): Make it compile; fix existing relocation
types; add unhandled relocation types.
(ELF_ADJUST_ARG): Get pointer to arguments at program startup.
(RTLD_START): Initial implementation, not yet finished.
* sysdeps/sparc/elf/start.S: Fix.
* sysdeps/sparc/fpu_control.h: Remove duplicate declaration of
__setfpucw.
* sysdeps/sparc/divrem.m4: Make compilable under Linux.
* sysdeps/sparc/rem.S, sysdeps/sparc/sdiv.S, sysdeps/sparc/udiv.S,
sysdeps/sparc/urem.S : Regenerated.
* sysdeps/sparc/setjmp.S: Make it PIC aware.
* sysdeps/unix/sysv/linux/sparc/__sigtrampoline.S: Define
__ASSEMBLY__ before using kernel header.
* sysdeps/unix/sysv/linux/sparc/Makefile: Use -mv8 flag to compile
rtld.c.
* sysdeps/unix/sysv/linux/sparc/brk.c: Implement.
* sysdeps/unix/sysv/linux/sparc/profil-counter.h: Remove code
to handle old signals.
* sysdeps/unix/sysv/linux/sparc/sigaction.c: Implements sigaction
for all Linux/SPARC kernels.
* sysdeps/unix/sysv/linux/sparc/syscall.S: Add code to store
errno using __errno_location.
* sysdeps/unix/sysv/linux/sparc/sysdep.h: Add various handler
macros for assembler sources.
* sysdeps/unix/sysv/linux/sparc/errno.c: Define errno.
1997-02-25 16:02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/rtld.c (dl_main): Remove dead code that is never executed.
Rename local variable l to main_map where it is used to point to
the load_map for the executable.
1997-02-25 15:03 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/dl-version.c (_dl_check_all_versions): Ignore libraries that
could not be found.
1997-02-24 23:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules: Generate implicit object suffix rules automagically.
(o-iterator): Move before first use.
* Makeconfig (all-object-suffixes): Add .bo suffix.
1997-02-25 15:11 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-i387/e_acoshf.S (__ieee754_acoshf): Test correct
word on stack for overflow.
C++. Use __exception instead.
1997-02-27 06:01:16 +00:00
|
|
|
Please note that these functions normally take `unsigned long int' or
|
|
|
|
`unsigned short int' values as arguments and also return them. But
|
|
|
|
this was a short-sighted decision since on different systems the types
|
|
|
|
may have different representations but the values are always the same. */
|
|
|
|
|
1999-10-09 21:56:43 +00:00
|
|
|
extern uint32_t ntohl (uint32_t __netlong) __THROW __attribute__ ((__const__));
|
|
|
|
extern uint16_t ntohs (uint16_t __netshort)
|
|
|
|
__THROW __attribute__ ((__const__));
|
|
|
|
extern uint32_t htonl (uint32_t __hostlong)
|
|
|
|
__THROW __attribute__ ((__const__));
|
|
|
|
extern uint16_t htons (uint16_t __hostshort)
|
|
|
|
__THROW __attribute__ ((__const__));
|
1996-08-12 01:42:37 +00:00
|
|
|
|
1995-02-18 01:27:10 +00:00
|
|
|
#include <endian.h>
|
|
|
|
|
1997-07-24 01:36:01 +00:00
|
|
|
/* Get machine dependent optimized versions of byte swapping functions. */
|
|
|
|
#include <bits/byteswap.h>
|
Make endian-conversion macros always return correct types (bug 16458).
Bug 16458 reports that the endian-conversion macros in <endian.h> and
<netinet/in.h>, in the case where no endian conversion is needed, just
return their arguments without converting to the expected return type,
so failing to act as expected for a macro version of a function. (The
<netinet/in.h> macros, in particular, are described with prototypes in
POSIX so should act like correspondingly prototyped functions.)
Where previously this was a fairly obscure issue, it now results in
glibc build with GCC mainline breaking for big-endian systems:
nss_hesiod/hesiod-service.c: In function '_nss_hesiod_getservbyport_r':
nss_hesiod/hesiod-service.c:142:39: error: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size 6 [-Werror=format-truncation=]
snprintf (portstr, sizeof portstr, "%d", ntohs (port));
^~
nss_hesiod/hesiod-service.c:142:38: note: using the range [1, -2147483648] for directive argument
snprintf (portstr, sizeof portstr, "%d", ntohs (port));
^~~~
nss_hesiod/hesiod-service.c:142:3: note: format output between 2 and 12 bytes into a destination of size 6
snprintf (portstr, sizeof portstr, "%d", ntohs (port));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The port argument is passed as int to this function, so when ntohs
does not convert the compiler cannot tell that the result is within
the range of uint16_t. (I don't know if in fact it's possible for
out-of-range values to reach this function and so get truncated as
strings without this patch or as integers with it.)
This patch arranges for these macros to use identity functions to
ensure appropriate conversions while having warnings for implicit
conversions of function arguments that might not occur with a cast.
Tested for x86_64 and x86; with build-many-glibcs.py with GCC 6; and
with build-many-glibcs.py with GCC mainline for powerpc to test the
build fix.
[BZ #16458]
* bits/uintn-identity.h: New file.
* inet/netinet/in.h: Include <bits/uintn-identity.h>.
[__BYTE_ORDER == __BIG_ENDIAN] (ntohl): Use __uint32_identity.
[__BYTE_ORDER == __BIG_ENDIAN] (ntohs): Use __uint16_identity.
[__BYTE_ORDER == __BIG_ENDIAN] (htonl): Use __uint32_identity.
[__BYTE_ORDER == __BIG_ENDIAN] (htohs): Use __uint16_identity.
* string/endian.h: Include <bits/uintn-identity.h>.
[__BYTE_ORDER == __LITTLE_ENDIAN] (htole16): Use
__uint16_identity.
[__BYTE_ORDER == __LITTLE_ENDIAN] (le16toh): Likewise.
[__BYTE_ORDER == __LITTLE_ENDIAN] (htole32): Use
__uint32_identity.
[__BYTE_ORDER == __LITTLE_ENDIAN] (le32toh): Likewise.
[__BYTE_ORDER == __LITTLE_ENDIAN] (htole64): Use
__uint64_identity.
[__BYTE_ORDER == __LITTLE_ENDIAN] (le64toh): Likewise.
[__BYTE_ORDER != __LITTLE_ENDIAN] (htobe16): Use
__uint16_identity.
[__BYTE_ORDER != __LITTLE_ENDIAN] (be16toh): Likewise.
[__BYTE_ORDER != __LITTLE_ENDIAN] (htobe32): Use
__uint32_identity.
[__BYTE_ORDER != __LITTLE_ENDIAN] (be32toh): Likewise.
[__BYTE_ORDER != __LITTLE_ENDIAN] (htobe64): Use
__uint64_identity.
[__BYTE_ORDER != __LITTLE_ENDIAN] (be64toh): Likewise.
* string/Makefile (headers): Add bits/uintn-identity.h.
(tests): Add test-endian-types.
* string/test-endian-types.c: New file.
* inet/Makefile (tests): Add test-hnto-types.
* inet/test-hnto-types.c: New file.
2017-01-11 15:28:08 +00:00
|
|
|
#include <bits/uintn-identity.h>
|
1997-07-24 01:36:01 +00:00
|
|
|
|
2000-04-02 03:09:41 +00:00
|
|
|
#ifdef __OPTIMIZE__
|
|
|
|
/* We can optimize calls to the conversion functions. Either nothing has
|
|
|
|
to be done or we are using directly the byte-swapping functions which
|
|
|
|
often can be inlined. */
|
|
|
|
# if __BYTE_ORDER == __BIG_ENDIAN
|
1995-02-18 01:27:10 +00:00
|
|
|
/* The host byte order is the same as network byte order,
|
|
|
|
so these functions are all just identity. */
|
Make endian-conversion macros always return correct types (bug 16458).
Bug 16458 reports that the endian-conversion macros in <endian.h> and
<netinet/in.h>, in the case where no endian conversion is needed, just
return their arguments without converting to the expected return type,
so failing to act as expected for a macro version of a function. (The
<netinet/in.h> macros, in particular, are described with prototypes in
POSIX so should act like correspondingly prototyped functions.)
Where previously this was a fairly obscure issue, it now results in
glibc build with GCC mainline breaking for big-endian systems:
nss_hesiod/hesiod-service.c: In function '_nss_hesiod_getservbyport_r':
nss_hesiod/hesiod-service.c:142:39: error: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size 6 [-Werror=format-truncation=]
snprintf (portstr, sizeof portstr, "%d", ntohs (port));
^~
nss_hesiod/hesiod-service.c:142:38: note: using the range [1, -2147483648] for directive argument
snprintf (portstr, sizeof portstr, "%d", ntohs (port));
^~~~
nss_hesiod/hesiod-service.c:142:3: note: format output between 2 and 12 bytes into a destination of size 6
snprintf (portstr, sizeof portstr, "%d", ntohs (port));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The port argument is passed as int to this function, so when ntohs
does not convert the compiler cannot tell that the result is within
the range of uint16_t. (I don't know if in fact it's possible for
out-of-range values to reach this function and so get truncated as
strings without this patch or as integers with it.)
This patch arranges for these macros to use identity functions to
ensure appropriate conversions while having warnings for implicit
conversions of function arguments that might not occur with a cast.
Tested for x86_64 and x86; with build-many-glibcs.py with GCC 6; and
with build-many-glibcs.py with GCC mainline for powerpc to test the
build fix.
[BZ #16458]
* bits/uintn-identity.h: New file.
* inet/netinet/in.h: Include <bits/uintn-identity.h>.
[__BYTE_ORDER == __BIG_ENDIAN] (ntohl): Use __uint32_identity.
[__BYTE_ORDER == __BIG_ENDIAN] (ntohs): Use __uint16_identity.
[__BYTE_ORDER == __BIG_ENDIAN] (htonl): Use __uint32_identity.
[__BYTE_ORDER == __BIG_ENDIAN] (htohs): Use __uint16_identity.
* string/endian.h: Include <bits/uintn-identity.h>.
[__BYTE_ORDER == __LITTLE_ENDIAN] (htole16): Use
__uint16_identity.
[__BYTE_ORDER == __LITTLE_ENDIAN] (le16toh): Likewise.
[__BYTE_ORDER == __LITTLE_ENDIAN] (htole32): Use
__uint32_identity.
[__BYTE_ORDER == __LITTLE_ENDIAN] (le32toh): Likewise.
[__BYTE_ORDER == __LITTLE_ENDIAN] (htole64): Use
__uint64_identity.
[__BYTE_ORDER == __LITTLE_ENDIAN] (le64toh): Likewise.
[__BYTE_ORDER != __LITTLE_ENDIAN] (htobe16): Use
__uint16_identity.
[__BYTE_ORDER != __LITTLE_ENDIAN] (be16toh): Likewise.
[__BYTE_ORDER != __LITTLE_ENDIAN] (htobe32): Use
__uint32_identity.
[__BYTE_ORDER != __LITTLE_ENDIAN] (be32toh): Likewise.
[__BYTE_ORDER != __LITTLE_ENDIAN] (htobe64): Use
__uint64_identity.
[__BYTE_ORDER != __LITTLE_ENDIAN] (be64toh): Likewise.
* string/Makefile (headers): Add bits/uintn-identity.h.
(tests): Add test-endian-types.
* string/test-endian-types.c: New file.
* inet/Makefile (tests): Add test-hnto-types.
* inet/test-hnto-types.c: New file.
2017-01-11 15:28:08 +00:00
|
|
|
# define ntohl(x) __uint32_identity (x)
|
|
|
|
# define ntohs(x) __uint16_identity (x)
|
|
|
|
# define htonl(x) __uint32_identity (x)
|
|
|
|
# define htons(x) __uint16_identity (x)
|
2000-04-02 03:09:41 +00:00
|
|
|
# else
|
|
|
|
# if __BYTE_ORDER == __LITTLE_ENDIAN
|
|
|
|
# define ntohl(x) __bswap_32 (x)
|
|
|
|
# define ntohs(x) __bswap_16 (x)
|
|
|
|
# define htonl(x) __bswap_32 (x)
|
|
|
|
# define htons(x) __bswap_16 (x)
|
|
|
|
# endif
|
1997-07-22 00:10:33 +00:00
|
|
|
# endif
|
1995-02-18 01:27:10 +00:00
|
|
|
#endif
|
|
|
|
|
2011-12-04 02:49:35 +00:00
|
|
|
#ifdef __GNUC__
|
|
|
|
# define IN6_IS_ADDR_UNSPECIFIED(a) \
|
|
|
|
(__extension__ \
|
2012-01-08 04:57:22 +00:00
|
|
|
({ const struct in6_addr *__a = (const struct in6_addr *) (a); \
|
2016-12-09 10:27:44 +00:00
|
|
|
__a->__in6_u.__u6_addr32[0] == 0 \
|
|
|
|
&& __a->__in6_u.__u6_addr32[1] == 0 \
|
|
|
|
&& __a->__in6_u.__u6_addr32[2] == 0 \
|
|
|
|
&& __a->__in6_u.__u6_addr32[3] == 0; }))
|
2011-12-04 02:49:35 +00:00
|
|
|
|
|
|
|
# define IN6_IS_ADDR_LOOPBACK(a) \
|
|
|
|
(__extension__ \
|
2012-01-08 04:57:22 +00:00
|
|
|
({ const struct in6_addr *__a = (const struct in6_addr *) (a); \
|
2016-12-09 10:27:44 +00:00
|
|
|
__a->__in6_u.__u6_addr32[0] == 0 \
|
|
|
|
&& __a->__in6_u.__u6_addr32[1] == 0 \
|
|
|
|
&& __a->__in6_u.__u6_addr32[2] == 0 \
|
|
|
|
&& __a->__in6_u.__u6_addr32[3] == htonl (1); }))
|
2011-12-04 02:49:35 +00:00
|
|
|
|
|
|
|
# define IN6_IS_ADDR_LINKLOCAL(a) \
|
|
|
|
(__extension__ \
|
2012-01-08 04:57:22 +00:00
|
|
|
({ const struct in6_addr *__a = (const struct in6_addr *) (a); \
|
2016-12-09 10:27:44 +00:00
|
|
|
(__a->__in6_u.__u6_addr32[0] & htonl (0xffc00000)) == htonl (0xfe800000); }))
|
2011-12-04 02:49:35 +00:00
|
|
|
|
|
|
|
# define IN6_IS_ADDR_SITELOCAL(a) \
|
|
|
|
(__extension__ \
|
2012-01-08 04:57:22 +00:00
|
|
|
({ const struct in6_addr *__a = (const struct in6_addr *) (a); \
|
2016-12-09 10:27:44 +00:00
|
|
|
(__a->__in6_u.__u6_addr32[0] & htonl (0xffc00000)) == htonl (0xfec00000); }))
|
2011-12-04 02:49:35 +00:00
|
|
|
|
|
|
|
# define IN6_IS_ADDR_V4MAPPED(a) \
|
|
|
|
(__extension__ \
|
2012-01-08 04:57:22 +00:00
|
|
|
({ const struct in6_addr *__a = (const struct in6_addr *) (a); \
|
2016-12-09 10:27:44 +00:00
|
|
|
__a->__in6_u.__u6_addr32[0] == 0 \
|
|
|
|
&& __a->__in6_u.__u6_addr32[1] == 0 \
|
|
|
|
&& __a->__in6_u.__u6_addr32[2] == htonl (0xffff); }))
|
2011-12-04 02:49:35 +00:00
|
|
|
|
|
|
|
# define IN6_IS_ADDR_V4COMPAT(a) \
|
|
|
|
(__extension__ \
|
2012-01-08 04:57:22 +00:00
|
|
|
({ const struct in6_addr *__a = (const struct in6_addr *) (a); \
|
2016-12-09 10:27:44 +00:00
|
|
|
__a->__in6_u.__u6_addr32[0] == 0 \
|
|
|
|
&& __a->__in6_u.__u6_addr32[1] == 0 \
|
|
|
|
&& __a->__in6_u.__u6_addr32[2] == 0 \
|
|
|
|
&& ntohl (__a->__in6_u.__u6_addr32[3]) > 1; }))
|
2011-12-04 02:49:35 +00:00
|
|
|
|
|
|
|
# define IN6_ARE_ADDR_EQUAL(a,b) \
|
|
|
|
(__extension__ \
|
2012-01-08 04:57:22 +00:00
|
|
|
({ const struct in6_addr *__a = (const struct in6_addr *) (a); \
|
|
|
|
const struct in6_addr *__b = (const struct in6_addr *) (b); \
|
2016-12-09 10:27:44 +00:00
|
|
|
__a->__in6_u.__u6_addr32[0] == __b->__in6_u.__u6_addr32[0] \
|
|
|
|
&& __a->__in6_u.__u6_addr32[1] == __b->__in6_u.__u6_addr32[1] \
|
|
|
|
&& __a->__in6_u.__u6_addr32[2] == __b->__in6_u.__u6_addr32[2] \
|
|
|
|
&& __a->__in6_u.__u6_addr32[3] == __b->__in6_u.__u6_addr32[3]; }))
|
2011-12-04 02:49:35 +00:00
|
|
|
#else
|
|
|
|
# define IN6_IS_ADDR_UNSPECIFIED(a) \
|
2012-01-08 04:57:22 +00:00
|
|
|
(((const uint32_t *) (a))[0] == 0 \
|
|
|
|
&& ((const uint32_t *) (a))[1] == 0 \
|
|
|
|
&& ((const uint32_t *) (a))[2] == 0 \
|
|
|
|
&& ((const uint32_t *) (a))[3] == 0)
|
1997-02-19 04:43:53 +00:00
|
|
|
|
2011-12-04 02:49:35 +00:00
|
|
|
# define IN6_IS_ADDR_LOOPBACK(a) \
|
2012-01-08 04:57:22 +00:00
|
|
|
(((const uint32_t *) (a))[0] == 0 \
|
|
|
|
&& ((const uint32_t *) (a))[1] == 0 \
|
|
|
|
&& ((const uint32_t *) (a))[2] == 0 \
|
|
|
|
&& ((const uint32_t *) (a))[3] == htonl (1))
|
1997-02-19 04:43:53 +00:00
|
|
|
|
2011-12-04 02:49:35 +00:00
|
|
|
# define IN6_IS_ADDR_LINKLOCAL(a) \
|
2012-01-08 04:57:22 +00:00
|
|
|
((((const uint32_t *) (a))[0] & htonl (0xffc00000)) \
|
Update.
2000-11-26 Ulrich Drepper <drepper@redhat.com>
* inet/getnameinfo.c: Adjust casts to avoid warnings.
* inet/rcmd.c: Likewise.
* inet/ruserpass.c: Likewise.
* inet/netinet/in.h (IN6_IS_ADDR_UNSPECIFIED, IN6_IS_ADDR_LOOPBACK,
IN6_IS_ADDR_MULTICAST, IN6_IS_ADDR_LINKLOCAL, IN6_IS_ADDR_SITELOCAL,
IN6_IS_ADDR_V4MAPPED, IN6_IS_ADDR_V4COMPAT, IN6_ARE_ADDR_EQUAL,
IN6_IS_ADDR_MC_NODELOCAL, IN6_IS_ADDR_MC_LINKLOCAL,
IN6_IS_ADDR_MC_SITELOCAL, IN6_IS_ADDR_MC_ORGLOCAL,
IN6_IS_ADDR_MC_GLOBAL): Preserve const in cast.
* include/aliases.h: Add prototypes for internal __getalias* functions.
* include/netdb.h: Add prototypes for __old_gethostent_r,
__old_gethostbyaddr_r, __old_gethostbyname_r, __old_gethostbyname2_r,
__old_getnetent_r, __old_getnetbyaddr_r, __old_getnetbyname_r,
__old_getservent_r, __old_getservbyname_r, __old_getservbyport_r,
__old_getprotoent_r, __old_getprotobyname_r, __old_getprotobynumber_r.
* include/rpc/netdb.h: Add prototypes for __old_getrpcbyname_r,
__old_getrpcbynumber_r, __old_getrpcent_r.
* include/rpc/netdb.h: Add __getrpcbyname_r, __getrpcbynumber_r,
__getrpcent_r prototypes.
2000-11-26 09:44:30 +00:00
|
|
|
== htonl (0xfe800000))
|
1997-02-19 04:43:53 +00:00
|
|
|
|
2011-12-04 02:49:35 +00:00
|
|
|
# define IN6_IS_ADDR_SITELOCAL(a) \
|
2012-01-08 04:57:22 +00:00
|
|
|
((((const uint32_t *) (a))[0] & htonl (0xffc00000)) \
|
Update.
2000-11-26 Ulrich Drepper <drepper@redhat.com>
* inet/getnameinfo.c: Adjust casts to avoid warnings.
* inet/rcmd.c: Likewise.
* inet/ruserpass.c: Likewise.
* inet/netinet/in.h (IN6_IS_ADDR_UNSPECIFIED, IN6_IS_ADDR_LOOPBACK,
IN6_IS_ADDR_MULTICAST, IN6_IS_ADDR_LINKLOCAL, IN6_IS_ADDR_SITELOCAL,
IN6_IS_ADDR_V4MAPPED, IN6_IS_ADDR_V4COMPAT, IN6_ARE_ADDR_EQUAL,
IN6_IS_ADDR_MC_NODELOCAL, IN6_IS_ADDR_MC_LINKLOCAL,
IN6_IS_ADDR_MC_SITELOCAL, IN6_IS_ADDR_MC_ORGLOCAL,
IN6_IS_ADDR_MC_GLOBAL): Preserve const in cast.
* include/aliases.h: Add prototypes for internal __getalias* functions.
* include/netdb.h: Add prototypes for __old_gethostent_r,
__old_gethostbyaddr_r, __old_gethostbyname_r, __old_gethostbyname2_r,
__old_getnetent_r, __old_getnetbyaddr_r, __old_getnetbyname_r,
__old_getservent_r, __old_getservbyname_r, __old_getservbyport_r,
__old_getprotoent_r, __old_getprotobyname_r, __old_getprotobynumber_r.
* include/rpc/netdb.h: Add prototypes for __old_getrpcbyname_r,
__old_getrpcbynumber_r, __old_getrpcent_r.
* include/rpc/netdb.h: Add __getrpcbyname_r, __getrpcbynumber_r,
__getrpcent_r prototypes.
2000-11-26 09:44:30 +00:00
|
|
|
== htonl (0xfec00000))
|
1997-02-19 04:43:53 +00:00
|
|
|
|
2011-12-04 02:49:35 +00:00
|
|
|
# define IN6_IS_ADDR_V4MAPPED(a) \
|
2012-01-08 04:57:22 +00:00
|
|
|
((((const uint32_t *) (a))[0] == 0) \
|
|
|
|
&& (((const uint32_t *) (a))[1] == 0) \
|
|
|
|
&& (((const uint32_t *) (a))[2] == htonl (0xffff)))
|
1997-02-19 04:43:53 +00:00
|
|
|
|
2011-12-04 02:49:35 +00:00
|
|
|
# define IN6_IS_ADDR_V4COMPAT(a) \
|
2012-01-08 04:57:22 +00:00
|
|
|
((((const uint32_t *) (a))[0] == 0) \
|
|
|
|
&& (((const uint32_t *) (a))[1] == 0) \
|
|
|
|
&& (((const uint32_t *) (a))[2] == 0) \
|
|
|
|
&& (ntohl (((const uint32_t *) (a))[3]) > 1))
|
1997-07-28 22:35:20 +00:00
|
|
|
|
2011-12-04 02:49:35 +00:00
|
|
|
# define IN6_ARE_ADDR_EQUAL(a,b) \
|
2012-01-08 04:57:22 +00:00
|
|
|
((((const uint32_t *) (a))[0] == ((const uint32_t *) (b))[0]) \
|
|
|
|
&& (((const uint32_t *) (a))[1] == ((const uint32_t *) (b))[1]) \
|
|
|
|
&& (((const uint32_t *) (a))[2] == ((const uint32_t *) (b))[2]) \
|
|
|
|
&& (((const uint32_t *) (a))[3] == ((const uint32_t *) (b))[3]))
|
2011-12-04 02:49:35 +00:00
|
|
|
#endif
|
|
|
|
|
2012-01-08 04:57:22 +00:00
|
|
|
#define IN6_IS_ADDR_MULTICAST(a) (((const uint8_t *) (a))[0] == 0xff)
|
1997-08-02 21:00:51 +00:00
|
|
|
|
2014-02-21 21:45:26 +00:00
|
|
|
#ifdef __USE_MISC
|
1997-05-22 02:19:00 +00:00
|
|
|
/* Bind socket to a privileged IP port. */
|
1999-10-09 21:56:43 +00:00
|
|
|
extern int bindresvport (int __sockfd, struct sockaddr_in *__sock_in) __THROW;
|
1997-02-19 04:43:53 +00:00
|
|
|
|
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 02:22:13 +00:00
|
|
|
/* The IPv6 version of this function. */
|
|
|
|
extern int bindresvport6 (int __sockfd, struct sockaddr_in6 *__sock_in)
|
|
|
|
__THROW;
|
2008-01-16 10:11:18 +00:00
|
|
|
#endif
|
1997-05-21 01:48:59 +00: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-20 18:41:05 +00:00
|
|
|
|
|
|
|
#define IN6_IS_ADDR_MC_NODELOCAL(a) \
|
Update.
2000-11-26 Ulrich Drepper <drepper@redhat.com>
* inet/getnameinfo.c: Adjust casts to avoid warnings.
* inet/rcmd.c: Likewise.
* inet/ruserpass.c: Likewise.
* inet/netinet/in.h (IN6_IS_ADDR_UNSPECIFIED, IN6_IS_ADDR_LOOPBACK,
IN6_IS_ADDR_MULTICAST, IN6_IS_ADDR_LINKLOCAL, IN6_IS_ADDR_SITELOCAL,
IN6_IS_ADDR_V4MAPPED, IN6_IS_ADDR_V4COMPAT, IN6_ARE_ADDR_EQUAL,
IN6_IS_ADDR_MC_NODELOCAL, IN6_IS_ADDR_MC_LINKLOCAL,
IN6_IS_ADDR_MC_SITELOCAL, IN6_IS_ADDR_MC_ORGLOCAL,
IN6_IS_ADDR_MC_GLOBAL): Preserve const in cast.
* include/aliases.h: Add prototypes for internal __getalias* functions.
* include/netdb.h: Add prototypes for __old_gethostent_r,
__old_gethostbyaddr_r, __old_gethostbyname_r, __old_gethostbyname2_r,
__old_getnetent_r, __old_getnetbyaddr_r, __old_getnetbyname_r,
__old_getservent_r, __old_getservbyname_r, __old_getservbyport_r,
__old_getprotoent_r, __old_getprotobyname_r, __old_getprotobynumber_r.
* include/rpc/netdb.h: Add prototypes for __old_getrpcbyname_r,
__old_getrpcbynumber_r, __old_getrpcent_r.
* include/rpc/netdb.h: Add __getrpcbyname_r, __getrpcbynumber_r,
__getrpcent_r prototypes.
2000-11-26 09:44:30 +00:00
|
|
|
(IN6_IS_ADDR_MULTICAST(a) \
|
2012-01-08 04:57:22 +00:00
|
|
|
&& ((((const uint8_t *) (a))[1] & 0xf) == 0x1))
|
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-20 18:41:05 +00:00
|
|
|
|
|
|
|
#define IN6_IS_ADDR_MC_LINKLOCAL(a) \
|
Update.
2000-11-26 Ulrich Drepper <drepper@redhat.com>
* inet/getnameinfo.c: Adjust casts to avoid warnings.
* inet/rcmd.c: Likewise.
* inet/ruserpass.c: Likewise.
* inet/netinet/in.h (IN6_IS_ADDR_UNSPECIFIED, IN6_IS_ADDR_LOOPBACK,
IN6_IS_ADDR_MULTICAST, IN6_IS_ADDR_LINKLOCAL, IN6_IS_ADDR_SITELOCAL,
IN6_IS_ADDR_V4MAPPED, IN6_IS_ADDR_V4COMPAT, IN6_ARE_ADDR_EQUAL,
IN6_IS_ADDR_MC_NODELOCAL, IN6_IS_ADDR_MC_LINKLOCAL,
IN6_IS_ADDR_MC_SITELOCAL, IN6_IS_ADDR_MC_ORGLOCAL,
IN6_IS_ADDR_MC_GLOBAL): Preserve const in cast.
* include/aliases.h: Add prototypes for internal __getalias* functions.
* include/netdb.h: Add prototypes for __old_gethostent_r,
__old_gethostbyaddr_r, __old_gethostbyname_r, __old_gethostbyname2_r,
__old_getnetent_r, __old_getnetbyaddr_r, __old_getnetbyname_r,
__old_getservent_r, __old_getservbyname_r, __old_getservbyport_r,
__old_getprotoent_r, __old_getprotobyname_r, __old_getprotobynumber_r.
* include/rpc/netdb.h: Add prototypes for __old_getrpcbyname_r,
__old_getrpcbynumber_r, __old_getrpcent_r.
* include/rpc/netdb.h: Add __getrpcbyname_r, __getrpcbynumber_r,
__getrpcent_r prototypes.
2000-11-26 09:44:30 +00:00
|
|
|
(IN6_IS_ADDR_MULTICAST(a) \
|
2012-01-08 04:57:22 +00:00
|
|
|
&& ((((const uint8_t *) (a))[1] & 0xf) == 0x2))
|
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-20 18:41:05 +00:00
|
|
|
|
|
|
|
#define IN6_IS_ADDR_MC_SITELOCAL(a) \
|
Update.
2000-11-26 Ulrich Drepper <drepper@redhat.com>
* inet/getnameinfo.c: Adjust casts to avoid warnings.
* inet/rcmd.c: Likewise.
* inet/ruserpass.c: Likewise.
* inet/netinet/in.h (IN6_IS_ADDR_UNSPECIFIED, IN6_IS_ADDR_LOOPBACK,
IN6_IS_ADDR_MULTICAST, IN6_IS_ADDR_LINKLOCAL, IN6_IS_ADDR_SITELOCAL,
IN6_IS_ADDR_V4MAPPED, IN6_IS_ADDR_V4COMPAT, IN6_ARE_ADDR_EQUAL,
IN6_IS_ADDR_MC_NODELOCAL, IN6_IS_ADDR_MC_LINKLOCAL,
IN6_IS_ADDR_MC_SITELOCAL, IN6_IS_ADDR_MC_ORGLOCAL,
IN6_IS_ADDR_MC_GLOBAL): Preserve const in cast.
* include/aliases.h: Add prototypes for internal __getalias* functions.
* include/netdb.h: Add prototypes for __old_gethostent_r,
__old_gethostbyaddr_r, __old_gethostbyname_r, __old_gethostbyname2_r,
__old_getnetent_r, __old_getnetbyaddr_r, __old_getnetbyname_r,
__old_getservent_r, __old_getservbyname_r, __old_getservbyport_r,
__old_getprotoent_r, __old_getprotobyname_r, __old_getprotobynumber_r.
* include/rpc/netdb.h: Add prototypes for __old_getrpcbyname_r,
__old_getrpcbynumber_r, __old_getrpcent_r.
* include/rpc/netdb.h: Add __getrpcbyname_r, __getrpcbynumber_r,
__getrpcent_r prototypes.
2000-11-26 09:44:30 +00:00
|
|
|
(IN6_IS_ADDR_MULTICAST(a) \
|
2012-01-08 04:57:22 +00:00
|
|
|
&& ((((const uint8_t *) (a))[1] & 0xf) == 0x5))
|
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-20 18:41:05 +00:00
|
|
|
|
|
|
|
#define IN6_IS_ADDR_MC_ORGLOCAL(a) \
|
Update.
2000-11-26 Ulrich Drepper <drepper@redhat.com>
* inet/getnameinfo.c: Adjust casts to avoid warnings.
* inet/rcmd.c: Likewise.
* inet/ruserpass.c: Likewise.
* inet/netinet/in.h (IN6_IS_ADDR_UNSPECIFIED, IN6_IS_ADDR_LOOPBACK,
IN6_IS_ADDR_MULTICAST, IN6_IS_ADDR_LINKLOCAL, IN6_IS_ADDR_SITELOCAL,
IN6_IS_ADDR_V4MAPPED, IN6_IS_ADDR_V4COMPAT, IN6_ARE_ADDR_EQUAL,
IN6_IS_ADDR_MC_NODELOCAL, IN6_IS_ADDR_MC_LINKLOCAL,
IN6_IS_ADDR_MC_SITELOCAL, IN6_IS_ADDR_MC_ORGLOCAL,
IN6_IS_ADDR_MC_GLOBAL): Preserve const in cast.
* include/aliases.h: Add prototypes for internal __getalias* functions.
* include/netdb.h: Add prototypes for __old_gethostent_r,
__old_gethostbyaddr_r, __old_gethostbyname_r, __old_gethostbyname2_r,
__old_getnetent_r, __old_getnetbyaddr_r, __old_getnetbyname_r,
__old_getservent_r, __old_getservbyname_r, __old_getservbyport_r,
__old_getprotoent_r, __old_getprotobyname_r, __old_getprotobynumber_r.
* include/rpc/netdb.h: Add prototypes for __old_getrpcbyname_r,
__old_getrpcbynumber_r, __old_getrpcent_r.
* include/rpc/netdb.h: Add __getrpcbyname_r, __getrpcbynumber_r,
__getrpcent_r prototypes.
2000-11-26 09:44:30 +00:00
|
|
|
(IN6_IS_ADDR_MULTICAST(a) \
|
2012-01-08 04:57:22 +00:00
|
|
|
&& ((((const uint8_t *) (a))[1] & 0xf) == 0x8))
|
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-20 18:41:05 +00:00
|
|
|
|
|
|
|
#define IN6_IS_ADDR_MC_GLOBAL(a) \
|
Update.
2000-11-26 Ulrich Drepper <drepper@redhat.com>
* inet/getnameinfo.c: Adjust casts to avoid warnings.
* inet/rcmd.c: Likewise.
* inet/ruserpass.c: Likewise.
* inet/netinet/in.h (IN6_IS_ADDR_UNSPECIFIED, IN6_IS_ADDR_LOOPBACK,
IN6_IS_ADDR_MULTICAST, IN6_IS_ADDR_LINKLOCAL, IN6_IS_ADDR_SITELOCAL,
IN6_IS_ADDR_V4MAPPED, IN6_IS_ADDR_V4COMPAT, IN6_ARE_ADDR_EQUAL,
IN6_IS_ADDR_MC_NODELOCAL, IN6_IS_ADDR_MC_LINKLOCAL,
IN6_IS_ADDR_MC_SITELOCAL, IN6_IS_ADDR_MC_ORGLOCAL,
IN6_IS_ADDR_MC_GLOBAL): Preserve const in cast.
* include/aliases.h: Add prototypes for internal __getalias* functions.
* include/netdb.h: Add prototypes for __old_gethostent_r,
__old_gethostbyaddr_r, __old_gethostbyname_r, __old_gethostbyname2_r,
__old_getnetent_r, __old_getnetbyaddr_r, __old_getnetbyname_r,
__old_getservent_r, __old_getservbyname_r, __old_getservbyport_r,
__old_getprotoent_r, __old_getprotobyname_r, __old_getprotobynumber_r.
* include/rpc/netdb.h: Add prototypes for __old_getrpcbyname_r,
__old_getrpcbynumber_r, __old_getrpcent_r.
* include/rpc/netdb.h: Add __getrpcbyname_r, __getrpcbynumber_r,
__getrpcent_r prototypes.
2000-11-26 09:44:30 +00:00
|
|
|
(IN6_IS_ADDR_MULTICAST(a) \
|
2012-01-08 04:57:22 +00:00
|
|
|
&& ((((const uint8_t *) (a))[1] & 0xf) == 0xe))
|
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-20 18:41:05 +00:00
|
|
|
|
2008-01-16 10:11:18 +00:00
|
|
|
|
|
|
|
#ifdef __USE_GNU
|
2012-07-30 23:09:11 +00:00
|
|
|
struct cmsghdr; /* Forward declaration. */
|
|
|
|
|
2016-06-03 03:30:11 +00:00
|
|
|
#if !__USE_KERNEL_IPV6_DEFS
|
1997-05-21 01:48:59 +00:00
|
|
|
/* IPv6 packet information. */
|
Update.
1997-05-24 03:51 Ulrich Drepper <drepper@cygnus.com>
* stdlib/Makefile (routines): Add strtol_l, strtoul_l, strtoll_l,
strtoull_l, strtof_l, strtod_l, and strtold_l.
* stdlib/stdlib.h: Add prototypes for new functions.
* stdlib/strtod.c: Change for compiling as strtoX_l.
* stdlib/strtol.c: Likewise.
* stdlib/strtof.c: Likewise.
* stdlib/strtold.c: Likewise.
* stdlib/strtod_l.c: New file.
* stdlib/strtof_l.c: New file.
* stdlib/strtold_l.c: New file.
* stdlib/strtol_l.c: New file.
* stdlib/strtoul_l.c: New file.
* stdlib/strtoll_l.c: New file.
* stdlib/strtoull_l.c: New file.
* string/Makefile (routines): Add strcasecmp_l and strncase_l.
* string/string.h: Add prototypes for new functions.
* sysdeps/generic/strcasecmp.c: Change for compiling as strcasecmp_l.
* sysdeps/generic/strncase.c: Change for compiling as strncasecmp_l.
* sysdeps/generic/strcasecmp_l.c: New file.
* sysdeps/generic/strncase_l.c: New file.
* wcsmbs/Makefile (routines): Add wcstol_l, wcstoul_l, wcstoll_l,
wcstoull_l, wcstod_l, wcstold_l, wcstof_l, wcscasecmp_l, and
wcsncase_l.
* wcsmbs/wchar.h: Add prototypes for new functions.
* wcsmbs/wcscasecmp.c: Change for compiling as wcscasecmp_l.
* wcsmbs/wcsncase.c: Change for compiling as wcsncasecmp_l.
* wcsmbs/wcscasecmp_l.c: New file.
* wcsmbs/wcsncase_l.c: New file.
* wcsmbs/wcstof.c: Change for compiling as wcstof_l.c
* wcsmbs/wcstold.c: Change for compiling as wcstold_l.c
* wcsmcs/wcstod_l.c: New file.
* wcsmcs/wcstof_l.c: New file.
* wcsmcs/wcstold_l.c: New file.
* wcsmcs/wcstol_l.c: New file.
* wcsmcs/wcstoul_l.c: New file.
* wcsmcs/wcstoll_l.c: New file.
* wcsmcs/wcstoull_l.c: New file.
* Makeconfig (binfmt-subdir): New variable. Set to `elf' if
$(elf) is defined. More to come later when other binary formats
are supported.
* Makefile (subdirs): Remove elf. Add $(binfmt-subdir).
Suggested by Philip Blundell.
* stdlib/Makefile (headers): Add fmtmsg.h.
(routines): Add fmtmsg.
* stdlib/fmtmsg.c: New file.
* stdlib/fmtmsg.h: New file.
* manual/stdio.texi: Add description of fmtmsg and addseverity.
* manual/examples/fmtmsgexpl.c: Example program for fmtmsg
documentation.
1997-05-23 15:26 Philip Blundell <pjb27@cam.ac.uk>
* resolv/res_query.c (res_querydomain): Avoid potential buffer
overrun. Reported by Dan A. Dickey <ddickey@transition.com>.
1997-05-22 18:36 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* elf/dl-support.c (_dl_sysdep_open_zero_fill,
_dl_sysdep_read_whole_file): Moved functions to ...
* elf/dl-misc.c: This new file.
* sysdeps/generic/dl-sysdepio.c: Delete file and move functions...
* elf/dl-misc.c: ... here.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_open_zero_fill,
_dl_sysdep_read_whole_file): Delete functions; they now come from
elf/dl-misc.c (dl-support.c had contained identical versions).
* sysdeps/mach/hurd/dl-sysdepio.c: Delete file; move functions...
* sysdeps/mach/hurd/dl-sysdep.c: ... here, but mark them weak so
that the regular ones in dl-misc work once we've initialized.
* elf/Makefile (dl-routines): Remove dl-sysdepio.c. Add dl-misc.c.
1997-05-22 21:55 Philip Blundell <pjb27@cam.ac.uk>
* inet/Makefile (headers): Add netinet/inbits.h.
* inet/netinet/in.h: New file.
* sysdeps/generic/netinet/inbits.h: Likewise.
* sysdeps/unix/sysv/linux/netinet/inbits.h: Likewise.
* sysdeps/generic/netinet/ip6.h: Move to...
* inet/netinet/ip6.h: ... here.
* sysdeps/generic/netinet/icmp6.h: Move to...
* inet/netinet/icmp6.h: ... here.
* sysdeps/unix/sysv/linux/netinet/in.h: Remove.
* sysdeps/generic/netinet/in.h: Remove.
1997-05-22 05:40 Richard Henderson <rth@tamu.edu>
* sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): If we are
not looking at the new thread-safe .plt, don't be lazy about relocs.
(_dl_runtime_resolve): Fix up arithmetic for new .plt layout.
(elf_alpha_fix_plt): Insert wmb as appropriate to ensure safety.
* elf/dynamic-link.h (ELF_DYNAMIC_RELOCATE): Let
elf_machine_runtime_setup() decide if we can actually be lazy.
* elf/rtld.c (_dl_start): So don't call it.
* elf/dl-reloc.c (_dl_relocate_object): Likewise.
* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Return lazy.
* sysdeps/m68k/dl-machine.h (elf_machine_runtime_setup): Likewise.
* sysdeps/mips/dl-machine.h (elf_machine_runtime_setup): Likewise.
* sysdeps/powerpc/dl-machine.h (elf_machine_runtime_setup): Likewise.
* sysdeps/sparc/dl-machine.h (elf_machine_runtime_setup): Likewise.
* sysdeps/stub/dl-machine.h (elf_machine_runtime_setup): Update
skeleton definition.
1997-05-22 18:45 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/i386/fpu/__math.h (logb): Remove second value placed on
stack by fxtract.
1997-05-22 13:07 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sunrpc/rpcsvc/rusers.x: Provide and correct prototypes,
add cast to (xdrproc_t) where necessary to prevent warnings.
1997-05-22 12:18 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Remove I/O functions.
* sunrpc/rpcinfo.c (get_inet_address): Use INADDR_NONE and INADDR_ANY
* sysdeps/libm-ieee754/s_cexp.c: Fix typo: string_alias ->
* nss/XXX-lookup.c: Add missing explanation.
1997-05-24 02:30:09 +00:00
|
|
|
struct in6_pktinfo
|
1997-05-21 01:48:59 +00:00
|
|
|
{
|
[BZ #2693]
* inet/Makefile (routines): Add inet6_opt and inet6_rth.
* inet/Versions (libc, GLIBC_2.5): Add inet6_opt_init,
inet6_opt_append, inet6_opt_finish, inet6_opt_set_val, inet6_opt_next,
inet6_opt_find, inet6_opt_get_val, inet6_rth_space, inet6_rth_init,
inet6_rth_add, inet6_rth_reverse, inet6_rth_segments,
and inet6_rth_getaddr.
* inet/netinet/ip6.h (struct ip6_rthdr0): Make ip6r0_addr a flexible
array.
* inet/netinet/in.h (struct ip6_mtuinfo): Define.
Mark inet6_option_* interfaces as deprecated.
Declare inet6_opt_init, inet6_opt_append, inet6_opt_finish,
inet6_opt_set_val, inet6_opt_next, inet6_opt_find, inet6_opt_get_val,
inet6_rth_space, inet6_rth_init, inet6_rth_add, inet6_rth_reverse,
inet6_rth_segments, and inet6_rth_getaddr.
* inet/inet6_opt.c: New file.
* inet/inet6_rth.c: New file.
* inet/netinet/icmp6.h: Pretty printing.
2006-05-25 04:50:06 +00:00
|
|
|
struct in6_addr ipi6_addr; /* src/dst IPv6 address */
|
|
|
|
unsigned int ipi6_ifindex; /* send/recv interface index */
|
|
|
|
};
|
|
|
|
|
|
|
|
/* IPv6 MTU information. */
|
|
|
|
struct ip6_mtuinfo
|
|
|
|
{
|
|
|
|
struct sockaddr_in6 ip6m_addr; /* dst address including zone ID */
|
|
|
|
uint32_t ip6m_mtu; /* path MTU in host byte order */
|
1997-05-21 01:48:59 +00:00
|
|
|
};
|
2015-01-07 00:13:19 +00:00
|
|
|
#endif /* !__USE_KERNEL_IPV6_DEFS */
|
2003-06-14 08:39:08 +00:00
|
|
|
|
[BZ #2693]
* inet/Makefile (routines): Add inet6_opt and inet6_rth.
* inet/Versions (libc, GLIBC_2.5): Add inet6_opt_init,
inet6_opt_append, inet6_opt_finish, inet6_opt_set_val, inet6_opt_next,
inet6_opt_find, inet6_opt_get_val, inet6_rth_space, inet6_rth_init,
inet6_rth_add, inet6_rth_reverse, inet6_rth_segments,
and inet6_rth_getaddr.
* inet/netinet/ip6.h (struct ip6_rthdr0): Make ip6r0_addr a flexible
array.
* inet/netinet/in.h (struct ip6_mtuinfo): Define.
Mark inet6_option_* interfaces as deprecated.
Declare inet6_opt_init, inet6_opt_append, inet6_opt_finish,
inet6_opt_set_val, inet6_opt_next, inet6_opt_find, inet6_opt_get_val,
inet6_rth_space, inet6_rth_init, inet6_rth_add, inet6_rth_reverse,
inet6_rth_segments, and inet6_rth_getaddr.
* inet/inet6_opt.c: New file.
* inet/inet6_rth.c: New file.
* inet/netinet/icmp6.h: Pretty printing.
2006-05-25 04:50:06 +00:00
|
|
|
/* Obsolete hop-by-hop and Destination Options Processing (RFC 2292). */
|
|
|
|
extern int inet6_option_space (int __nbytes)
|
|
|
|
__THROW __attribute_deprecated__;
|
2003-06-14 08:39:08 +00:00
|
|
|
extern int inet6_option_init (void *__bp, struct cmsghdr **__cmsgp,
|
[BZ #2693]
* inet/Makefile (routines): Add inet6_opt and inet6_rth.
* inet/Versions (libc, GLIBC_2.5): Add inet6_opt_init,
inet6_opt_append, inet6_opt_finish, inet6_opt_set_val, inet6_opt_next,
inet6_opt_find, inet6_opt_get_val, inet6_rth_space, inet6_rth_init,
inet6_rth_add, inet6_rth_reverse, inet6_rth_segments,
and inet6_rth_getaddr.
* inet/netinet/ip6.h (struct ip6_rthdr0): Make ip6r0_addr a flexible
array.
* inet/netinet/in.h (struct ip6_mtuinfo): Define.
Mark inet6_option_* interfaces as deprecated.
Declare inet6_opt_init, inet6_opt_append, inet6_opt_finish,
inet6_opt_set_val, inet6_opt_next, inet6_opt_find, inet6_opt_get_val,
inet6_rth_space, inet6_rth_init, inet6_rth_add, inet6_rth_reverse,
inet6_rth_segments, and inet6_rth_getaddr.
* inet/inet6_opt.c: New file.
* inet/inet6_rth.c: New file.
* inet/netinet/icmp6.h: Pretty printing.
2006-05-25 04:50:06 +00:00
|
|
|
int __type) __THROW __attribute_deprecated__;
|
2003-06-14 08:39:08 +00:00
|
|
|
extern int inet6_option_append (struct cmsghdr *__cmsg,
|
2012-01-08 04:57:22 +00:00
|
|
|
const uint8_t *__typep, int __multx,
|
[BZ #2693]
* inet/Makefile (routines): Add inet6_opt and inet6_rth.
* inet/Versions (libc, GLIBC_2.5): Add inet6_opt_init,
inet6_opt_append, inet6_opt_finish, inet6_opt_set_val, inet6_opt_next,
inet6_opt_find, inet6_opt_get_val, inet6_rth_space, inet6_rth_init,
inet6_rth_add, inet6_rth_reverse, inet6_rth_segments,
and inet6_rth_getaddr.
* inet/netinet/ip6.h (struct ip6_rthdr0): Make ip6r0_addr a flexible
array.
* inet/netinet/in.h (struct ip6_mtuinfo): Define.
Mark inet6_option_* interfaces as deprecated.
Declare inet6_opt_init, inet6_opt_append, inet6_opt_finish,
inet6_opt_set_val, inet6_opt_next, inet6_opt_find, inet6_opt_get_val,
inet6_rth_space, inet6_rth_init, inet6_rth_add, inet6_rth_reverse,
inet6_rth_segments, and inet6_rth_getaddr.
* inet/inet6_opt.c: New file.
* inet/inet6_rth.c: New file.
* inet/netinet/icmp6.h: Pretty printing.
2006-05-25 04:50:06 +00:00
|
|
|
int __plusy) __THROW __attribute_deprecated__;
|
2003-06-14 08:39:08 +00:00
|
|
|
extern uint8_t *inet6_option_alloc (struct cmsghdr *__cmsg, int __datalen,
|
[BZ #2693]
* inet/Makefile (routines): Add inet6_opt and inet6_rth.
* inet/Versions (libc, GLIBC_2.5): Add inet6_opt_init,
inet6_opt_append, inet6_opt_finish, inet6_opt_set_val, inet6_opt_next,
inet6_opt_find, inet6_opt_get_val, inet6_rth_space, inet6_rth_init,
inet6_rth_add, inet6_rth_reverse, inet6_rth_segments,
and inet6_rth_getaddr.
* inet/netinet/ip6.h (struct ip6_rthdr0): Make ip6r0_addr a flexible
array.
* inet/netinet/in.h (struct ip6_mtuinfo): Define.
Mark inet6_option_* interfaces as deprecated.
Declare inet6_opt_init, inet6_opt_append, inet6_opt_finish,
inet6_opt_set_val, inet6_opt_next, inet6_opt_find, inet6_opt_get_val,
inet6_rth_space, inet6_rth_init, inet6_rth_add, inet6_rth_reverse,
inet6_rth_segments, and inet6_rth_getaddr.
* inet/inet6_opt.c: New file.
* inet/inet6_rth.c: New file.
* inet/netinet/icmp6.h: Pretty printing.
2006-05-25 04:50:06 +00:00
|
|
|
int __multx, int __plusy)
|
|
|
|
__THROW __attribute_deprecated__;
|
2012-01-08 04:57:22 +00:00
|
|
|
extern int inet6_option_next (const struct cmsghdr *__cmsg,
|
[BZ #2693]
* inet/Makefile (routines): Add inet6_opt and inet6_rth.
* inet/Versions (libc, GLIBC_2.5): Add inet6_opt_init,
inet6_opt_append, inet6_opt_finish, inet6_opt_set_val, inet6_opt_next,
inet6_opt_find, inet6_opt_get_val, inet6_rth_space, inet6_rth_init,
inet6_rth_add, inet6_rth_reverse, inet6_rth_segments,
and inet6_rth_getaddr.
* inet/netinet/ip6.h (struct ip6_rthdr0): Make ip6r0_addr a flexible
array.
* inet/netinet/in.h (struct ip6_mtuinfo): Define.
Mark inet6_option_* interfaces as deprecated.
Declare inet6_opt_init, inet6_opt_append, inet6_opt_finish,
inet6_opt_set_val, inet6_opt_next, inet6_opt_find, inet6_opt_get_val,
inet6_rth_space, inet6_rth_init, inet6_rth_add, inet6_rth_reverse,
inet6_rth_segments, and inet6_rth_getaddr.
* inet/inet6_opt.c: New file.
* inet/inet6_rth.c: New file.
* inet/netinet/icmp6.h: Pretty printing.
2006-05-25 04:50:06 +00:00
|
|
|
uint8_t **__tptrp)
|
|
|
|
__THROW __attribute_deprecated__;
|
2012-01-08 04:57:22 +00:00
|
|
|
extern int inet6_option_find (const struct cmsghdr *__cmsg,
|
[BZ #2693]
* inet/Makefile (routines): Add inet6_opt and inet6_rth.
* inet/Versions (libc, GLIBC_2.5): Add inet6_opt_init,
inet6_opt_append, inet6_opt_finish, inet6_opt_set_val, inet6_opt_next,
inet6_opt_find, inet6_opt_get_val, inet6_rth_space, inet6_rth_init,
inet6_rth_add, inet6_rth_reverse, inet6_rth_segments,
and inet6_rth_getaddr.
* inet/netinet/ip6.h (struct ip6_rthdr0): Make ip6r0_addr a flexible
array.
* inet/netinet/in.h (struct ip6_mtuinfo): Define.
Mark inet6_option_* interfaces as deprecated.
Declare inet6_opt_init, inet6_opt_append, inet6_opt_finish,
inet6_opt_set_val, inet6_opt_next, inet6_opt_find, inet6_opt_get_val,
inet6_rth_space, inet6_rth_init, inet6_rth_add, inet6_rth_reverse,
inet6_rth_segments, and inet6_rth_getaddr.
* inet/inet6_opt.c: New file.
* inet/inet6_rth.c: New file.
* inet/netinet/icmp6.h: Pretty printing.
2006-05-25 04:50:06 +00:00
|
|
|
uint8_t **__tptrp, int __type)
|
|
|
|
__THROW __attribute_deprecated__;
|
|
|
|
|
|
|
|
|
|
|
|
/* Hop-by-Hop and Destination Options Processing (RFC 3542). */
|
|
|
|
extern int inet6_opt_init (void *__extbuf, socklen_t __extlen) __THROW;
|
|
|
|
extern int inet6_opt_append (void *__extbuf, socklen_t __extlen, int __offset,
|
|
|
|
uint8_t __type, socklen_t __len, uint8_t __align,
|
|
|
|
void **__databufp) __THROW;
|
|
|
|
extern int inet6_opt_finish (void *__extbuf, socklen_t __extlen, int __offset)
|
|
|
|
__THROW;
|
|
|
|
extern int inet6_opt_set_val (void *__databuf, int __offset, void *__val,
|
|
|
|
socklen_t __vallen) __THROW;
|
|
|
|
extern int inet6_opt_next (void *__extbuf, socklen_t __extlen, int __offset,
|
|
|
|
uint8_t *__typep, socklen_t *__lenp,
|
|
|
|
void **__databufp) __THROW;
|
|
|
|
extern int inet6_opt_find (void *__extbuf, socklen_t __extlen, int __offset,
|
|
|
|
uint8_t __type, socklen_t *__lenp,
|
|
|
|
void **__databufp) __THROW;
|
|
|
|
extern int inet6_opt_get_val (void *__databuf, int __offset, void *__val,
|
|
|
|
socklen_t __vallen) __THROW;
|
|
|
|
|
|
|
|
|
|
|
|
/* Routing Header Option (RFC 3542). */
|
|
|
|
extern socklen_t inet6_rth_space (int __type, int __segments) __THROW;
|
|
|
|
extern void *inet6_rth_init (void *__bp, socklen_t __bp_len, int __type,
|
|
|
|
int __segments) __THROW;
|
2012-01-08 04:57:22 +00:00
|
|
|
extern int inet6_rth_add (void *__bp, const struct in6_addr *__addr) __THROW;
|
|
|
|
extern int inet6_rth_reverse (const void *__in, void *__out) __THROW;
|
|
|
|
extern int inet6_rth_segments (const void *__bp) __THROW;
|
|
|
|
extern struct in6_addr *inet6_rth_getaddr (const void *__bp, int __index)
|
[BZ #2693]
* inet/Makefile (routines): Add inet6_opt and inet6_rth.
* inet/Versions (libc, GLIBC_2.5): Add inet6_opt_init,
inet6_opt_append, inet6_opt_finish, inet6_opt_set_val, inet6_opt_next,
inet6_opt_find, inet6_opt_get_val, inet6_rth_space, inet6_rth_init,
inet6_rth_add, inet6_rth_reverse, inet6_rth_segments,
and inet6_rth_getaddr.
* inet/netinet/ip6.h (struct ip6_rthdr0): Make ip6r0_addr a flexible
array.
* inet/netinet/in.h (struct ip6_mtuinfo): Define.
Mark inet6_option_* interfaces as deprecated.
Declare inet6_opt_init, inet6_opt_append, inet6_opt_finish,
inet6_opt_set_val, inet6_opt_next, inet6_opt_find, inet6_opt_get_val,
inet6_rth_space, inet6_rth_init, inet6_rth_add, inet6_rth_reverse,
inet6_rth_segments, and inet6_rth_getaddr.
* inet/inet6_opt.c: New file.
* inet/inet6_rth.c: New file.
* inet/netinet/icmp6.h: Pretty printing.
2006-05-25 04:50:06 +00:00
|
|
|
__THROW;
|
2004-07-26 04:29:07 +00:00
|
|
|
|
|
|
|
|
|
|
|
/* Multicast source filter support. */
|
|
|
|
|
|
|
|
/* Get IPv4 source filter. */
|
2004-12-19 20:40:06 +00:00
|
|
|
extern int getipv4sourcefilter (int __s, struct in_addr __interface_addr,
|
2004-07-26 04:29:07 +00:00
|
|
|
struct in_addr __group, uint32_t *__fmode,
|
|
|
|
uint32_t *__numsrc, struct in_addr *__slist)
|
|
|
|
__THROW;
|
|
|
|
|
|
|
|
/* Set IPv4 source filter. */
|
2004-12-19 20:40:06 +00:00
|
|
|
extern int setipv4sourcefilter (int __s, struct in_addr __interface_addr,
|
2004-07-26 04:29:07 +00:00
|
|
|
struct in_addr __group, uint32_t __fmode,
|
2004-08-07 18:22:26 +00:00
|
|
|
uint32_t __numsrc,
|
2012-01-08 04:57:22 +00:00
|
|
|
const struct in_addr *__slist)
|
2004-07-26 04:29:07 +00:00
|
|
|
__THROW;
|
|
|
|
|
|
|
|
|
|
|
|
/* Get source filter. */
|
2004-12-19 20:40:06 +00:00
|
|
|
extern int getsourcefilter (int __s, uint32_t __interface_addr,
|
2012-01-08 04:57:22 +00:00
|
|
|
const struct sockaddr *__group,
|
2004-08-07 18:22:26 +00:00
|
|
|
socklen_t __grouplen, uint32_t *__fmode,
|
|
|
|
uint32_t *__numsrc,
|
2004-07-26 04:29:07 +00:00
|
|
|
struct sockaddr_storage *__slist) __THROW;
|
|
|
|
|
|
|
|
/* Set source filter. */
|
2004-12-19 20:40:06 +00:00
|
|
|
extern int setsourcefilter (int __s, uint32_t __interface_addr,
|
2012-01-08 04:57:22 +00:00
|
|
|
const struct sockaddr *__group,
|
2004-08-07 18:22:26 +00:00
|
|
|
socklen_t __grouplen, uint32_t __fmode,
|
|
|
|
uint32_t __numsrc,
|
2012-01-08 04:57:22 +00:00
|
|
|
const struct sockaddr_storage *__slist) __THROW;
|
2003-06-14 08:39:08 +00:00
|
|
|
#endif /* use GNU */
|
|
|
|
|
1997-02-19 04:43:53 +00:00
|
|
|
__END_DECLS
|
|
|
|
|
1995-02-18 01:27:10 +00:00
|
|
|
#endif /* netinet/in.h */
|