diff options
author | Ulrich Drepper <drepper@redhat.com> | 1997-02-22 01:20:46 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1997-02-22 01:20:46 +0000 |
commit | 5a97622d5e053e935af0a9715ddd941fdaafcaf9 (patch) | |
tree | 9f703f1a0c1c4ca0ed023acd33f09d152c923426 /sysdeps | |
parent | 1fb05e3db1891142410bc58c320dfe281749fffe (diff) | |
download | glibc-5a97622d5e053e935af0a9715ddd941fdaafcaf9.tar.gz glibc-5a97622d5e053e935af0a9715ddd941fdaafcaf9.tar.xz glibc-5a97622d5e053e935af0a9715ddd941fdaafcaf9.zip |
update from main archive 970221 cvs/libc-970223 cvs/libc-970222
1997-02-22 00:17 Ulrich Drepper <drepper@cygnus.com> * catgets/gencat.c: Change to use argp. * db/makedb: Likewise. * locale/programs/localedef.c: Likewise. * locale/programs/locale.c: Little adjustment for better usage of argp. 1997-02-20 20:07 Greg McGary <gkm@eng.ascend.com> * Makeconfig: Add rules for libc with bounded pointers. * Makerules: Likewise. * config.make.in: Likewise. * configure.in: Likewise. 1997-02-21 10:41 Miles Bader <miles@gnu.ai.mit.edu> * argp.h (OPTION_NO_USAGE): New macro. * argp-help.c (usage_long_opt, usage_argful_short_opt, add_argless_short_opt): Implement OPTION_NO_USAGE. 1997-02-20 16:41 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * malloc/obstack.h: Fix typo. 1997-02-20 15:56 Miles Bader <miles@gnu.ai.mit.edu> * argp-fmtstream.c (__argp_fmtstream_update): Account for case where NEXTLINE points one past the end of the active buffer. * argp-help.c <stddef.h>: New include. (__argp_failure): Only exit if STATE says it's ok. (print_header, hol_entry_help): Use UPARAMS fields rather than constants. (_help): Call fill_in_uparams if necessary. (struct hol_help_state): New type. (struct pentry_state): Add hhstate field. Remove prev_entry & sep_groups fields. (hol_entry_help): Add HHSTATE parameter. Remove prev_entry & sep_groups parameters. Suppress duplicate arguments if requested, and note the fact. (print_header, comma): Use PEST->hhstate fields. (hol_help): Add HHSTATE variable & pass to hol_entry_help. Remove LAST_ENTRY & SEP_GROUPS variables. If any suplicate arguments were suppressed, print explanatory note. (filter_doc): Replace PEST parameter with STATE. (struct uparams): New type. (uparams): New variable. (struct uparam_name): New type. (uparam_names): New variable. (fill_in_uparams): New function. (__argp_failure, __argp_error, __argp_state_help): Make STATE parameter const. * argp.h (argp_state_help, __argp_state_help, argp_usage, __argp_usage, argp_error, __argp_error, argp_failure, __argp_failure): Make STATE parameter const. (ARGP_KEY_HELP_DUP_ARGS_NOTE): New macro. * argp.h (argp_program_bug_address): Make const. 1997-02-20 19:20 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/mman/syscalls.list: Explain msync interface. 1997-02-19 01:37 Erik Troan <ewt@redhat.com> * shadow/sgetspent_r.c: Accept empty third, fourth and fifth fields. 1997-02-20 14:44 Andreas Jaeger <aj@arthur.pfalz.de> * stdio-common/test-fseek.c: Remove temporary file, add copyright. 1997-02-20 17:51 Ulrich Drepper <drepper@cygnus.com> * sysdeps/generic/netinet/in.h: Protect contents using __BEGIN/END_DECLS. Reported by a sun <asun@zoology.washington.edu>. * inet/net/ethernet.h: Move to sysdeps/unix/sysv/linux/net. * inet/Makefile (headers): Remove net/ethernet.h. * sysdeps/unix/sysv/linux/Makefile: Install net/ethernet.h. * sysdeps/unix/sysv/linux/Dist: Distribute net/ethernet.h. 1997-02-20 15:23 Thorsten Kukuk <kukuk@weber.uni-paderborn.de> * nss/nsswitch.c (__nss_configure_lookup): Use correct test when searching in sorted array. 1997-02-20 01:24 Philip Blundell <pjb27@cam.ac.uk> * inet/getnameinfo.c: Change to use reentrant getXXbyYY functions and protect modification of global data. 1997-02-19 18:48 Miles Bader <miles@gnu.ai.mit.edu> * argp-parse.c (argp_default_parser): Set STATE->name for OPT_PROGNAME. (parser_init): Use the basename for PARSER->state.name. * argp-help.c (__argp_error, __argp_failure, __argp_state_help): Use PROGRAM_INVOCATION_SHORT_NAME instead of PROGRAM_INVOCATION_NAME. * argp-parse.c (parser_init): Set PARSER->state.flags. Make check whether PARSER has the prog name in argv[0] at the proper place. 1997-02-19 23:34 Ulrich Drepper <drepper@cygnus.com> * locale/programs/ld-time.c (time_finish): t_fmt_ampm is optional. Use default value instead of printing a warning. * nss/XXX-lookup.c: Add misssing explanation. 1997-02-19 19:14 Andreas Jaeger <aj@arthur.pfalz.de> * inet/in6_addr.c: Add missing braces. * inet/getnameinfo.c: Include <arpa/inet.h>. * sysdeps/posix/getaddrinfo.c: Include <arpa/inet.h>. 1997-02-19 11:46 Ulrich Drepper <drepper@cygnus.com> * string/strxfrm.c (STRCOLL): Correct handling of `position' levels with no non-IGNOREd element and handling of NUL byte. * string/strcoll.c (STRXFRM): Likewise. * locale/weight.h: Likewise. * shadow/sgetspent_r.c (LINE_PARSER): Add missing ')'.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/generic/netinet/in.h | 5 | ||||
-rw-r--r-- | sysdeps/posix/getaddrinfo.c | 15 | ||||
-rw-r--r-- | sysdeps/unix/mman/syscalls.list | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/Dist | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/Makefile | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/net/ethernet.h | 76 |
6 files changed, 94 insertions, 9 deletions
diff --git a/sysdeps/generic/netinet/in.h b/sysdeps/generic/netinet/in.h index bc8af8809e..ad77c8be7d 100644 --- a/sysdeps/generic/netinet/in.h +++ b/sysdeps/generic/netinet/in.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc. +/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify @@ -23,6 +23,7 @@ #include <sys/socket.h> +__BEGIN_DECLS /* Standard well-defined IP protocols. */ enum @@ -207,4 +208,6 @@ extern unsigned short int htons __P ((unsigned short int)); #define htons(x) (x) #endif +__END_DECLS + #endif /* netinet/in.h */ diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c index 042e0a5ef8..4d32ee02ac 100644 --- a/sysdeps/posix/getaddrinfo.c +++ b/sysdeps/posix/getaddrinfo.c @@ -64,6 +64,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include <netinet/in.h> #include <netdb.h> #include <errno.h> +#include <arpa/inet.h> #ifndef AF_LOCAL #define AF_LOCAL AF_UNIX @@ -202,7 +203,7 @@ static int gaih_inet(const char *name, const struct gaih_service *service, if (req->ai_protocol || req->ai_socktype) { for (tp++; tp->name && - ((req->ai_socktype != tp->socktype) || !req->ai_socktype) && + ((req->ai_socktype != tp->socktype) || !req->ai_socktype) && ((req->ai_protocol != tp->protocol) || !req->ai_protocol); tp++); if (!tp->name) if (req->ai_socktype) @@ -414,7 +415,7 @@ static int gaih_inet(const char *name, const struct gaih_service *service, if (!pai) { i = 0; - goto ret; + goto ret; }; { @@ -438,9 +439,9 @@ static int gaih_inet(const char *name, const struct gaih_service *service, char *tmpbuf = __alloca(tmpbuflen); while (__gethostbyaddr_r(at2->addr, #if INET6 - (at2->family == AF_INET6) ? sizeof(struct in6_addr) : + (at2->family == AF_INET6) ? sizeof(struct in6_addr) : #endif /* INET6 */ - sizeof(struct in_addr), at2->family, + sizeof(struct in_addr), at2->family, &th, tmpbuf, tmpbuflen, &h, &herrno)) { if (herrno == NETDB_INTERNAL) { if (errno == ERANGE) { @@ -454,7 +455,7 @@ static int gaih_inet(const char *name, const struct gaih_service *service, goto ret; } } else { - break; + break; } } #endif /* RESOLVER */ @@ -462,7 +463,7 @@ static int gaih_inet(const char *name, const struct gaih_service *service, if (!h) h = _addr2hostname_hosts(at2->addr, #if INET6 - (at2->family == AF_INET6) ? sizeof(struct in6_addr) : + (at2->family == AF_INET6) ? sizeof(struct in6_addr) : #endif /* INET6 */ sizeof(struct in_addr), at2->family); #endif /* HOSTTABLE */ @@ -516,7 +517,7 @@ static int gaih_inet(const char *name, const struct gaih_service *service, memcpy(&((struct sockaddr_in *)(*pai)->ai_addr)->sin_addr, at2->addr, sizeof(struct in_addr)); memset(((struct sockaddr_in *)(*pai)->ai_addr)->sin_zero, 0, sizeof(((struct sockaddr_in *)(*pai)->ai_addr)->sin_zero)); } - + if (c) { (*pai)->ai_canonname = (void *)(*pai) + sizeof(struct addrinfo) + i; strcpy((*pai)->ai_canonname, c); diff --git a/sysdeps/unix/mman/syscalls.list b/sysdeps/unix/mman/syscalls.list index dc63d89d7d..1d3173eafd 100644 --- a/sysdeps/unix/mman/syscalls.list +++ b/sysdeps/unix/mman/syscalls.list @@ -1,3 +1,7 @@ +# This interface desciption corresponds to the POSIX.1 description. The +# 4.4BSD interface is slightly different since the `msync' function takes +# only 2 arguments. + # File name Caller Syscall name # args Strong name Weak names madvise - madvise 3 madvise diff --git a/sysdeps/unix/sysv/linux/Dist b/sysdeps/unix/sysv/linux/Dist index 0c5903dc89..9c41e50b4c 100644 --- a/sysdeps/unix/sysv/linux/Dist +++ b/sysdeps/unix/sysv/linux/Dist @@ -5,6 +5,7 @@ llseek.c siglist.h sysctl.c termio.h +net/ethernet.h net/if.h net/if_arp.h net/if_ppp.h diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile index ad77f8872c..888ab9bd85 100644 --- a/sysdeps/unix/sysv/linux/Makefile +++ b/sysdeps/unix/sysv/linux/Makefile @@ -35,7 +35,7 @@ endif ifeq ($(subdir),socket) sysdep_headers += sys/socketcall.h net/if.h net/if_ppp.h net/ppp-comp.h \ - net/ppp_defs.h net/if_arp.h net/route.h + net/ppp_defs.h net/if_arp.h net/route.h net/ethernet.h sysdep_routines += cmsg_nxthdr endif diff --git a/sysdeps/unix/sysv/linux/net/ethernet.h b/sysdeps/unix/sysv/linux/net/ethernet.h new file mode 100644 index 0000000000..89a92c53f1 --- /dev/null +++ b/sysdeps/unix/sysv/linux/net/ethernet.h @@ -0,0 +1,76 @@ +/* Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* Based on the FreeBSD version of this file. Curiously, that file + lacks a copyright in the header. */ + +#ifndef __NET_ETHERNET_H +#define __NET_ETHERNET_H 1 + +#include <sys/cdefs.h> +#include <sys/types.h> +#include <linux/if_ether.h> /* IEEE 802.3 Ethernet constants */ + +__BEGIN_DECLS + +/* This is a name for the 48 bit ethernet address available on many + systems. */ +struct ether_addr +{ + u_int8_t ether_addr_octet[ETH_ALEN]; +}; + +/* 10Mb/s ethernet header */ +struct ether_header +{ + u_int8_t ether_dhost[ETH_ALEN]; /* destination eth addr */ + u_int8_t ether_shost[ETH_ALEN]; /* source ether addr */ + u_int16_t ether_type; /* packet type ID field */ +}; + +/* Ethernet protocol ID's */ +#define ETHERTYPE_PUP 0x0200 /* Xerox PUP */ +#define ETHERTYPE_IP 0x0800 /* IP */ +#define ETHERTYPE_ARP 0x0806 /* Address resolution */ +#define ETHERTYPE_REVARP 0x8035 /* Reverse ARP */ + +#define ETHER_ADDR_LEN ETH_ALEN /* size of ethernet addr */ +#define ETHER_TYPE_LEN 2 /* bytes in type field */ +#define ETHER_CRC_LEN 4 /* bytes in CRC field */ +#define ETHER_HDR_LEN ETH_HLEN /* total octets in header */ +#define ETHER_MIN_LEN (ETH_ZLEN + ETH_CRC_LEN) /* min packet length */ +#define ETHER_MAX_LEN (ETH_FRAME_LEN + ETH_CRC_LEN) /* max packet length */ + +/* make sure ethenet length is valid */ +#define ETHER_IS_VALID_LEN(foo) \ + ((foo) >= ETHER_MIN_LEN && (foo) <= ETHER_MAX_LEN) + +/* + * The ETHERTYPE_NTRAILER packet types starting at ETHERTYPE_TRAIL have + * (type-ETHERTYPE_TRAIL)*512 bytes of data followed + * by an ETHER type (as given above) and then the (variable-length) header. + */ +#define ETHERTYPE_TRAIL 0x1000 /* Trailer packet */ +#define ETHERTYPE_NTRAILER 16 + +#define ETHERMTU ETH_DATA_LEN +#define ETHERMIN (ETHER_MIN_LEN-ETHER_HDR_LEN-ETHER_CRC_LEN) + +__END_DECLS + +#endif /* net/ethernet.h */ |