summaryrefslogtreecommitdiff
path: root/inet/netinet/in.h
AgeCommit message (Collapse)Author
2018-01-01Update copyright dates with scripts/update-copyrights.Joseph Myers
* All files with FSF copyright notices: Update copyright dates using scripts/update-copyrights. * locale/programs/charmap-kw.h: Regenerated. * locale/programs/locfile-kw.h: Likewise.
2017-05-04Fix network headers stdint.h namespace (bug 21455).Joseph Myers
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-03Correct misplaced comments in struct ip_mreq_sourcePhil Blundell
2017-01-11Make endian-conversion macros always return correct types (bug 16458).Joseph Myers
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-01Update copyright dates with scripts/update-copyrights.Joseph Myers
2016-12-09inet: Make IN6_IS_ADDR_UNSPECIFIED etc. usable with POSIX [BZ #16421]Florian Weimer
Previously, under some feature test macros and compilers, the macros were defined, but references undefined struct members in their implementation.
2016-06-02Fix macro API for __USE_KERNEL_IPV6_DEFS.Carlos O'Donell
The use of __USE_KERNEL_IPV6_DEFS with ifndef is bad practice per: https://sourceware.org/glibc/wiki/Wundef. This change moves it to use 'if' and always define the macro. Please note that this is not the only problem with this code. I have a series of fixes after this one to resolve breakage with this code and add regression tests for it via compile-only source testing (to be discussed in another thread). Unfortunately __USE_KERNEL_XATTR_DEFS is set by the kernel and not glibc, and uses 'define', so we can't fix that yet.
2016-01-04Update copyright dates with scripts/update-copyrights.Joseph Myers
2015-09-01Add netinet/in.h values from Linux 4.2.Joseph Myers
This patch adds new constants from Linux 4.2 to netinet/in.h: IPPROTO_MPLS and IP_BIND_ADDRESS_NO_PORT (both in include/uapi/linux/in.h in Linux; one directly in netinet/in.h, one in bits/in.h in glibc). Tested for x86_64 (testsuite, and that installed stripped shared libraries are unchanged by the patch). * inet/netinet/in.h (IPPROTO_MPLS): New enum value and macro. * sysdeps/unix/sysv/linux/bits/in.h (IP_BIND_ADDRESS_NO_PORT): New macro.
2015-02-25in.h: Coordinate in6_pktinfo and ip6_mtuinfo for kernel and glibc [BZ #15850]Cong Wang
Similarly to what we did for in6_addr, we need a macro to guard in6_pktinfo and ip6_mtuinfo too. Cc: Carlos O'Donell <carlos@redhat.com> Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
2015-01-02Update copyright dates with scripts/update-copyrights.Joseph Myers
2014-02-21Complete _BSD_SOURCE / _SVID_source followup cleanup.Joseph Myers
This patch completes the headers cleanup consequent on removal of _BSD_SOURCE and _SVID_SOURCE (apart from any subsequent deprecations): * #endif conditionals that referred to BSD or SVID are updated. * Redundant __USE_* tests in cases involving __USE_MISC are removed. This includes cases such as __USE_MISC || __USE_ISOC99, where __USE_MISC is redundant (because __USE_MISC is only ever defined in the default / _DEFAULT_SOURCE / _GNU_SOURCE case, when __USE_ISOC99 is also defined; the same applies to the non-XSI-extended POSIX versions), and cases involving __USE_GNU, where __USE_GNU is redundant (because if __USE_GNU is defined, so are the other __USE_* macros). There may well be other cases of __USE_FOO || __USE_BAR tests that could be simplified because one macro implies the other; this patch only addresses cases involving __USE_MISC. Tested x86_64. * bits/fcntl.h [__USE_MISC]: Remove redundant conditionals. * bits/sigaction.h [__USE_MISC]: Likewise. * bits/waitstatus.h: Update #endif comments. * ctype/ctype.h: Likewise. * dirent/dirent.h: Likewise. [__USE_MISC]: Remove redundant conditionals. * grp/grp.h: Update #endif comments. [__USE_GNU]: Remove redundant conditionals. [__USE_MISC]: Likewise. * inet/netinet/in.h [__USE_GNU]: Likewise. * io/sys/stat.h [__USE_MISC]: Likewise. * libio/bits/stdio-ldbl.h [__USE_MISC]: Likewise. * libio/bits/stdio.h: Update #endif comments. [__USE_MISC]: Remove redundant conditionals. * libio/bits/stdio2.h [__USE_MISC]: Likewise. * libio/stdio.h: Update #endif comments. [__USE_MISC]: Remove redundant conditionals. * math/bits/math-finite.h [__USE_MISC]: Likewise. * math/bits/mathcalls.h [__USE_MISC]: Likewise. * math/math.h: Update #else and #endif comments. [__USE_MISC]: Remove redundant conditionals. * misc/sys/uio.h: Update #endif comments. * posix/bits/unistd.h [__USE_MISC]: Remove redundant conditionals. * posix/glob.h [__USE_MISC]: Likewise. * posix/sys/types.h: Update #endif comments. [__USE_MISC]: Remove redundant conditionals. * posix/sys/wait.h: Update #endif comments. [__USE_MISC]: Remove redundant conditionals. * posix/unistd.h: Update #endif comments. [__USE_MISC]: Remove redundant conditionals. * pwd/pwd.h [__USE_GNU]: Likewise. [__USE_MISC]: Likewise. * resolv/netdb.h [__USE_GNU]: Likewise. * signal/signal.h: Update #endif comments. [__USE_MISC]: Remove redundant conditionals. * stdlib/stdlib.h: Update #else and #endif comments. [__USE_MISC]: Remove redundant conditionals. [__USE_GNU]: Likewise. * string/bits/string2.h [__USE_MISC]: Likewise. * string/string.h: Update #endif comments. [__USE_MISC]: Remove redundant conditionals. * sysdeps/m68k/m680x0/fpu/bits/mathinline.h [__USE_MISC]: Likewise. * sysdeps/mach/hurd/bits/fcntl.h [__USE_MISC]: Likewise. * sysdeps/mach/hurd/bits/stat.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/stat.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/bits/fcntl-linux.h: Update #endif comments. [__USE_MISC]: Remove redundant conditionals. * sysdeps/unix/sysv/linux/bits/in.h [__USE_GNU]: Likewise. * sysdeps/unix/sysv/linux/bits/sigaction.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/bits/socket.h [__USE_GNU]: Likewise. * sysdeps/unix/sysv/linux/bits/stat.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/ia64/bits/sigaction.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/m68k/bits/stat.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/mips/bits/sigaction.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/mips/bits/stat.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/stat.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/s390/bits/sigaction.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/s390/bits/stat.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/stat.h [__USE_MISC]: Likewise. * sysdeps/unix/sysv/linux/x86/bits/stat.h [__USE_MISC]: Likewise. * sysdeps/x86/bits/string.h: Update #endif comments. * sysdeps/x86/fpu/bits/mathinline.h [__USE_MISC]: Remove redundant conditionals. * time/sys/time.h: Update #endif comments. * time/time.h: Likewise. [__USE_MISC]: Remove redundant conditionals.
2014-02-06BZ #16529: Fix pedantic warning with netinet/in.h.Carlos O'Donell
When compiling with pedantic the following warning is seen: gcc -Wall -pedantic -O0 -o test test.c In file included from test.c:3:0: /path/inet/netinet/in.h:111:21: warning: comma at end of \ enumerator list [-Wpedantic] IPPROTO_MH = 135, /* IPv6 mobility header. */ ^ It is valid C99 to have a trailing comma after the last item in an enumeration. However it is not valid C90. If possible glibc attempts to keep all headers C90 + long long without requiring C99 features. In this case it's easy to fix the headers and it removes the warning seem with -pedantic.
2014-01-06Fix typo in inet/netinet/in.h commentAllan McRae
2014-01-01Update copyright notices with scripts/update-copyrightsAllan McRae
2013-09-06Coordinate IPv6 definitions for Linux and glibcCarlos O'Donell
This change synchronizes the glibc headers with the Linux kernel headers and arranges to coordinate the definition of structures already defined the Linux kernel UAPI headers. It is now safe to include glibc's netinet/in.h or Linux's linux/in6.h in any order in a userspace application and you will get the same ABI. The ABI is guaranteed by UAPI and glibc.
2013-01-02Update copyright notices with scripts/update-copyrights.Joseph Myers
2012-07-30Fix lots of bitrot for stub configurations.Roland McGrath
2012-02-09Replace FSF snail mail address with URLs.Paul Eggert
2012-01-07Remove pre-ISO C supportUlrich Drepper
No more __const.
2011-12-03Fix more warningsUlrich Drepper
2008-05-14* sysdeps/posix/getaddrinfo.c: Implement handling of DCCP andUlrich Drepper
UDPlite. * nss/getent.c (ahosts_keys_int): Handle all known socket types. * inet/netinet/in.h (IPPIPPROTO_DCCP, IPPROTO_UDPLITE): Define. * sysdeps/unix/sysv/linux/bits/socket.h (SOCK_DCCP): Define.
2008-01-16[BZ #5607]Ulrich Drepper
2008-01-16 Ulrich Drepper <drepper@redhat.com> [BZ #5607] * conform/data/fcntl.h-data: Fix posix_fadvise and posix_fallocate prototypes. * conform/data/limits.h-data: Adjust limits changed in v6 and add additional suffixes. * conform/data/mqueue.h-data: Fix typo in mq_curmsgs entry. Add optional functions mq_timedreceive and mq_timedsend. * conform/data/netdb.h-data: Add more AI_* and EAI_* constants. * conform/data/pthread.h-data: Fix prototype of pthread_condattr_setclock. pthread_sigmask is not required in v6. * conform/data/semaphore.h-data: Allow time.h definitions. * conform/data/signal.h-data: Likewise. * conform/data/stdio.h-data: getw and putw are not required in v6. * conform/data/stdlib.h-data: Change setstate prototype. * conform/data/string.h-data: Fix strerror_r prototype. * conform/data/time.h-data: Fix typo in TIMER_ABSTIME definition. * conform/data/unistd.h-data: pthread_atfork not required in v6. Fix readlink prototype. * conform/data/netinet/in.h-data: Add const to in6addr_any and in6addr_loopback. * inet/netinet/in.h: Cleanup namespace. * posix/regex.h: Likewise. * resolv/netdb.h: Likewise. * sysdeps/unix/sysv/linux/bits/in.h: Likewise. * sysdeps/unix/sysv/linux/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise.
2007-10-11* sysdeps/gnu/netinet/tcp.h: Include sys/socket.h if __USE_MISC. cvs/fedora-glibc-20071011T1636Jakub Jelinek
(struct tcp_md5sig): Change tcpm_addr type to struct sockaddr_storage. * inet/netinet/in.h: Don't include bits/socket.h. * sysdeps/unix/sysv/linux/bits/socket.h: Only check _SYS_SOCKET_H macro. * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise. 2007-10-11 Jakub Jelinek <jakub@redhat.com> * sysdeps/gnu/netinet/tcp.h: Include sys/socket.h if __USE_MISC. (struct tcp_md5sig): Change tcpm_addr type to struct sockaddr_storage. * inet/netinet/in.h: Don't include bits/socket.h. * sysdeps/unix/sysv/linux/bits/socket.h: Only check _SYS_SOCKET_H macro. * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.
2006-05-25[BZ #2693]Ulrich Drepper
* 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.
2004-12-22(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.Ulrich Drepper
2007-07-122.5-18.1Jakub Jelinek
2004-12-19Use __interface_addr instead of __interface.Andreas Jaeger
2004-08-07Update.Ulrich Drepper
* inet/netinet/in.h: Add more const to the setipv4soucefilter, getsourcefilter, and setsourcefilter parameter list. * sysdeps/generic/setipv4sourcefilter.c: Likewise. * sysdeps/generic/getsourcefilter.c: Likewise. * sysdeps/generic/setsourcefilter.c: Likewise. * sysdeps/unix/sysv/linux/setipv4sourcefilter.c: Likewise. * sysdeps/unix/sysv/linux/getsourcefilter.c: Likewise. * sysdeps/unix/sysv/linux/setsourcefilter.c: Likewise.
2004-08-06Update.Ulrich Drepper
* inet/netinet/in.h: Define struct ip_msfilter, IP_MSFILTER_SIZE, struct group_filter, and GROUP_FILTER_SIZE. * include/sys/socket.h: Declare __getsockopt. * sysdeps/unix/sysv/linux/setipv4sourcefilter.c: New file. * sysdeps/unix/sysv/linux/getipv4sourcefilter.c: New file. * sysdeps/unix/sysv/linux/setsourcefilter.c: New file. * sysdeps/unix/sysv/linux/getsourcefilter.c: New file.
2004-07-26Update.Ulrich Drepper
2004-07-25 Ulrich Drepper <drepper@redhat.com> * inet/Versions [libc, GLIBC_2.3.4]: Add getipv4sourcefilter, getsourcefilter, setipv4sourcefilter, and setsourcefilter. * inet/Makefile (routines): Likewise. * inet/netinet/in.h: Add prototypes for getipv4sourcefilter, getsourcefilter, setipv4sourcefilter, and setsourcefilter. * sysdeps/generic/getipv4sourcefilter.c: New file. * sysdeps/generic/setipv4sourcefilter.c: New file. * sysdeps/generic/getsourcefilter.c: New file. * sysdeps/generic/setsourcefilter.c: New file.
2004-07-20Update.Ulrich Drepper
Define struct group_req and struct group_source_req.
2004-07-20Update.Ulrich Drepper
* 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.
2003-06-14Update.Ulrich Drepper
2003-06-14 Ulrich Drepper <drepper@redhat.com> * inet/netinet/ip6.h (IP6OPT_PAD1, IP6OPT_PADn): Define. * inet/netinet/in.h: Add prototypes for inet6_option_* functions. * inet/Makefile (routines): Add inet6_option. * inet/inet6_option.c: New file. * inet/Versions [GLIBC_2.3.3] (libc): Add inet6_option_space, inet6_option_init, inet6_option_append, inet6_option_alloc, inet6_option_next, and inet6_option_find. * inet/netinet/ip6.h (struct ip6_ext): Define.
2003-03-25Update.Ulrich Drepper
2003-03-24 Jon Grimm <jgrimm@us.ibm.com> * inet/netinet/in.h: Add IPPROTO_SCTP. 2003-03-24 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/sys/epoll.h (EPOLLET): Define.
2001-07-06Update to LGPL v2.1.Andreas Jaeger
2001-07-06 Paul Eggert <eggert@twinsun.com> * manual/argp.texi: Remove ignored LGPL copyright notice; it's not appropriate for documentation anyway. * manual/libc-texinfo.sh: "Library General Public License" -> "Lesser General Public License". 2001-07-06 Andreas Jaeger <aj@suse.de> * All files under GPL/LGPL version 2: Place under LGPL version 2.1.
2001-01-28Update.Ulrich Drepper
* inet/arpa/inet.h: Don't include <sys/types.h>. Define socklen_t if not already happened. * inet/netinet/in.h: Don't include <sys/types.h>, use <bits/types.h>. Don't include <limits.h> and <bits/sockaddr.h>.
2001-01-27Update.Ulrich Drepper
* inet/netinet/in.h: Make IPPROTO_ constants also macros.
2000-11-26Update.Ulrich Drepper
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-08-23Update.Ulrich Drepper
2000-08-23 Jakub Jelinek <jakub@redhat.com> * inet/netinet/in.h (struct in6_addr): Don't enforce 64bit alignment on 64bit arches.
2000-05-12Update.Andreas Jaeger
2000-05-12 Andreas Jaeger <aj@suse.de> * inet/netinet/in.h (IN6_ARE_ADDR_EQUAL): Correct indices. Reported by tmoestl@gmx.net, closes PR libc/1732.
2000-04-02Update.Ulrich Drepper
* inet/arpa/inet.h (inet_addr): Change return type to in_addr_t. (inet_lnaof): Likewise. (inet_netof): Likewise. (inet_network): Likewise. (inet_aton): Likewise. (inet_makeaddr): Change parameter types to in_addr_t. (inet_neta): Likewise. (inet_ntop): Change type of last parameter to socklen_t. (inet_aton): Only make available if __USE_MISC. (inet_neta): Likewise. (inet_net_ntop): Likewise. (inet_net_pton): Likewise. (inet_nsap_ntoa): Likewise. * inet/in.h: Define in_port_t type. Define in_addr_t type. (struct in_addr): Use in_addr_t in definition. (IN_CLASSA): Use cast to in_addr_t. (IN_CLASSB): Likewise. (IN_CLASSC): Likewise. (IN_CLASSD): Likewise. (IN_EXPERIMENTAL): Likewise. (IN_BADCLASS): Likewise. (INADDR_ANY): Likewise. (INADDR_BROADCAST): Likewise. (INADDR_NONE): Likewise. (INADDR_LOOPBACK): Likewise. (INADDR_UNSPEC_GROUP): Likewise. (INADDR_ALLHOSTS_GROUP): Likewise. (INADDR_ALLRTRS_GROUP): Likewise. (INADDR_MAX_LOCAL_GROUP): Likewise. (struct sockaddr_in): Use in_port_t for sin_port element. (struct sockaddr_in6): Use in_port_t for sin6_port element. Use uint8_t instead of u_int8_t. * resolv/inet_addr.c (inet_addr): Change return type to in_addr_t. Call __inet_aton instead of inet_aton. (__inet_aton): Renamed from inet_aton. Add weak alias under old name. * resolv/netdb.h (gethostbyname2): Define only is __USE_MISC. (innetgr): Likewise. (struct addrinfo): Use socklen_t for ai_addrlen element. * sysdeps/unix/sysv/linux/bits/in.h (IPV6_MTU_DISCOVER, IPV6_MTU, IPV6_RECVERR): New defines.
2000-03-23Update.Ulrich Drepper
2000-03-23 Bruno Haible <haible@clisp.cons.org> * iconv/gconv_simple.c (internal_ucs4_loop, internal_ucs4le_loop): Remove no-op pointer increment.
2000-01-24Update.Ulrich Drepper
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).
1999-10-09Update.Ulrich Drepper
Patch by khendricks@ivey.uwo.ca [libc/1382].
1999-08-28Update.Ulrich Drepper
1999-08-28 Ulrich Drepper <drepper@cygnus.com> * malloc/malloc.c (ptmalloc_init): Don't use variables to set thresholds for SUID binaries. [PR libc/1277] 1999-08-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * manual/install.texi (Running make install): Give examples for timezone and locale installation. 1999-08-28 Zack Weinberg <zack@bitmover.com> * glibcbug.in: Get CCVERSION from autoconf substitution. * configure.in: Calculate and substitute CCVERSION. 1999-08-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Fix sa_flags, partially reverting a patch from 1998-12-29. We just can't change the flags, kernels with different flags lead to incompatibilities.
1999-08-06Update.Ulrich Drepper
* inet/netinet/in.h (IN6ADDR_ANY_INIT): Add correct number of braces to avoid warnings. (IN6ADDR_LOOPBACK_INIT): Likewise.
1999-05-30Update.Ulrich Drepper
1999-05-30 Ulrich Drepper <drepper@cygnus.com> * inet/netinet/in.h: Mark ntoh* and hton* as constant functions.
1999-05-11Update.Ulrich Drepper
1999-05-11 Ulrich Drepper <drepper@cygnus.com> * elf/Versions (ld.so) [GLIBC_2.1.1]: Add _dl_lazy. * elf/dl-open.c (_dl_open_worker): Only relocate newly loaded objects lazily if LD_BIND_NOW is not set. * elf/dl-support.c (_dl_lazy): New variable. (non_dynamic_init): Set _dl_lazy according to LD_BIND_NOW envvar. * elf/rtld.c (_dl_lazy): new global variable. ( dl_main): Remove lazy, replace it by _dl_lazy. 1999-05-06 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * locale/setlocale.c (new_composite_name): Check also whether the first category name differs. 1999-05-11 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * sysdeps/unix/sysv/linux/ftime.c: Use the bsd implementation, not the generic one. 1999-05-11 Philip Blundell <pb@nexus.co.uk> * sysdeps/generic/bits/socket.h (struct sockaddr_storage): New structure; storage suitable for any socket address. * sysdeps/unix/sysv/linux/bits/socket.h (struct sockaddr_storage): Likewise. * sysdeps/unix/sysv/linux/mips/bits/socket.h (struct sockaddr_storage): Likewise. * inet/netinet/in.h: Use ULONG_MAX not ~0 to test for a 64-bit platform.
1998-12-11Update.Ulrich Drepper
1998-12-11 Kunihiro Ishiguro <kunihiro@zebra.org> * inet/netinet/in.h: Change obsolete structure member ipv6mr_ifindex to new ipv6mr_interface.