1 /*
2  * This file is auto-generated. Modifications will be lost.
3  *
4  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5  * for more information.
6  */
7 #ifndef _LINUX_IF_ARCNET_H
8 #define _LINUX_IF_ARCNET_H
9 #include <linux/types.h>
10 #include <linux/if_ether.h>
11 #define ARC_P_IP 212
12 #define ARC_P_IPV6 196
13 #define ARC_P_ARP 213
14 #define ARC_P_RARP 214
15 #define ARC_P_IPX 250
16 #define ARC_P_NOVELL_EC 236
17 #define ARC_P_IP_RFC1051 240
18 #define ARC_P_ARP_RFC1051 241
19 #define ARC_P_ETHER 232
20 #define ARC_P_DATAPOINT_BOOT 0
21 #define ARC_P_DATAPOINT_MOUNT 1
22 #define ARC_P_POWERLAN_BEACON 8
23 #define ARC_P_POWERLAN_BEACON2 243
24 #define ARC_P_LANSOFT 251
25 #define ARC_P_ATALK 0xDD
26 #define ARCNET_ALEN 1
27 struct arc_rfc1201 {
28   __u8 proto;
29   __u8 split_flag;
30   __be16 sequence;
31   __u8 payload[];
32 };
33 #define RFC1201_HDR_SIZE 4
34 struct arc_rfc1051 {
35   __u8 proto;
36   __u8 payload[];
37 };
38 #define RFC1051_HDR_SIZE 1
39 struct arc_eth_encap {
40   __u8 proto;
41   struct ethhdr eth;
42   __u8 payload[];
43 };
44 #define ETH_ENCAP_HDR_SIZE 14
45 struct arc_cap {
46   __u8 proto;
47   __u8 cookie[sizeof(int)];
48   union {
49     __u8 ack;
50     __u8 raw[0];
51   } mes;
52 };
53 struct arc_hardware {
54   __u8 source;
55   __u8 dest;
56   __u8 offset[2];
57 };
58 #define ARC_HDR_SIZE 4
59 struct archdr {
60   struct arc_hardware hard;
61   union {
62     struct arc_rfc1201 rfc1201;
63     struct arc_rfc1051 rfc1051;
64     struct arc_eth_encap eth_encap;
65     struct arc_cap cap;
66     __u8 raw[0];
67   } soft;
68 };
69 #endif
70