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