• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This header was generated from the Linux kernel headers by update_headers.py,
3  * to provide necessary information from kernel to userspace, such as constants,
4  * structures, and macros, and thus, contains no copyrightable information.
5  */
6 #ifndef _LINUX_IF_ARCNET_H
7 #define _LINUX_IF_ARCNET_H
8 #include <linux/types.h>
9 #include <linux/if_ether.h>
10 #define ARC_P_IP		212
11 #define ARC_P_IPV6		196
12 #define ARC_P_ARP		213
13 #define ARC_P_RARP		214
14 #define ARC_P_IPX		250
15 #define ARC_P_NOVELL_EC		236
16 #define ARC_P_IP_RFC1051	240
17 #define ARC_P_ARP_RFC1051	241
18 #define ARC_P_ETHER		232
19 #define ARC_P_DATAPOINT_BOOT	0
20 #define ARC_P_DATAPOINT_MOUNT	1
21 #define ARC_P_POWERLAN_BEACON	8
22 #define ARC_P_POWERLAN_BEACON2	243
23 #define ARC_P_LANSOFT		251
24 #define ARC_P_ATALK		0xDD
25 #define ARCNET_ALEN	1
26 struct arc_rfc1201 {
27 	__u8  proto;
28 	__u8  split_flag;
29 	__be16   sequence;
30 	__u8  payload[0];
31 };
32 #define RFC1201_HDR_SIZE 4
33 struct arc_rfc1051 {
34 	__u8 proto;
35 	__u8 payload[0];
36 };
37 #define RFC1051_HDR_SIZE 1
38 struct arc_eth_encap {
39 	__u8 proto;
40 	struct ethhdr eth;
41 	__u8 payload[0];
42 };
43 #define ETH_ENCAP_HDR_SIZE 14
44 struct arc_cap {
45 	__u8 proto;
46 	__u8 cookie[sizeof(int)];
47 
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 
61 	struct arc_hardware hard;
62 
63 	union {
64 		struct arc_rfc1201   rfc1201;
65 		struct arc_rfc1051   rfc1051;
66 		struct arc_eth_encap eth_encap;
67 		struct arc_cap       cap;
68 		__u8 raw[0];
69 	} soft;
70 };
71 #endif
72