From c3d45b822cd7d7c359aceba9447a1619b5a2150b Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Mon, 11 Jun 2012 15:01:10 -0700 Subject: [PATCH] Remove the meaningless on Linux if_dl.h header. This was misleading 'configure' into thinking we actually support AF_LINK, but we're Linux, so we don't, and we never implemented the functions we declared here either. Reported to AOSP by Jun-ya Kato. (cherry-pick of 5056f1fad1187cd67729bb04ba72397d78256f03.) Change-Id: Ic67f674d2221497c8166994812bb5fc7f0831066 --- libc/include/net/if_dl.h | 87 ----------------------------------- libc/netbsd/net/getnameinfo.c | 10 +++- 2 files changed, 8 insertions(+), 89 deletions(-) delete mode 100644 libc/include/net/if_dl.h diff --git a/libc/include/net/if_dl.h b/libc/include/net/if_dl.h deleted file mode 100644 index 1f0c08061..000000000 --- a/libc/include/net/if_dl.h +++ /dev/null @@ -1,87 +0,0 @@ -/* $NetBSD: if_dl.h,v 1.18 2005/12/11 23:05:24 thorpej Exp $ */ - -/* - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)if_dl.h 8.1 (Berkeley) 6/10/93 - */ - -/* - * A Link-Level Sockaddr may specify the interface in one of two - * ways: either by means of a system-provided index number (computed - * anew and possibly differently on every reboot), or by a human-readable - * string such as "il0" (for managerial convenience). - * - * Census taking actions, such as something akin to SIOCGCONF would return - * both the index and the human name. - * - * High volume transactions (such as giving a link-level ``from'' address - * in a recvfrom or recvmsg call) may be likely only to provide the indexed - * form, (which requires fewer copy operations and less space). - * - * The form and interpretation of the link-level address is purely a matter - * of convention between the device driver and its consumers; however, it is - * expected that all drivers for an interface of a given if_type will agree. - */ - -#ifndef _NET_IF_DL_H_ -#define _NET_IF_DL_H_ - -#include - -/* - * Structure of a Link-Level sockaddr: - */ -struct sockaddr_dl { - u_char sdl_len; /* Total length of sockaddr */ - sa_family_t sdl_family; /* AF_LINK */ - u_int16_t sdl_index; /* if != 0, system given index for interface */ - u_char sdl_type; /* interface type */ - u_char sdl_nlen; /* interface name length, no trailing 0 reqd. */ - u_char sdl_alen; /* link level address length */ - u_char sdl_slen; /* link layer selector length */ - char sdl_data[12]; /* minimum work area, can be larger; - contains both if name and ll address */ -}; - -/* We do arithmetic directly with these, so keep them char instead of void */ -#define LLADDR(s) ((char *)((s)->sdl_data + (s)->sdl_nlen)) -#define CLLADDR(s) ((const char *)((s)->sdl_data + (s)->sdl_nlen)) - -#ifndef _KERNEL - -#include - -__BEGIN_DECLS -void link_addr(const char *, struct sockaddr_dl *); -char *link_ntoa(const struct sockaddr_dl *); -__END_DECLS - -#endif /* !_KERNEL */ - -#endif /* !_NET_IF_DL_H_ */ diff --git a/libc/netbsd/net/getnameinfo.c b/libc/netbsd/net/getnameinfo.c index d3d0011b9..fcc47e785 100644 --- a/libc/netbsd/net/getnameinfo.c +++ b/libc/netbsd/net/getnameinfo.c @@ -53,7 +53,9 @@ __RCSID("$NetBSD: getnameinfo.c,v 1.43 2006/02/17 15:58:26 ginsbach Exp $"); #include #include #include +#if defined(ANDROID_CHANGES) && defined(AF_LINK) #include +#endif #include #include #include @@ -104,8 +106,10 @@ static int ip6_parsenumeric __P((const struct sockaddr *, const char *, char *, static int ip6_sa2str __P((const struct sockaddr_in6 *, char *, size_t, int)); #endif +#if defined(ANDROID_CHANGES) && defined(AF_LINK) static int getnameinfo_link __P((const struct sockaddr *, socklen_t, char *, socklen_t, char *, socklen_t, int)); +#endif static int hexname __P((const u_int8_t *, size_t, char *, socklen_t)); /* @@ -119,7 +123,7 @@ int getnameinfo(const struct sockaddr* sa, socklen_t salen, char* host, size_t h case AF_INET6: return getnameinfo_inet(sa, salen, host, hostlen, serv, servlen, flags); -#if 0 +#if defined(ANDROID_CHANGES) && defined(AF_LINK) case AF_LINK: return getnameinfo_link(sa, salen, host, hostlen, serv, servlen, flags); @@ -390,7 +394,7 @@ getnameinfo_inet(sa, salen, host, hostlen, serv, servlen, flags) #endif if (hp) { -#if 0 +#if defined(ANDROID_CHANGES) && defined(AF_LINK) /* * commented out, since "for local host" is not * implemented here - see RFC2553 p30 @@ -528,6 +532,7 @@ ip6_sa2str(sa6, buf, bufsiz, flags) #endif /* INET6 */ +#if defined(ANDROID_CHANGES) && defined(AF_LINK) /* * getnameinfo_link(): * Format a link-layer address into a printable format, paying attention to @@ -605,6 +610,7 @@ getnameinfo_link(const struct sockaddr *sa, socklen_t salen, (size_t)sdl->sdl_alen, host, hostlen); } } +#endif static int hexname(cp, len, host, hostlen)