From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17727 invoked by alias); 5 Jun 2019 12:25:00 -0000 Mailing-List: contact glibc-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: , Sender: glibc-cvs-owner@sourceware.org List-Subscribe: Received: (qmail 17707 invoked by uid 9014); 5 Jun 2019 12:24:59 -0000 Date: Wed, 05 Jun 2019 12:25:00 -0000 Message-ID: <20190605122459.17706.qmail@sourceware.org> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Zack Weinberg To: glibc-cvs@sourceware.org Subject: [glibc/zack/no-nested-includes] Minimize includes by networking headers 1/n: resolv, ethernet, atalk X-Act-Checkin: glibc X-Git-Author: Zack Weinberg X-Git-Refname: refs/heads/zack/no-nested-includes X-Git-Oldrev: be0889c408d4f96c154f0e36d27b3ff9173893d6 X-Git-Newrev: 828ffb06e83a41f9e7585eadf4e4ba2de358058a X-SW-Source: 2019-q2/txt/msg00290.txt.bz2 https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=828ffb06e83a41f9e7585eadf4e4ba2de358058a commit 828ffb06e83a41f9e7585eadf4e4ba2de358058a Author: Zack Weinberg Date: Sat Jun 1 19:32:01 2019 -0400 Minimize includes by networking headers 1/n: resolv, ethernet, atalk The networking headers are messy and complicated so I’m doing the inclusion minimization in small batches. This does everything that sorts alphabetically before netinet/. * resolv/resolv.h: Include bits/types.h, bits/types/FILE.h, and bits/types/size_t.h; don’t include sys/param.h, sys/types.h, or stdio.h. Use __uint16_t and __uint32_t instead of uint16_t and uint32_t. * resolv/arpa/nameser.h: Include features.h, bits/types.h, and bits/types/size_t.h; don’t include sys/param.h, sys/types.h, or stdint.h. Use __uint16_t and __uint32_t instead of uint16_t and uint32_t. * resolv/arpa/nameser_compat.h: Include features.h. * sysdeps/mach/hurd/net/ethernet.h: Include bits/types.h; don’t include sys/types.h or stdint.h. Use __uint8_t and __uint16_t instead of uint8_t and uint16_t. * sysdeps/unix/sysv/linux/net/ethernet.h: Include features.h and bits/types.h; don’t include sys/types.h or stdint.h. Use __uint8_t and __uint16_t instead of uint8_t and uint16_t. * sysdeps/unix/sysv/linux/netinet/if_ether.h: Include features.h and bits/types.h. Use __uint8_t instead of uint8_t. * sysdeps/mach/hurd/net/if_arp.h: Don’t include sys/types.h or stdint.h. Use __uint32_t instead of uint32_t. * sysdeps/unix/sysv/linux/net/if_arp.h: Include features.h. Don’t include sys/types.h or stdint.h. Use __uint32_t instead of uint32_t. * sysdeps/mach/hurd/net/route.h: Don’t include sys/types.h. * sysdeps/unix/sysv/linux/net/route.h: Don’t include sys/types.h. * sysdeps/unix/sysv/linux/net/if_ppp.h: Include features.h and bits/types.h. Don’t include sys/types.h or stdint.h. Use __uint8_t and __uint32_t instead of uint8_t and uint32_t. * sysdeps/unix/sysv/linux/net/if_shaper.h: Include features.h and bits/types.h. Don’t include sys/types.h or stdint.h. Use __uint16_t and __uint32_t instead of uint16_t and uint32_t. * sysdeps/unix/sysv/linux/netatalk/at.h: Include features.h, bits/types.h, and sys/ioctl.h. Don’t include asm/types.h or linux/atalk.h. Copy over all user-appropriate definitions from linux/atalk.h with adjustments for glibc context. * grp/initgroups.c, nscd/initgrcache.c, nss/nss_db/db-XXX.c * resolv/ns_print.c, resolv/tst-ns_name_compress.c * resolv/tst-res_hnok.c, support/resolv_test.c: Include stdio.h. * nscd/initgrcache.c, nscd/netgroupcache.c * nss/nss_compat/compat-grp.c, nss/nss_compat/compat-pwd.c * nss/nss_compat/compat-spwd.c, resolv/ns_print.c: Include sys/param.h for MIN and/or MAX. * resolv/tst-resolv-res_init-skeleton.c: Include signal.h. * scripts/check-obsolete-constructs.py (HEADER_ALLOWED_INCLUDES, SYSDEP_ALLOWED_INCLUDES): Update. Diff: --- grp/initgroups.c | 1 + nscd/initgrcache.c | 2 ++ nscd/netgroupcache.c | 1 + nss/nss_compat/compat-grp.c | 1 + nss/nss_compat/compat-pwd.c | 1 + nss/nss_compat/compat-spwd.c | 1 + nss/nss_db/db-XXX.c | 1 + resolv/arpa/nameser.h | 34 +++++++++++++------------- resolv/arpa/nameser_compat.h | 1 + resolv/ns_print.c | 2 ++ resolv/resolv.h | 13 +++++----- resolv/tst-ns_name_compress.c | 1 + resolv/tst-res_hnok.c | 1 + resolv/tst-resolv-res_init-skeleton.c | 1 + scripts/check-obsolete-constructs.py | 27 ++++++++------------- support/resolv_test.c | 1 + sysdeps/mach/hurd/net/ethernet.h | 12 ++++----- sysdeps/mach/hurd/net/if_arp.h | 5 +--- sysdeps/mach/hurd/net/route.h | 3 +-- sysdeps/unix/sysv/linux/net/ethernet.h | 12 ++++----- sysdeps/unix/sysv/linux/net/if_arp.h | 5 ++-- sysdeps/unix/sysv/linux/net/if_ppp.h | 10 ++++---- sysdeps/unix/sysv/linux/net/if_shaper.h | 8 +++--- sysdeps/unix/sysv/linux/net/route.h | 2 +- sysdeps/unix/sysv/linux/netatalk/at.h | 39 ++++++++++++++++++++++++++++-- sysdeps/unix/sysv/linux/netinet/if_ether.h | 18 ++++++++------ 26 files changed, 121 insertions(+), 82 deletions(-) diff --git a/grp/initgroups.c b/grp/initgroups.c index a22f33c..6edfb0a 100644 --- a/grp/initgroups.c +++ b/grp/initgroups.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include diff --git a/nscd/initgrcache.c b/nscd/initgrcache.c index cf38c59..6786665 100644 --- a/nscd/initgrcache.c +++ b/nscd/initgrcache.c @@ -20,10 +20,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c index cda276e..8fcb092 100644 --- a/nscd/netgroupcache.c +++ b/nscd/netgroupcache.c @@ -24,6 +24,7 @@ #include #include #include +#include #include "../inet/netgroup.h" #include "nscd.h" diff --git a/nss/nss_compat/compat-grp.c b/nss/nss_compat/compat-grp.c index 8f01e44..c46a0dc 100644 --- a/nss/nss_compat/compat-grp.c +++ b/nss/nss_compat/compat-grp.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include diff --git a/nss/nss_compat/compat-pwd.c b/nss/nss_compat/compat-pwd.c index 37f883f..4b6734a 100644 --- a/nss/nss_compat/compat-pwd.c +++ b/nss/nss_compat/compat-pwd.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include diff --git a/nss/nss_compat/compat-spwd.c b/nss/nss_compat/compat-spwd.c index bd310ab..3eaa6e8 100644 --- a/nss/nss_compat/compat-spwd.c +++ b/nss/nss_compat/compat-spwd.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include diff --git a/nss/nss_db/db-XXX.c b/nss/nss_db/db-XXX.c index e17bbff..ac3586e 100644 --- a/nss/nss_db/db-XXX.c +++ b/nss/nss_db/db-XXX.c @@ -18,6 +18,7 @@ #include #include +#include #include #include #include diff --git a/resolv/arpa/nameser.h b/resolv/arpa/nameser.h index a99d5ec..4ce57bd 100644 --- a/resolv/arpa/nameser.h +++ b/resolv/arpa/nameser.h @@ -48,9 +48,9 @@ #ifndef _ARPA_NAMESER_H_ #define _ARPA_NAMESER_H_ -#include -#include -#include +#include +#include +#include /* * Define constants based on RFC 883, RFC 1034, RFC 1035 @@ -92,7 +92,7 @@ typedef enum __ns_sect { */ typedef struct __ns_msg { const unsigned char *_msg, *_eom; - uint16_t _id, _flags, _counts[ns_s_max]; + __uint16_t _id, _flags, _counts[ns_s_max]; const unsigned char *_sections[ns_s_max]; ns_sect _sect; int _rrnum; @@ -116,10 +116,10 @@ extern const struct _ns_flagdata _ns_flagdata[]; */ typedef struct __ns_rr { char name[NS_MAXDNAME]; - uint16_t type; - uint16_t rr_class; - uint32_t ttl; - uint16_t rdlength; + __uint16_t type; + __uint16_t rr_class; + __uint32_t ttl; + __uint16_t rdlength; const unsigned char * rdata; } ns_rr; @@ -355,24 +355,24 @@ typedef enum __ns_cert_types { */ #define NS_GET16(s, cp) do { \ const unsigned char *t_cp = (const unsigned char *)(cp); \ - (s) = ((uint16_t)t_cp[0] << 8) \ - | ((uint16_t)t_cp[1]) \ + (s) = ((__uint16_t)t_cp[0] << 8) \ + | ((__uint16_t)t_cp[1]) \ ; \ (cp) += NS_INT16SZ; \ } while (0) #define NS_GET32(l, cp) do { \ const unsigned char *t_cp = (const unsigned char *)(cp); \ - (l) = ((uint32_t)t_cp[0] << 24) \ - | ((uint32_t)t_cp[1] << 16) \ - | ((uint32_t)t_cp[2] << 8) \ - | ((uint32_t)t_cp[3]) \ + (l) = ((__uint32_t)t_cp[0] << 24) \ + | ((__uint32_t)t_cp[1] << 16) \ + | ((__uint32_t)t_cp[2] << 8) \ + | ((__uint32_t)t_cp[3]) \ ; \ (cp) += NS_INT32SZ; \ } while (0) #define NS_PUT16(s, cp) do { \ - uint16_t t_s = (uint16_t)(s); \ + __uint16_t t_s = (__uint16_t)(s); \ unsigned char *t_cp = (unsigned char *)(cp); \ *t_cp++ = t_s >> 8; \ *t_cp = t_s; \ @@ -380,7 +380,7 @@ typedef enum __ns_cert_types { } while (0) #define NS_PUT32(l, cp) do { \ - uint32_t t_l = (uint32_t)(l); \ + __uint32_t t_l = (__uint32_t)(l); \ unsigned char *t_cp = (unsigned char *)(cp); \ *t_cp++ = t_l >> 24; \ *t_cp++ = t_l >> 16; \ @@ -408,7 +408,7 @@ int ns_sprintrrf (const unsigned char *, size_t, const char *, const char *, char *, size_t) __THROW; int ns_format_ttl (unsigned long, char *, size_t) __THROW; int ns_parse_ttl (const char *, unsigned long *) __THROW; -uint32_t ns_datetosecs (const char *, int *) __THROW; +__uint32_t ns_datetosecs (const char *, int *) __THROW; int ns_name_ntol (const unsigned char *, unsigned char *, size_t) __THROW; int ns_name_ntop (const unsigned char *, char *, size_t) __THROW; diff --git a/resolv/arpa/nameser_compat.h b/resolv/arpa/nameser_compat.h index 37c178b..8996d37 100644 --- a/resolv/arpa/nameser_compat.h +++ b/resolv/arpa/nameser_compat.h @@ -29,6 +29,7 @@ #ifndef _ARPA_NAMESER_COMPAT_ #define _ARPA_NAMESER_COMPAT_ +#include #include /*% diff --git a/resolv/ns_print.c b/resolv/ns_print.c index d61f504..1dbcfb8 100644 --- a/resolv/ns_print.c +++ b/resolv/ns_print.c @@ -19,6 +19,7 @@ /* Import. */ #include +#include #include #include @@ -28,6 +29,7 @@ #include #include #include +#include #include #include diff --git a/resolv/resolv.h b/resolv/resolv.h index b4ef66f..5783de6 100644 --- a/resolv/resolv.h +++ b/resolv/resolv.h @@ -54,11 +54,12 @@ #include -#include -#include -#include #include #include + +#include +#include +#include #include /* @@ -248,10 +249,10 @@ int loc_aton (const char *__ascii, unsigned char *__binary) __THROW; const char * loc_ntoa (const unsigned char *__binary, char *__ascii) __THROW; int dn_skipname (const unsigned char *, const unsigned char *) __THROW; -void putlong (uint32_t, unsigned char *) __THROW; -void putshort (uint16_t, unsigned char *) __THROW; +void putlong (__uint32_t, unsigned char *) __THROW; +void putshort (__uint16_t, unsigned char *) __THROW; const char * p_class (int) __THROW; -const char * p_time (uint32_t) __THROW; +const char * p_time (__uint32_t) __THROW; const char * p_type (int) __THROW; const char * p_rcode (int) __THROW; const unsigned char * p_cdnname (const unsigned char *, diff --git a/resolv/tst-ns_name_compress.c b/resolv/tst-ns_name_compress.c index 00b6e81..019edf7 100644 --- a/resolv/tst-ns_name_compress.c +++ b/resolv/tst-ns_name_compress.c @@ -17,6 +17,7 @@ . */ #include +#include #include #include #include diff --git a/resolv/tst-res_hnok.c b/resolv/tst-res_hnok.c index a85449d..3bc1816 100644 --- a/resolv/tst-res_hnok.c +++ b/resolv/tst-res_hnok.c @@ -18,6 +18,7 @@ #include #include +#include #include #include #include diff --git a/resolv/tst-resolv-res_init-skeleton.c b/resolv/tst-resolv-res_init-skeleton.c index 678f396..32a7907 100644 --- a/resolv/tst-resolv-res_init-skeleton.c +++ b/resolv/tst-resolv-res_init-skeleton.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include diff --git a/scripts/check-obsolete-constructs.py b/scripts/check-obsolete-constructs.py index f7db88d..288d4e5 100755 --- a/scripts/check-obsolete-constructs.py +++ b/scripts/check-obsolete-constructs.py @@ -609,23 +609,17 @@ HEADER_ALLOWED_INCLUDES = { # Nonstandardized networking headers "ifaddrs.h": [ "sys/socket.h" ], - "resolv.h": [ "arpa/nameser.h", "netinet/in.h", - "stdio.h", "sys/param.h", - "sys/types.h" ], - "arpa/nameser.h": [ "arpa/nameser_compat.h", "stdint.h", - "sys/param.h", "sys/types.h" ], - "net/ethernet.h": [ "stdint.h", "sys/types.h", - "net/if_ether.h" ], - "net/if_arp.h": [ "stdint.h", "sys/socket.h", - "sys/types.h" ], - "net/if_ppp.h": [ "net/if.h", "net/ppp_defs.h", "stdint.h", - "sys/ioctl.h", "sys/types.h" ], - "net/if_shaper.h": [ "net/if.h", "stdint.h", "sys/ioctl.h", - "sys/types.h" ], - "net/route.h": [ "netinet/in.h", "sys/socket.h", - "sys/types.h" ], - "netatalk/at.h": [ "sys/socket.h" ], + "resolv.h": [ "arpa/nameser.h", "netinet/in.h" ], + "arpa/nameser.h": [ "arpa/nameser_compat.h" ], + + "net/ethernet.h": [ "stdint.h", "net/if_ether.h" ], + "net/if_arp.h": [ "sys/socket.h" ], + "net/if_ppp.h": [ "net/if.h", "net/ppp_defs.h", + "sys/ioctl.h" ], + "net/if_shaper.h": [ "net/if.h", "sys/ioctl.h" ], + "net/route.h": [ "netinet/in.h", "sys/socket.h" ], + "netatalk/at.h": [ "sys/socket.h", "sys/ioctl.h" ], "netinet/ether.h": [ "netinet/if_ether.h" ], "netinet/icmp6.h": [ "inttypes.h", "netinet/in.h", "string.h", "sys/types.h" ], @@ -688,7 +682,6 @@ SYSDEP_ALLOWED_INCLUDES = { "net/ethernet.h": [ "linux/if_ether.h" ], "net/if_slip.h": [ "linux/if_slip.h" ], "net/ppp_defs.h": [ "asm/types.h", "linux/ppp_defs.h" ], - "netatalk/at.h": [ "asm/types.h", "linux/atalk.h" ], "netinet/if_ether.h": [ "linux/if_ether.h" ], "netinet/if_fddi.h": [ "linux/if_fddi.h" ], diff --git a/support/resolv_test.c b/support/resolv_test.c index 903ab2a..45d8ec7 100644 --- a/support/resolv_test.c +++ b/support/resolv_test.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include diff --git a/sysdeps/mach/hurd/net/ethernet.h b/sysdeps/mach/hurd/net/ethernet.h index 8956694..3003523 100644 --- a/sysdeps/mach/hurd/net/ethernet.h +++ b/sysdeps/mach/hurd/net/ethernet.h @@ -22,9 +22,7 @@ #define __NET_ETHERNET_H 1 #include - -#include -#include +#include #include /* IEEE 802.3 Ethernet constants */ __BEGIN_DECLS @@ -33,15 +31,15 @@ __BEGIN_DECLS systems. */ struct ether_addr { - uint8_t ether_addr_octet[ETH_ALEN]; + __uint8_t ether_addr_octet[ETH_ALEN]; }; /* 10Mb/s ethernet header */ struct ether_header { - uint8_t ether_dhost[ETH_ALEN]; /* destination eth addr */ - uint8_t ether_shost[ETH_ALEN]; /* source ether addr */ - uint16_t ether_type; /* packet type ID field */ + __uint8_t ether_dhost[ETH_ALEN]; /* destination eth addr */ + __uint8_t ether_shost[ETH_ALEN]; /* source ether addr */ + __uint16_t ether_type; /* packet type ID field */ }; /* Ethernet protocol ID's */ diff --git a/sysdeps/mach/hurd/net/if_arp.h b/sysdeps/mach/hurd/net/if_arp.h index 9e1b223..38665fe 100644 --- a/sysdeps/mach/hurd/net/if_arp.h +++ b/sysdeps/mach/hurd/net/if_arp.h @@ -23,10 +23,7 @@ #define _NET_IF_ARP_H 1 #include - -#include #include -#include __BEGIN_DECLS @@ -133,7 +130,7 @@ struct arpreq struct arpd_request { unsigned short int req; /* Request type. */ - uint32_t ip; /* IP address of entry. */ + __uint32_t ip; /* IP address of entry. */ unsigned long int dev; /* Device entry is tied to. */ unsigned long int stamp; unsigned long int updated; diff --git a/sysdeps/mach/hurd/net/route.h b/sysdeps/mach/hurd/net/route.h index 4924f09..fcb79bb 100644 --- a/sysdeps/mach/hurd/net/route.h +++ b/sysdeps/mach/hurd/net/route.h @@ -18,12 +18,11 @@ /* Based on the 4.4BSD and Linux version of this file. */ #ifndef _NET_ROUTE_H - #define _NET_ROUTE_H 1 + #include #include -#include #include diff --git a/sysdeps/unix/sysv/linux/net/ethernet.h b/sysdeps/unix/sysv/linux/net/ethernet.h index 7e49297..1833511 100644 --- a/sysdeps/unix/sysv/linux/net/ethernet.h +++ b/sysdeps/unix/sysv/linux/net/ethernet.h @@ -21,8 +21,8 @@ #ifndef __NET_ETHERNET_H #define __NET_ETHERNET_H 1 -#include -#include +#include +#include #include /* IEEE 802.3 Ethernet constants */ @@ -32,15 +32,15 @@ __BEGIN_DECLS systems. */ struct ether_addr { - uint8_t ether_addr_octet[ETH_ALEN]; + __uint8_t ether_addr_octet[ETH_ALEN]; } __attribute__ ((__packed__)); /* 10Mb/s ethernet header */ struct ether_header { - uint8_t ether_dhost[ETH_ALEN]; /* destination eth addr */ - uint8_t ether_shost[ETH_ALEN]; /* source ether addr */ - uint16_t ether_type; /* packet type ID field */ + __uint8_t ether_dhost[ETH_ALEN]; /* destination eth addr */ + __uint8_t ether_shost[ETH_ALEN]; /* source ether addr */ + __uint16_t ether_type; /* packet type ID field */ } __attribute__ ((__packed__)); /* Ethernet protocol ID's */ diff --git a/sysdeps/unix/sysv/linux/net/if_arp.h b/sysdeps/unix/sysv/linux/net/if_arp.h index f64dcfd..5013d08 100644 --- a/sysdeps/unix/sysv/linux/net/if_arp.h +++ b/sysdeps/unix/sysv/linux/net/if_arp.h @@ -22,9 +22,8 @@ #ifndef _NET_IF_ARP_H #define _NET_IF_ARP_H 1 -#include +#include #include -#include __BEGIN_DECLS @@ -171,7 +170,7 @@ struct arpreq_old struct arpd_request { unsigned short int req; /* Request type. */ - uint32_t ip; /* IP address of entry. */ + __uint32_t ip; /* IP address of entry. */ unsigned long int dev; /* Device entry is tied to. */ unsigned long int stamp; unsigned long int updated; diff --git a/sysdeps/unix/sysv/linux/net/if_ppp.h b/sysdeps/unix/sysv/linux/net/if_ppp.h index 31a20766..1fd813b 100644 --- a/sysdeps/unix/sysv/linux/net/if_ppp.h +++ b/sysdeps/unix/sysv/linux/net/if_ppp.h @@ -48,10 +48,10 @@ #ifndef __NET_IF_PPP_H #define __NET_IF_PPP_H 1 -#include -#include -#include +#include +#include #include +#include #include __BEGIN_DECLS @@ -113,8 +113,8 @@ struct npioctl { /* Structure describing a CCP configuration option, for PPPIOCSCOMPRESS */ struct ppp_option_data { - uint8_t *ptr; - uint32_t length; + __uint8_t *ptr; + __uint32_t length; int transmit; }; diff --git a/sysdeps/unix/sysv/linux/net/if_shaper.h b/sysdeps/unix/sysv/linux/net/if_shaper.h index 77ab630..0ccc2a9 100644 --- a/sysdeps/unix/sysv/linux/net/if_shaper.h +++ b/sysdeps/unix/sysv/linux/net/if_shaper.h @@ -18,8 +18,8 @@ #ifndef _NET_IF_SHAPER_H #define _NET_IF_SHAPER_H 1 -#include -#include +#include +#include #include #include @@ -43,11 +43,11 @@ __BEGIN_DECLS struct shaperconf { - uint16_t ss_cmd; + __uint16_t ss_cmd; union { char ssu_name[14]; - uint32_t ssu_speed; + __uint32_t ssu_speed; } ss_u; #define ss_speed ss_u.ssu_speed #define ss_name ss_u.ssu_name diff --git a/sysdeps/unix/sysv/linux/net/route.h b/sysdeps/unix/sysv/linux/net/route.h index a6bda21..a0d9a74 100644 --- a/sysdeps/unix/sysv/linux/net/route.h +++ b/sysdeps/unix/sysv/linux/net/route.h @@ -21,8 +21,8 @@ #define _NET_ROUTE_H 1 #include + #include -#include #include #include diff --git a/sysdeps/unix/sysv/linux/netatalk/at.h b/sysdeps/unix/sysv/linux/netatalk/at.h index 61fb675..f78d6b8 100644 --- a/sysdeps/unix/sysv/linux/netatalk/at.h +++ b/sysdeps/unix/sysv/linux/netatalk/at.h @@ -18,11 +18,46 @@ #ifndef _NETATALK_AT_H #define _NETATALK_AT_H 1 -#include +#include +#include #include -#include + #include +#include + +/* Constants from linux/atalk.h as of kernel version 5.0. */ +#define ATPORT_FIRST 1 +#define ATPORT_RESERVED 128 +#define ATPORT_LAST 254 /* 254 is only legal on localtalk */ +#define ATADDR_ANYNET 0 +#define ATADDR_ANYNODE 0 +#define ATADDR_ANYPORT 0 +#define ATADDR_BCAST 255 +#define DDP_MAXSZ 587 +#define DDP_MAXHOPS 15 /* 4 bits of hop counter */ #define SOL_ATALK 258 /* sockopt level for atalk */ +#define SIOCATALKDIFADDR (SIOCPROTOPRIVATE + 0) + +struct atalk_addr +{ + __uint16_t s_net; /* network byte order */ + __uint8_t s_node; +}; + +struct atalk_netrange +{ + __uint8_t nr_phase; + __uint16_t nr_firstnet; /* network byte order */ + __uint16_t nr_lastnet; /* network byte order */ +}; + +struct sockaddr_at +{ + __SOCKADDR_COMMON (sat_); + __uint8_t sat_port; + struct atalk_addr sat_addr; + __uint8_t sat_zero[8]; +}; #endif /* netatalk/at.h */ diff --git a/sysdeps/unix/sysv/linux/netinet/if_ether.h b/sysdeps/unix/sysv/linux/netinet/if_ether.h index 2c07500..3856905 100644 --- a/sysdeps/unix/sysv/linux/netinet/if_ether.h +++ b/sysdeps/unix/sysv/linux/netinet/if_ether.h @@ -57,6 +57,8 @@ * $FreeBSD$ */ +#include +#include #include #include @@ -70,10 +72,10 @@ __BEGIN_DECLS */ struct ether_arp { struct arphdr ea_hdr; /* fixed-size header */ - uint8_t arp_sha[ETH_ALEN]; /* sender hardware address */ - uint8_t arp_spa[4]; /* sender protocol address */ - uint8_t arp_tha[ETH_ALEN]; /* target hardware address */ - uint8_t arp_tpa[4]; /* target protocol address */ + __uint8_t arp_sha[ETH_ALEN]; /* sender hardware address */ + __uint8_t arp_spa[4]; /* sender protocol address */ + __uint8_t arp_tha[ETH_ALEN]; /* target hardware address */ + __uint8_t arp_tpa[4]; /* target protocol address */ }; #define arp_hrd ea_hdr.ar_hrd #define arp_pro ea_hdr.ar_pro @@ -88,14 +90,14 @@ struct ether_arp { */ #define ETHER_MAP_IP_MULTICAST(ipaddr, enaddr) \ /* struct in_addr *ipaddr; */ \ - /* uint8_t enaddr[ETH_ALEN]; */ \ + /* __uint8_t enaddr[ETH_ALEN]; */ \ { \ (enaddr)[0] = 0x01; \ (enaddr)[1] = 0x00; \ (enaddr)[2] = 0x5e; \ - (enaddr)[3] = ((uint8_t *)ipaddr)[1] & 0x7f; \ - (enaddr)[4] = ((uint8_t *)ipaddr)[2]; \ - (enaddr)[5] = ((uint8_t *)ipaddr)[3]; \ + (enaddr)[3] = ((__uint8_t *)ipaddr)[1] & 0x7f; \ + (enaddr)[4] = ((__uint8_t *)ipaddr)[2]; \ + (enaddr)[5] = ((__uint8_t *)ipaddr)[3]; \ } __END_DECLS