1951a39d68df598db08dfced8b4707755864a0492Ying Wang/****************************************************************************
2951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
3951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
4951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   This header was automatically generated from a Linux kernel header
5951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   of the same name, to make information necessary for userspace to
6951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   call into the kernel available to libc.  It contains only constants,
7951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   structures, and macros generated from the original header, and thus,
8951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   contains no copyrightable information.
9951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
10951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
11951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************/
12951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef _LINUX_IF_TR_H
13951a39d68df598db08dfced8b4707755864a0492Ying Wang#define _LINUX_IF_TR_H
14951a39d68df598db08dfced8b4707755864a0492Ying Wang
15951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <asm/byteorder.h>
16951a39d68df598db08dfced8b4707755864a0492Ying Wang
17951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TR_ALEN 6
18951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TR_HLEN (sizeof(struct trh_hdr)+sizeof(struct trllc))
19951a39d68df598db08dfced8b4707755864a0492Ying Wang#define AC 0x10
20951a39d68df598db08dfced8b4707755864a0492Ying Wang#define LLC_FRAME 0x40
21951a39d68df598db08dfced8b4707755864a0492Ying Wang
22951a39d68df598db08dfced8b4707755864a0492Ying Wang#define EXTENDED_SAP 0xAA
23951a39d68df598db08dfced8b4707755864a0492Ying Wang#define UI_CMD 0x03
24951a39d68df598db08dfced8b4707755864a0492Ying Wang
25951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct trh_hdr {
26951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 ac;
27951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 fc;
28951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 daddr[TR_ALEN];
29951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 saddr[TR_ALEN];
30951a39d68df598db08dfced8b4707755864a0492Ying Wang __be16 rcf;
31951a39d68df598db08dfced8b4707755864a0492Ying Wang __be16 rseg[8];
32951a39d68df598db08dfced8b4707755864a0492Ying Wang};
33951a39d68df598db08dfced8b4707755864a0492Ying Wang
34951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct trllc {
35951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 dsap;
36951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 ssap;
37951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 llc;
38951a39d68df598db08dfced8b4707755864a0492Ying Wang __u8 protid[3];
39951a39d68df598db08dfced8b4707755864a0492Ying Wang __be16 ethertype;
40951a39d68df598db08dfced8b4707755864a0492Ying Wang};
41951a39d68df598db08dfced8b4707755864a0492Ying Wang
42951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct tr_statistics {
43951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long rx_packets;
44951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long tx_packets;
45951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long rx_bytes;
46951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long tx_bytes;
47951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long rx_errors;
48951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long tx_errors;
49951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long rx_dropped;
50951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long tx_dropped;
51951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long multicast;
52951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long transmit_collision;
53951a39d68df598db08dfced8b4707755864a0492Ying Wang
54951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long line_errors;
55951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long internal_errors;
56951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long burst_errors;
57951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long A_C_errors;
58951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long abort_delimiters;
59951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long lost_frames;
60951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long recv_congest_count;
61951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long frame_copied_errors;
62951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long frequency_errors;
63951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long token_errors;
64951a39d68df598db08dfced8b4707755864a0492Ying Wang unsigned long dummy1;
65951a39d68df598db08dfced8b4707755864a0492Ying Wang};
66951a39d68df598db08dfced8b4707755864a0492Ying Wang
67951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TR_RII 0x80
68951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TR_RCF_DIR_BIT 0x80
69951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TR_RCF_LEN_MASK 0x1f00
70951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TR_RCF_BROADCAST 0x8000
71951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TR_RCF_LIMITED_BROADCAST 0xC000
72951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TR_RCF_FRAME2K 0x20
73951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TR_RCF_BROADCAST_MASK 0xC000
74951a39d68df598db08dfced8b4707755864a0492Ying Wang#define TR_MAXRIFLEN 18
75951a39d68df598db08dfced8b4707755864a0492Ying Wang
76951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif
77