/****************************************************************************
****************************************************************************
***
*** This header was automatically generated from a Linux kernel header
*** of the same name, to make information necessary for userspace to
*** call into the kernel available to libc. It contains only constants,
*** structures, and macros generated from the original header, and thus,
*** contains no copyrightable information.
***
****************************************************************************
****************************************************************************/
#ifndef _LINUX_IF_ARCNET_H
#define _LINUX_IF_ARCNET_H
#include <linux/if_ether.h>
#define ARC_P_IP 212
#define ARC_P_IPV6 196
#define ARC_P_ARP 213
#define ARC_P_RARP 214
#define ARC_P_IPX 250
#define ARC_P_NOVELL_EC 236
#define ARC_P_IP_RFC1051 240
#define ARC_P_ARP_RFC1051 241
#define ARC_P_ETHER 232
#define ARC_P_DATAPOINT_BOOT 0
#define ARC_P_DATAPOINT_MOUNT 1
#define ARC_P_POWERLAN_BEACON 8
#define ARC_P_POWERLAN_BEACON2 243
#define ARC_P_LANSOFT 251
#define ARC_P_ATALK 0xDD
#define ARCNET_ALEN 1
struct arc_rfc1201
{
uint8_t proto;
uint8_t split_flag;
uint16_t sequence;
uint8_t payload[0];
};
#define RFC1201_HDR_SIZE 4
struct arc_rfc1051
{
uint8_t proto;
uint8_t payload[0];
};
#define RFC1051_HDR_SIZE 1
struct arc_eth_encap
{
uint8_t proto;
struct ethhdr eth;
uint8_t payload[0];
};
#define ETH_ENCAP_HDR_SIZE 14
struct arc_cap
{
uint8_t proto;
uint8_t cookie[sizeof(int)];
union {
uint8_t ack;
uint8_t raw[0];
} mes;
};
struct arc_hardware
{
uint8_t source,
dest,
offset[2];
};
#define ARC_HDR_SIZE 4
struct archdr
{
struct arc_hardware hard;
union {
struct arc_rfc1201 rfc1201;
struct arc_rfc1051 rfc1051;
struct arc_eth_encap eth_encap;
struct arc_cap cap;
uint8_t raw[0];
} soft;
};
#endif