1From abe15ba10ddc3548c528ccb088097d7abf5be48b Mon Sep 17 00:00:00 2001
2From: Li xin <lixin.fnst@cn.fujitsu.com>
3Date: Tue, 18 Nov 2014 18:14:07 +0900
4Subject: [PATCH 5/5] ethernet.c : remove it
5
6Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
7---
8 ethernet.c | 224 -------------------------------------------------------------
9 1 file changed, 224 deletions(-)
10 delete mode 100644 ethernet.c
11
12diff --git a/ethernet.c b/ethernet.c
13deleted file mode 100644
14index d682b63..0000000
15--- a/ethernet.c
16+++ /dev/null
17@@ -1,224 +0,0 @@
18-/*
19- * Copyright (c) 1990, 1993 The Regents of the University of California.
20- * All rights reserved.
21- *
22- * Redistribution and use in source and binary forms, with or without
23- * modification, are permitted provided that: (1) source code distributions
24- * retain the above copyright notice and this paragraph in its entirety, (2)
25- * distributions including binary code include the above copyright notice and
26- * this paragraph in its entirety in the documentation or other materials
27- * provided with the distribution, and (3) all advertising materials mentioning
28- * features or use of this software display the following acknowledgement:
29- * ``This product includes software developed by the University of California,
30- * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of
31- * the University nor the names of its contributors may be used to endorse
32- * or promote products derived from this software without specific prior
33- * written permission.
34- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
35- * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
36- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
37- */
38-#ifndef lint
39-static char rcsid[] =
40-    "@(#) $Header: etherent.c,v 1.4 96/06/14 20:34:25 leres Exp $ (LBL)";
41-#endif
42-
43-#include <sys/types.h>
44-#include <sys/stat.h>
45-#include <sys/time.h>
46-
47-#include <ctype.h>
48-#include <stdio.h>
49-#include <string.h>
50-
51-#ifndef ETHERS_FILE
52-#define ETHERS_FILE "/etc/ethers"
53-#endif
54-
55-struct etherent {
56-        u_char addr[6];
57-        char name[122];
58-};
59-
60-static FILE *ether_fp = NULL;
61-
62-
63-/* Hex digit to integer. */
64-static inline int
65-xdtoi(c)
66-	int c;
67-{
68-
69-	if (isdigit(c))
70-		return c - '0';
71-	else if (islower(c))
72-		return c - 'a' + 10;
73-	else
74-		return c - 'A' + 10;
75-}
76-
77-static inline int
78-skip_space(f)
79-	FILE *f;
80-{
81-	int c;
82-
83-	do {
84-		c = getc(f);
85-	} while (isspace(c) && c != '\n');
86-
87-	return c;
88-}
89-
90-static inline int
91-skip_line(f)
92-	FILE *f;
93-{
94-	int c;
95-
96-	do
97-		c = getc(f);
98-	while (c != '\n' && c != EOF);
99-
100-	return c;
101-}
102-
103-static struct etherent *
104-next_etherent(fp)
105-	FILE *fp;
106-{
107-	register int c, d, i;
108-	char *bp;
109-	static struct etherent e;
110-	static int nline = 1;
111- top:
112-	while (nline) {
113-		/* Find addr */
114-		c = skip_space(fp);
115-		if (c == '\n')
116-			continue;
117-		/* If this is a comment, or first thing on line
118-		   cannot be etehrnet address, skip the line. */
119-		else if (!isxdigit(c))
120-			c = skip_line(fp);
121-		else {
122-			/* must be the start of an address */
123-			for (i = 0; i < 6; i += 1) {
124-				d = xdtoi(c);
125-				c = getc(fp);
126-				if (c != ':') {
127-					d <<= 4;
128-					d |= xdtoi(c);
129-					c = getc(fp);
130-				}
131-				e.addr[i] = d;
132-				if (c != ':')
133-					break;
134-				c = getc(fp);
135-			}
136-			nline = 0;
137-		}
138-		if (c == EOF)
139-			return NULL;
140-	}
141-
142-	/* If we started a new line, 'c' holds the char past the ether addr,
143-	   which we assume is white space.  If we are continuing a line,
144-	   'c' is garbage.  In either case, we can throw it away. */
145-
146-	c = skip_space(fp);
147-	if (c == '\n') {
148-		nline = 1;
149-		goto top;
150-	}
151-	else if (c == '#') {
152-		(void)skip_line(fp);
153-		nline = 1;
154-		goto top;
155-	}
156-	else if (c == EOF)
157-		return NULL;
158-
159-	/* Must be a name. */
160-	bp = e.name;
161-	/* Use 'd' to prevent buffer overflow. */
162-	d = sizeof(e.name) - 1;
163-	do {
164-		*bp++ = c;
165-		c = getc(fp);
166-	} while (!isspace(c) && c != EOF && --d > 0);
167-	*bp = '\0';
168-	if (c == '\n')
169-		nline = 1;
170-
171-	return &e;
172-}
173-
174-/* Open/rewind the ethers files; returns 1 if file was reopened */
175-int
176-ether_rewind()
177-{
178-	struct stat st;
179-	static long mtime = 0, ctime = 0;
180-
181-	if (ether_fp != NULL) {
182-		if (fstat(fileno(ether_fp), &st) < 0 ||
183-		    mtime != st.st_mtime || ctime != st.st_ctime ||
184-		    fseek(ether_fp, 0L, SEEK_SET) < 0) {
185-			fclose(ether_fp);
186-			ether_fp = NULL;
187-		}
188-	}
189-	if (ether_fp == NULL) {
190-		ether_fp = fopen(ETHERS_FILE, "r");
191-		if (ether_fp == NULL)
192-			return (-1);
193-		if (fstat(fileno(ether_fp), &st) < 0) {
194-			fclose(ether_fp);
195-			ether_fp = NULL;
196-			return (-1);
197-		}
198-		mtime = st.st_mtime;
199-		ctime = st.st_ctime;
200-		return (1);
201-	}
202-	return (0);
203-}
204-
205-/* Map an ethernet address to a name; returns 0 on success, else 1. */
206-int
207-ether_ntohost(name, ea)
208-	register char *name;
209-	register u_char *ea;
210-{
211-	register struct etherent *ep;
212-
213-	if (ether_rewind() < 0)
214-		return (1);
215-
216-	while ((ep = next_etherent(ether_fp)) != NULL)
217-		if (bcmp(ep->addr, ea, 6) == 0) {
218-			strcpy(name, ep->name);
219-			return (0);
220-		}
221-	return (1);
222-}
223-
224-/* Map an ethernet name to an address; returns 0 on success, else 1. */
225-int
226-ether_hostton(name, ea)
227-	register char *name;
228-	register u_char *ea;
229-{
230-	register struct etherent *ep;
231-
232-	if (ether_rewind() < 0)
233-		return (1);
234-
235-	while ((ep = next_etherent(ether_fp)) != NULL)
236-		if (strcmp(ep->name, name) == 0) {
237-			bcopy(ep->addr, ea, 6);
238-			return (0);
239-		}
240-	return (1);
241-}
242--
2431.8.4.2
244
245