Home | History | Annotate | Download | only in linux
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ****************************************************************************
     11  ****************************************************************************/
     12 #ifndef _LINUX_IF_ETHER_H
     13 #define _LINUX_IF_ETHER_H
     14 
     15 #include <linux/types.h>
     16 
     17 #define ETH_ALEN 6
     18 #define ETH_HLEN 14
     19 #define ETH_ZLEN 60
     20 #define ETH_DATA_LEN 1500
     21 #define ETH_FRAME_LEN 1514
     22 #define ETH_FCS_LEN 4
     23 
     24 #define ETH_P_LOOP 0x0060
     25 #define ETH_P_PUP 0x0200
     26 #define ETH_P_PUPAT 0x0201
     27 #define ETH_P_IP 0x0800
     28 #define ETH_P_X25 0x0805
     29 #define ETH_P_ARP 0x0806
     30 #define ETH_P_BPQ 0x08FF
     31 #define ETH_P_IEEEPUP 0x0a00
     32 #define ETH_P_IEEEPUPAT 0x0a01
     33 #define ETH_P_DEC 0x6000
     34 #define ETH_P_DNA_DL 0x6001
     35 #define ETH_P_DNA_RC 0x6002
     36 #define ETH_P_DNA_RT 0x6003
     37 #define ETH_P_LAT 0x6004
     38 #define ETH_P_DIAG 0x6005
     39 #define ETH_P_CUST 0x6006
     40 #define ETH_P_SCA 0x6007
     41 #define ETH_P_TEB 0x6558
     42 #define ETH_P_RARP 0x8035
     43 #define ETH_P_ATALK 0x809B
     44 #define ETH_P_AARP 0x80F3
     45 #define ETH_P_8021Q 0x8100
     46 #define ETH_P_IPX 0x8137
     47 #define ETH_P_IPV6 0x86DD
     48 #define ETH_P_PAUSE 0x8808
     49 #define ETH_P_SLOW 0x8809
     50 #define ETH_P_WCCP 0x883E
     51 #define ETH_P_PPP_DISC 0x8863
     52 #define ETH_P_PPP_SES 0x8864
     53 #define ETH_P_MPLS_UC 0x8847
     54 #define ETH_P_MPLS_MC 0x8848
     55 #define ETH_P_ATMMPOA 0x884c
     56 #define ETH_P_ATMFATE 0x8884
     57 #define ETH_P_PAE 0x888E
     58 #define ETH_P_AOE 0x88A2
     59 #define ETH_P_TIPC 0x88CA
     60 #define ETH_P_1588 0x88F7
     61 #define ETH_P_FCOE 0x8906
     62 #define ETH_P_FIP 0x8914
     63 #define ETH_P_EDSA 0xDADA
     64 
     65 #define ETH_P_802_3 0x0001
     66 #define ETH_P_AX25 0x0002
     67 #define ETH_P_ALL 0x0003
     68 #define ETH_P_802_2 0x0004
     69 #define ETH_P_SNAP 0x0005
     70 #define ETH_P_DDCMP 0x0006
     71 #define ETH_P_WAN_PPP 0x0007
     72 #define ETH_P_PPP_MP 0x0008
     73 #define ETH_P_LOCALTALK 0x0009
     74 #define ETH_P_CAN 0x000C
     75 #define ETH_P_PPPTALK 0x0010
     76 #define ETH_P_TR_802_2 0x0011
     77 #define ETH_P_MOBITEX 0x0015
     78 #define ETH_P_CONTROL 0x0016
     79 #define ETH_P_IRDA 0x0017
     80 #define ETH_P_ECONET 0x0018
     81 #define ETH_P_HDLC 0x0019
     82 #define ETH_P_ARCNET 0x001A
     83 #define ETH_P_DSA 0x001B
     84 #define ETH_P_TRAILER 0x001C
     85 #define ETH_P_PHONET 0x00F5
     86 #define ETH_P_IEEE802154 0x00F6
     87 
     88 struct ethhdr {
     89  unsigned char h_dest[ETH_ALEN];
     90  unsigned char h_source[ETH_ALEN];
     91  __be16 h_proto;
     92 } __attribute__((packed));
     93 
     94 #endif
     95