Small patch for the win32 makefile that improves the dependencies and
[obnox/wireshark/wip.git] / etypes.h
1 /* etypes.h
2  * Defines ethernet packet types, similar to tcpdump's ethertype.h
3  *
4  * $Id: etypes.h,v 1.13 2000/03/09 18:31:50 ashokn Exp $
5  *
6  * Ethereal - Network traffic analyzer
7  * By Gerald Combs <gerald@zing.org>
8  * Copyright 1998 Gerald Combs
9  *
10  * 
11  * This program is free software; you can redistribute it and/or
12  * modify it under the terms of the GNU General Public License
13  * as published by the Free Software Foundation; either version 2
14  * of the License, or (at your option) any later version.
15  * 
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  * GNU General Public License for more details.
20  * 
21  * You should have received a copy of the GNU General Public License
22  * along with this program; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
24  */
25
26 #ifndef __ETYPES_H__
27 #define __ETYPES_H__
28
29 /*
30  * Maximum length of an IEEE 802.3 frame; Ethernet type/length values
31  * greater than it are types, Ethernet type/length values less than or
32  * equal to it are lengths.
33  */
34 #define IEEE_802_3_MAX_LEN 1500
35
36 #ifndef ETHERTYPE_UNK
37 #define ETHERTYP_UNK 0x0000
38 #endif
39
40 /* Sources:
41  * http://www.isi.edu/in-notes/iana/assignments/ethernet-numbers
42  * TCP/IP Illustrated, Volume 1
43  * RFCs 894, 1042, 826
44  * tcpdump's ethertype.h
45  * http://www.cavebear.com/CaveBear/Ethernet/
46  */
47
48 #ifndef ETHERTYPE_IP
49 #define ETHERTYPE_IP 0x0800
50 #endif
51
52 #ifndef ETHERTYPE_IPv6
53 #define ETHERTYPE_IPv6 0x086dd
54 #endif
55
56 #ifndef ETHERTYPE_ARP
57 #define ETHERTYPE_ARP 0x0806
58 #endif
59
60 #ifndef ETHERTYPE_X25L3
61 #define ETHERTYPE_X25L3 0x0805
62 #endif
63
64 #ifndef ETHERTYPE_REVARP
65 #define ETHERTYPE_REVARP 0x8035
66 #endif
67
68 #ifndef ETHERTYPE_ATALK
69 #define ETHERTYPE_ATALK 0x809b
70 #endif
71
72 #ifndef ETHERTYPE_AARP
73 #define ETHERTYPE_AARP 0x80f3
74 #endif
75
76 #ifndef ETHERTYPE_IPX
77 #define ETHERTYPE_IPX 0x8137
78 #endif
79
80 #ifndef ETHERTYPE_VINES
81 #define ETHERTYPE_VINES 0xbad
82 #endif
83
84 #ifndef ETHERTYPE_TRAIN
85 #define ETHERTYPE_TRAIN 0x1984
86 /* Created by Netmon as a summary packet */
87 #endif
88
89 #ifndef ETHERTYPE_LOOP
90 #define ETHERTYPE_LOOP 0x9000   /* used for layer 2 testing (do i see my own frames on the wire) */
91 #endif
92
93 #ifndef ETHERTYPE_PPPOED
94 #define ETHERTYPE_PPPOED 0x8863 /* PPPoE Discovery Protocol */
95 #endif
96
97 #ifndef ETHERTYPE_PPPOES
98 #define ETHERTYPE_PPPOES 0x8864 /* PPPoE Session Protocol */
99 #endif
100
101 #ifndef ETHERTYPE_VLAN
102 #define ETHERTYPE_VLAN 0x8100 /* 802.1Q Virtual LAN */
103 #endif
104
105 #ifndef ETHERTYPE_SNMP
106 #define ETHERTYPE_SNMP 0x814c /* SNMP over Ethernet, RFC 1089 */
107 #endif
108
109 #ifndef ETHERTYPE_MPLS
110 #define ETHERTYPE_MPLS 0x8847 /* MPLS unicast packet */
111 #endif
112
113 #ifndef ETHERTYPE_MPLS_MULTI
114 #define ETHERTYPE_MPLS_MULTI 0x8848 /* MPLS multicast packet */
115 #endif
116
117 #endif /* etypes.h */
118
119