blob: 6aece3737090e8f3b85ff208e3265280af8dc4cb [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
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 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _LINUX_IF_ARCNET_H
20#define _LINUX_IF_ARCNET_H
21#include <linux/types.h>
22#include <linux/if_ether.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070023#define ARC_P_IP 212
24#define ARC_P_IPV6 196
25#define ARC_P_ARP 213
26#define ARC_P_RARP 214
Ben Cheng655a7c02013-10-16 16:09:24 -070027#define ARC_P_IPX 250
28#define ARC_P_NOVELL_EC 236
29#define ARC_P_IP_RFC1051 240
30#define ARC_P_ARP_RFC1051 241
Ben Cheng655a7c02013-10-16 16:09:24 -070031#define ARC_P_ETHER 232
32#define ARC_P_DATAPOINT_BOOT 0
33#define ARC_P_DATAPOINT_MOUNT 1
34#define ARC_P_POWERLAN_BEACON 8
Ben Cheng655a7c02013-10-16 16:09:24 -070035#define ARC_P_POWERLAN_BEACON2 243
36#define ARC_P_LANSOFT 251
37#define ARC_P_ATALK 0xDD
38#define ARCNET_ALEN 1
Ben Cheng655a7c02013-10-16 16:09:24 -070039struct arc_rfc1201 {
Tao Baod7db5942015-01-28 10:07:51 -080040 __u8 proto;
41 __u8 split_flag;
42 __be16 sequence;
Tao Baod7db5942015-01-28 10:07:51 -080043 __u8 payload[0];
Ben Cheng655a7c02013-10-16 16:09:24 -070044};
45#define RFC1201_HDR_SIZE 4
46struct arc_rfc1051 {
Tao Baod7db5942015-01-28 10:07:51 -080047 __u8 proto;
48 __u8 payload[0];
Ben Cheng655a7c02013-10-16 16:09:24 -070049};
50#define RFC1051_HDR_SIZE 1
Ben Cheng655a7c02013-10-16 16:09:24 -070051struct arc_eth_encap {
Tao Baod7db5942015-01-28 10:07:51 -080052 __u8 proto;
53 struct ethhdr eth;
54 __u8 payload[0];
Ben Cheng655a7c02013-10-16 16:09:24 -070055};
56#define ETH_ENCAP_HDR_SIZE 14
57struct arc_cap {
Tao Baod7db5942015-01-28 10:07:51 -080058 __u8 proto;
Tao Baod7db5942015-01-28 10:07:51 -080059 __u8 cookie[sizeof(int)];
60 union {
61 __u8 ack;
62 __u8 raw[0];
Tao Baod7db5942015-01-28 10:07:51 -080063 } mes;
Ben Cheng655a7c02013-10-16 16:09:24 -070064};
65struct arc_hardware {
Christopher Ferris05d08e92016-02-04 13:16:38 -080066 __u8 source;
Christopher Ferris05d08e92016-02-04 13:16:38 -080067 __u8 dest;
68 __u8 offset[2];
Ben Cheng655a7c02013-10-16 16:09:24 -070069};
70#define ARC_HDR_SIZE 4
Ben Cheng655a7c02013-10-16 16:09:24 -070071struct archdr {
Tao Baod7db5942015-01-28 10:07:51 -080072 struct arc_hardware hard;
Tao Baod7db5942015-01-28 10:07:51 -080073 union {
74 struct arc_rfc1201 rfc1201;
75 struct arc_rfc1051 rfc1051;
76 struct arc_eth_encap eth_encap;
Tao Baod7db5942015-01-28 10:07:51 -080077 struct arc_cap cap;
78 __u8 raw[0];
79 } soft;
Ben Cheng655a7c02013-10-16 16:09:24 -070080};
Ben Cheng655a7c02013-10-16 16:09:24 -070081#endif