summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/libkern/Makefile10
-rw-r--r--sys/libkern/inet_ntoa.c49
-rw-r--r--sys/netinet/if_ether.c30
-rw-r--r--sys/netinet/in.h5
4 files changed, 64 insertions, 30 deletions
diff --git a/sys/libkern/Makefile b/sys/libkern/Makefile
index 1dc9785..d2383d2 100644
--- a/sys/libkern/Makefile
+++ b/sys/libkern/Makefile
@@ -1,15 +1,15 @@
# @(#)Makefile 7.9 (Berkeley) 6/1/93
-# $Id: Makefile,v 1.6 1995/01/10 01:57:56 bde Exp $
+# $Id: Makefile,v 1.7 1995/02/27 09:16:02 ugen Exp $
.undef NOPROFILE
LIB= kern
CFLAGS+= -I${.CURDIR} -I${.CURDIR}/.. -DKERNEL
SRCS= adddi3.c anddi3.c ashldi3.c ashrdi3.c bcmp.c cmpdi2.c divdi3.c \
- ffs.c iordi3.c locc.c lshldi3.c lshrdi3.c mcount.c moddi3.c \
- muldi3.c negdi2.c notdi2.c qdivrem.c random.c rindex.c scanc.c \
- skpc.c strcat.c strcmp.c strcpy.c strlen.c strncmp.c strncpy.c \
- subdi3.c ucmpdi2.c udivdi3.c umoddi3.c xordi3.c
+ ffs.c iordi3.c inet_ntoa.c locc.c lshldi3.c lshrdi3.c mcount.c \
+ moddi3.c muldi3.c negdi2.c notdi2.c qdivrem.c random.c rindex.c \
+ scanc.c skpc.c strcat.c strcmp.c strcpy.c strlen.c strncmp.c \
+ strncpy.c subdi3.c ucmpdi2.c udivdi3.c umoddi3.c xordi3.c
.if exists(${.CURDIR}/${MACHINE}/Makefile.inc)
.PATH: ${.CURDIR}/${MACHINE}
diff --git a/sys/libkern/inet_ntoa.c b/sys/libkern/inet_ntoa.c
new file mode 100644
index 0000000..dcc6078
--- /dev/null
+++ b/sys/libkern/inet_ntoa.c
@@ -0,0 +1,49 @@
+
+/*
+ * Copyright 1994, 1995 Massachusetts Institute of Technology
+ *
+ * Permission to use, copy, modify, and distribute this software and
+ * its documentation for any purpose and without fee is hereby
+ * granted, provided that both the above copyright notice and this
+ * permission notice appear in all copies, that both the above
+ * copyright notice and this permission notice appear in all
+ * supporting documentation, and that the name of M.I.T. not be used
+ * in advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission. M.I.T. makes
+ * no representations about the suitability of this software for any
+ * purpose. It is provided "as is" without express or implied
+ * warranty.
+ *
+ * THIS SOFTWARE IS PROVIDED BY M.I.T. ``AS IS''. M.I.T. DISCLAIMS
+ * ALL EXPRESS OR IMPLIED WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT
+ * SHALL M.I.T. 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.
+ */
+
+#include <sys/param.h>
+#include <sys/systm.h>
+
+#include <netinet/in.h>
+
+char *
+inet_ntoa(struct in_addr ina)
+{
+ static char buf[4*sizeof "123"];
+ unsigned char *ucp = (unsigned char *)&ina;
+
+ sprintf(buf, "%d.%d.%d.%d",
+ ucp[0] & 0xff,
+ ucp[1] & 0xff,
+ ucp[2] & 0xff,
+ ucp[3] & 0xff);
+ return buf;
+}
+
diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c
index 1de191a..9517a3c 100644
--- a/sys/netinet/if_ether.c
+++ b/sys/netinet/if_ether.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)if_ether.c 8.1 (Berkeley) 6/10/93
- * $Id: if_ether.c,v 1.10 1994/12/22 22:00:29 wollman Exp $
+ * $Id: if_ether.c,v 1.11 1995/02/20 15:48:40 davidg Exp $
*/
/*
@@ -97,24 +97,6 @@ int arp_proxyall = 1;
#endif
/*
- * Support: format an IP address. There should be a standard kernel routine
- * to do this.
- */
-static char *
-arp_ntoa(struct in_addr *x)
-{
- static char buf[4*sizeof "123"];
- unsigned char *ucp = (unsigned char *)x;
-
- sprintf(buf, "%d.%d.%d.%d",
- ucp[0] & 0xff,
- ucp[1] & 0xff,
- ucp[2] & 0xff,
- ucp[3] & 0xff);
- return buf;
-}
-
-/*
* Timeout routine. Age arp_tab entries periodically.
*/
/* ARGSUSED */
@@ -467,13 +449,13 @@ in_arpinput(m)
sizeof (ea->arp_sha))) {
log(LOG_ERR,
"arp: ether address is broadcast for IP address %s!\n",
- arp_ntoa(&isaddr));
+ inet_ntoa(isaddr));
goto out;
}
if (isaddr.s_addr == myaddr.s_addr) {
log(LOG_ERR,
"duplicate IP address %s! sent from ethernet address: %s\n",
- arp_ntoa(&isaddr), ether_sprintf(ea->arp_sha));
+ inet_ntoa(isaddr), ether_sprintf(ea->arp_sha));
itaddr = myaddr;
goto reply;
}
@@ -482,7 +464,7 @@ in_arpinput(m)
if (sdl->sdl_alen &&
bcmp((caddr_t)ea->arp_sha, LLADDR(sdl), sdl->sdl_alen))
log(LOG_INFO, "arp info overwritten for %s by %s\n",
- arp_ntoa(&isaddr), ether_sprintf(ea->arp_sha));
+ inet_ntoa(isaddr), ether_sprintf(ea->arp_sha));
bcopy((caddr_t)ea->arp_sha, LLADDR(sdl),
sdl->sdl_alen = sizeof(ea->arp_sha));
if (rt->rt_expire)
@@ -539,7 +521,7 @@ reply:
rtfree(rt);
#ifdef DEBUG_PROXY
printf("arp: proxying for %s\n",
- arp_ntoa(&itaddr));
+ inet_ntoa(itaddr));
#endif
#else
goto out;
@@ -617,7 +599,7 @@ arplookup(addr, create, proxy)
if(why && create) {
log(LOG_DEBUG, "arplookup %s failed: %s\n",
- arp_ntoa(&sin.sin_addr), why);
+ inet_ntoa(sin.sin_addr), why);
return 0;
} else if(why) {
return 0;
diff --git a/sys/netinet/in.h b/sys/netinet/in.h
index b4fd19f..5c83a2e 100644
--- a/sys/netinet/in.h
+++ b/sys/netinet/in.h
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)in.h 8.3 (Berkeley) 1/3/94
- * $Id: in.h,v 1.6 1994/12/21 17:23:59 wollman Exp $
+ * $Id: in.h,v 1.7 1995/02/14 23:04:50 wollman Exp $
*/
#ifndef _NETINET_IN_H_
@@ -244,12 +244,15 @@ struct ip_mreq {
#ifdef KERNEL
+struct ifnet; struct mbuf; /* forward declarations for Standard C */
+
int in_broadcast __P((struct in_addr, struct ifnet *));
int in_canforward __P((struct in_addr));
int in_cksum __P((struct mbuf *, int));
int in_localaddr __P((struct in_addr));
u_long in_netof __P((struct in_addr));
void in_socktrim __P((struct sockaddr_in *));
+char *inet_ntoa __P((struct in_addr)); /* in libkern */
#endif
#endif
OpenPOWER on IntegriCloud