]> The Tcpdump Group git mirrors - libpcap/blobdiff - ethertype.h
Fix building without protochain support. (GH #852)
[libpcap] / ethertype.h
index 58aead919323b2aaafa1e27d8e1e8dd72aba6c34..e34e07b98da3977015f885e0b3c54081554864e7 100644 (file)
  * 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.
- *
- * @(#) $Header: /tcpdump/master/libpcap/ethertype.h,v 1.8 2000-06-29 15:38:57 itojun Exp $ (LBL)
  */
 
-/* Types missing from some systems */
+/*
+ * Ethernet types.
+ *
+ * We wrap the declarations with #ifdef, so that if a file includes
+ * <netinet/if_ether.h>, which may declare some of these, we don't
+ * get a bunch of complaints from the C compiler about redefinitions
+ * of these values.
+ *
+ * We declare all of them here so that no file has to include
+ * <netinet/if_ether.h> if all it needs are ETHERTYPE_ values.
+ */
 
+#ifndef ETHERTYPE_PUP
+#define ETHERTYPE_PUP          0x0200  /* PUP protocol */
+#endif
+#ifndef ETHERTYPE_IP
+#define ETHERTYPE_IP           0x0800  /* IP protocol */
+#endif
+#ifndef ETHERTYPE_ARP
+#define ETHERTYPE_ARP          0x0806  /* Addr. resolution protocol */
+#endif
 #ifndef ETHERTYPE_NS
 #define ETHERTYPE_NS           0x0600
 #endif
 #ifndef        ETHERTYPE_SPRITE
-#define        ETHERTYPE_SPRITE        0x0500
+#define ETHERTYPE_SPRITE       0x0500
 #endif
 #ifndef ETHERTYPE_TRAIL
 #define ETHERTYPE_TRAIL                0x1000
 #endif
 #ifndef        ETHERTYPE_MOPDL
-#define        ETHERTYPE_MOPDL         0x6001
+#define ETHERTYPE_MOPDL                0x6001
 #endif
 #ifndef        ETHERTYPE_MOPRC
-#define        ETHERTYPE_MOPRC         0x6002
+#define ETHERTYPE_MOPRC                0x6002
 #endif
 #ifndef        ETHERTYPE_DN
-#define        ETHERTYPE_DN            0x6003
+#define ETHERTYPE_DN           0x6003
 #endif
 #ifndef        ETHERTYPE_LAT
-#define        ETHERTYPE_LAT           0x6004
+#define ETHERTYPE_LAT          0x6004
 #endif
 #ifndef ETHERTYPE_SCA
 #define ETHERTYPE_SCA          0x6007
 #endif
+#ifndef ETHERTYPE_TEB
+#define ETHERTYPE_TEB          0x6558
+#endif
 #ifndef ETHERTYPE_REVARP
-#define ETHERTYPE_REVARP       0x8035
+#define ETHERTYPE_REVARP       0x8035  /* reverse Addr. resolution protocol */
 #endif
 #ifndef        ETHERTYPE_LANBRIDGE
-#define        ETHERTYPE_LANBRIDGE     0x8038
+#define ETHERTYPE_LANBRIDGE    0x8038
 #endif
 #ifndef        ETHERTYPE_DECDNS
-#define        ETHERTYPE_DECDNS        0x803c
+#define ETHERTYPE_DECDNS       0x803c
 #endif
 #ifndef        ETHERTYPE_DECDTS
-#define        ETHERTYPE_DECDTS        0x803e
+#define ETHERTYPE_DECDTS       0x803e
 #endif
 #ifndef        ETHERTYPE_VEXP
-#define        ETHERTYPE_VEXP          0x805b
+#define ETHERTYPE_VEXP         0x805b
 #endif
 #ifndef        ETHERTYPE_VPROD
-#define        ETHERTYPE_VPROD         0x805c
+#define ETHERTYPE_VPROD                0x805c
 #endif
 #ifndef ETHERTYPE_ATALK
 #define ETHERTYPE_ATALK                0x809b
 #ifndef ETHERTYPE_AARP
 #define ETHERTYPE_AARP         0x80f3
 #endif
+#ifndef ETHERTYPE_8021Q
+#define ETHERTYPE_8021Q                0x8100
+#endif
+#ifndef ETHERTYPE_IPX
+#define ETHERTYPE_IPX          0x8137
+#endif
 #ifndef ETHERTYPE_IPV6
-#define ETHERTYPE_IPV6         0x80dd
+#define ETHERTYPE_IPV6         0x86dd
+#endif
+#ifndef ETHERTYPE_MPLS
+#define ETHERTYPE_MPLS         0x8847
+#endif
+#ifndef ETHERTYPE_MPLS_MULTI
+#define ETHERTYPE_MPLS_MULTI   0x8848
+#endif
+#ifndef ETHERTYPE_PPPOED
+#define ETHERTYPE_PPPOED       0x8863
+#endif
+#ifndef ETHERTYPE_PPPOES
+#define ETHERTYPE_PPPOES       0x8864
+#endif
+#ifndef ETHERTYPE_8021AD
+#define ETHERTYPE_8021AD       0x88a8
 #endif
 #ifndef        ETHERTYPE_LOOPBACK
-#define        ETHERTYPE_LOOPBACK      0x9000
+#define ETHERTYPE_LOOPBACK     0x9000
+#endif
+#ifndef ETHERTYPE_8021QINQ
+#define ETHERTYPE_8021QINQ     0x9100
 #endif