blob: c77c806127eba622a45c947fb4468f49d560d11f [file] [log] [blame]
From abe15ba10ddc3548c528ccb088097d7abf5be48b Mon Sep 17 00:00:00 2001
From: Li xin <lixin.fnst@cn.fujitsu.com>
Date: Tue, 18 Nov 2014 18:14:07 +0900
Subject: [PATCH 5/5] ethernet.c : remove it
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
---
ethernet.c | 224 -------------------------------------------------------------
1 file changed, 224 deletions(-)
delete mode 100644 ethernet.c
diff --git a/ethernet.c b/ethernet.c
deleted file mode 100644
index d682b63..0000000
--- a/ethernet.c
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * 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: (1) source code distributions
- * retain the above copyright notice and this paragraph in its entirety, (2)
- * distributions including binary code include the above copyright notice and
- * this paragraph in its entirety in the documentation or other materials
- * provided with the distribution, and (3) all advertising materials mentioning
- * features or use of this software display the following acknowledgement:
- * ``This product includes software developed by the University of California,
- * Lawrence Berkeley Laboratory and its contributors.'' 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-#ifndef lint
-static char rcsid[] =
- "@(#) $Header: etherent.c,v 1.4 96/06/14 20:34:25 leres Exp $ (LBL)";
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/time.h>
-
-#include <ctype.h>
-#include <stdio.h>
-#include <string.h>
-
-#ifndef ETHERS_FILE
-#define ETHERS_FILE "/etc/ethers"
-#endif
-
-struct etherent {
- u_char addr[6];
- char name[122];
-};
-
-static FILE *ether_fp = NULL;
-
-
-/* Hex digit to integer. */
-static inline int
-xdtoi(c)
- int c;
-{
-
- if (isdigit(c))
- return c - '0';
- else if (islower(c))
- return c - 'a' + 10;
- else
- return c - 'A' + 10;
-}
-
-static inline int
-skip_space(f)
- FILE *f;
-{
- int c;
-
- do {
- c = getc(f);
- } while (isspace(c) && c != '\n');
-
- return c;
-}
-
-static inline int
-skip_line(f)
- FILE *f;
-{
- int c;
-
- do
- c = getc(f);
- while (c != '\n' && c != EOF);
-
- return c;
-}
-
-static struct etherent *
-next_etherent(fp)
- FILE *fp;
-{
- register int c, d, i;
- char *bp;
- static struct etherent e;
- static int nline = 1;
- top:
- while (nline) {
- /* Find addr */
- c = skip_space(fp);
- if (c == '\n')
- continue;
- /* If this is a comment, or first thing on line
- cannot be etehrnet address, skip the line. */
- else if (!isxdigit(c))
- c = skip_line(fp);
- else {
- /* must be the start of an address */
- for (i = 0; i < 6; i += 1) {
- d = xdtoi(c);
- c = getc(fp);
- if (c != ':') {
- d <<= 4;
- d |= xdtoi(c);
- c = getc(fp);
- }
- e.addr[i] = d;
- if (c != ':')
- break;
- c = getc(fp);
- }
- nline = 0;
- }
- if (c == EOF)
- return NULL;
- }
-
- /* If we started a new line, 'c' holds the char past the ether addr,
- which we assume is white space. If we are continuing a line,
- 'c' is garbage. In either case, we can throw it away. */
-
- c = skip_space(fp);
- if (c == '\n') {
- nline = 1;
- goto top;
- }
- else if (c == '#') {
- (void)skip_line(fp);
- nline = 1;
- goto top;
- }
- else if (c == EOF)
- return NULL;
-
- /* Must be a name. */
- bp = e.name;
- /* Use 'd' to prevent buffer overflow. */
- d = sizeof(e.name) - 1;
- do {
- *bp++ = c;
- c = getc(fp);
- } while (!isspace(c) && c != EOF && --d > 0);
- *bp = '\0';
- if (c == '\n')
- nline = 1;
-
- return &e;
-}
-
-/* Open/rewind the ethers files; returns 1 if file was reopened */
-int
-ether_rewind()
-{
- struct stat st;
- static long mtime = 0, ctime = 0;
-
- if (ether_fp != NULL) {
- if (fstat(fileno(ether_fp), &st) < 0 ||
- mtime != st.st_mtime || ctime != st.st_ctime ||
- fseek(ether_fp, 0L, SEEK_SET) < 0) {
- fclose(ether_fp);
- ether_fp = NULL;
- }
- }
- if (ether_fp == NULL) {
- ether_fp = fopen(ETHERS_FILE, "r");
- if (ether_fp == NULL)
- return (-1);
- if (fstat(fileno(ether_fp), &st) < 0) {
- fclose(ether_fp);
- ether_fp = NULL;
- return (-1);
- }
- mtime = st.st_mtime;
- ctime = st.st_ctime;
- return (1);
- }
- return (0);
-}
-
-/* Map an ethernet address to a name; returns 0 on success, else 1. */
-int
-ether_ntohost(name, ea)
- register char *name;
- register u_char *ea;
-{
- register struct etherent *ep;
-
- if (ether_rewind() < 0)
- return (1);
-
- while ((ep = next_etherent(ether_fp)) != NULL)
- if (bcmp(ep->addr, ea, 6) == 0) {
- strcpy(name, ep->name);
- return (0);
- }
- return (1);
-}
-
-/* Map an ethernet name to an address; returns 0 on success, else 1. */
-int
-ether_hostton(name, ea)
- register char *name;
- register u_char *ea;
-{
- register struct etherent *ep;
-
- if (ether_rewind() < 0)
- return (1);
-
- while ((ep = next_etherent(ether_fp)) != NULL)
- if (strcmp(ep->name, name) == 0) {
- bcopy(ep->addr, ea, 6);
- return (0);
- }
- return (1);
-}
--
1.8.4.2