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_ARCNET_H
     13 #define _LINUX_IF_ARCNET_H
     14 
     15 #include <linux/if_ether.h>
     16 
     17 #define ARC_P_IP 212
     18 #define ARC_P_IPV6 196
     19 #define ARC_P_ARP 213
     20 #define ARC_P_RARP 214
     21 #define ARC_P_IPX 250
     22 #define ARC_P_NOVELL_EC 236
     23 
     24 #define ARC_P_IP_RFC1051 240
     25 #define ARC_P_ARP_RFC1051 241
     26 
     27 #define ARC_P_ETHER 232
     28 
     29 #define ARC_P_DATAPOINT_BOOT 0
     30 #define ARC_P_DATAPOINT_MOUNT 1
     31 #define ARC_P_POWERLAN_BEACON 8
     32 #define ARC_P_POWERLAN_BEACON2 243
     33 #define ARC_P_LANSOFT 251
     34 #define ARC_P_ATALK 0xDD
     35 
     36 #define ARCNET_ALEN 1
     37 
     38 struct arc_rfc1201
     39 {
     40  uint8_t proto;
     41  uint8_t split_flag;
     42  uint16_t sequence;
     43  uint8_t payload[0];
     44 };
     45 #define RFC1201_HDR_SIZE 4
     46 
     47 struct arc_rfc1051
     48 {
     49  uint8_t proto;
     50  uint8_t payload[0];
     51 };
     52 #define RFC1051_HDR_SIZE 1
     53 
     54 struct arc_eth_encap
     55 {
     56  uint8_t proto;
     57  struct ethhdr eth;
     58  uint8_t payload[0];
     59 };
     60 #define ETH_ENCAP_HDR_SIZE 14
     61 
     62 struct arc_cap
     63 {
     64  uint8_t proto;
     65  uint8_t cookie[sizeof(int)];
     66  union {
     67  uint8_t ack;
     68  uint8_t raw[0];
     69  } mes;
     70 };
     71 
     72 struct arc_hardware
     73 {
     74  uint8_t source,
     75  dest,
     76  offset[2];
     77 };
     78 #define ARC_HDR_SIZE 4
     79 
     80 struct archdr
     81 {
     82 
     83  struct arc_hardware hard;
     84 
     85  union {
     86  struct arc_rfc1201 rfc1201;
     87  struct arc_rfc1051 rfc1051;
     88  struct arc_eth_encap eth_encap;
     89  struct arc_cap cap;
     90  uint8_t raw[0];
     91  } soft;
     92 };
     93 
     94 #endif
     95