"SfR Fresh" - the SfR Freeware/Shareware Archive 
Member "trafshow-3.1/linux/netinet/if_ether.h" of archive trafshow-3.1.tgz:
As a special service "SfR Fresh" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting with prefixed line numbers.
Alternatively you can here view or download the uninterpreted source code file.
That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.
1 /*
2 * Copyright (c) 1982, 1986, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * 3. All advertising materials mentioning features or use of this software
14 * must display the following acknowledgement:
15 * This product includes software developed by the University of
16 * California, Berkeley and its contributors.
17 * 4. Neither the name of the University nor the names of its contributors
18 * may be used to endorse or promote products derived from this software
19 * without specific prior written permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 *
33 * @(#)if_ether.h 8.3 (Berkeley) 5/2/95
34 */
35
36 #include <net/if_arp.h>
37
38 /*
39 * Ethernet address - 6 octets
40 */
41 struct ether_addr {
42 u_char ether_addr_octet[6];
43 };
44
45 /*
46 * Structure of a 10Mb/s Ethernet header.
47 */
48 struct ether_header {
49 u_char ether_dhost[6];
50 u_char ether_shost[6];
51 u_short ether_type;
52 };
53
54 #define ETHERTYPE_PUP 0x0200 /* PUP protocol */
55 #define ETHERTYPE_IP 0x0800 /* IP protocol */
56 #define ETHERTYPE_ARP 0x0806 /* Addr. resolution protocol */
57 #define ETHERTYPE_REVARP 0x8035 /* reverse Addr. resolution protocol */
58
59 /*
60 * The ETHERTYPE_NTRAILER packet types starting at ETHERTYPE_TRAIL have
61 * (type-ETHERTYPE_TRAIL)*512 bytes of data followed
62 * by an ETHER type (as given above) and then the (variable-length) header.
63 */
64 #define ETHERTYPE_TRAIL 0x1000 /* Trailer packet */
65 #define ETHERTYPE_NTRAILER 16
66
67 #define ETHERMTU 1500
68 #define ETHERMIN (60-14)
69
70 /*
71 * Ethernet Address Resolution Protocol.
72 *
73 * See RFC 826 for protocol description. Structure below is adapted
74 * to resolving internet addresses. Field names used correspond to
75 * RFC 826.
76 */
77 struct ether_arp {
78 struct arphdr ea_hdr; /* fixed-size header */
79 u_char arp_sha[6]; /* sender hardware address */
80 u_char arp_spa[4]; /* sender protocol address */
81 u_char arp_tha[6]; /* target hardware address */
82 u_char arp_tpa[4]; /* target protocol address */
83 };
84 #define arp_hrd ea_hdr.ar_hrd
85 #define arp_pro ea_hdr.ar_pro
86 #define arp_hln ea_hdr.ar_hln
87 #define arp_pln ea_hdr.ar_pln
88 #define arp_op ea_hdr.ar_op