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 38struct 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 47struct arc_rfc1051 48{ 49 uint8_t proto; 50 uint8_t payload[0]; 51}; 52#define RFC1051_HDR_SIZE 1 53 54struct 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 62struct 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 72struct arc_hardware 73{ 74 uint8_t source, 75 dest, 76 offset[2]; 77}; 78#define ARC_HDR_SIZE 4 79 80struct 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