1c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner/****************************************************************************
2c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ****************************************************************************
3c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***
4c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***   This header was automatically generated from a Linux kernel header
5c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***   of the same name, to make information necessary for userspace to
6c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***   call into the kernel available to libc.  It contains only constants,
7c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***   structures, and macros generated from the original header, and thus,
8c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***   contains no copyrightable information.
9c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ***
10c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ****************************************************************************
11c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner ****************************************************************************/
12c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#ifndef _LINUX_IF_HIPPI_H
13c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define _LINUX_IF_HIPPI_H
14c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
15c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#include <asm/byteorder.h>
16c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
17c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define HIPPI_ALEN 6
18c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define HIPPI_HLEN sizeof(struct hippi_hdr)
19c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define HIPPI_ZLEN 0
20c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define HIPPI_DATA_LEN 65280
21c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define HIPPI_FRAME_LEN (HIPPI_DATA_LEN + HIPPI_HLEN)
22c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
23c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define HIPPI_EXTENDED_SAP 0xAA
24c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define HIPPI_UI_CMD 0x03
25c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
26c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct hipnet_statistics
27c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{
28c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int rx_packets;
29c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int tx_packets;
30c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int rx_errors;
31c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int tx_errors;
32c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int rx_dropped;
33c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int tx_dropped;
34c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
35c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int rx_length_errors;
36c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int rx_over_errors;
37c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int rx_crc_errors;
38c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int rx_frame_errors;
39c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int rx_fifo_errors;
40c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int rx_missed_errors;
41c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
42c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int tx_aborted_errors;
43c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int tx_carrier_errors;
44c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int tx_fifo_errors;
45c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int tx_heartbeat_errors;
46c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner int tx_window_errors;
47c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner};
48c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
49c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct hippi_fp_hdr
50c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{
51c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __be32 fixed;
52c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __be32 d2_size;
53c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner} __attribute__ ((packed));
54c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
55c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct hippi_le_hdr
56c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{
57c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#ifdef __BIG_ENDIAN_BITFIELD
58c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 fc:3;
59c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 double_wide:1;
60c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 message_type:4;
61c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#elif defined(__LITTLE_ENDIAN_BITFIELD)
62c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 message_type:4;
63c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 double_wide:1;
64c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 fc:3;
65c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#endif
66c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 dest_switch_addr[3];
67c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#ifdef __BIG_ENDIAN_BITFIELD
68c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 dest_addr_type:4,
69c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner src_addr_type:4;
70c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#elif defined(__LITTLE_ENDIAN_BITFIELD)
71c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 src_addr_type:4,
72c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner dest_addr_type:4;
73c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#endif
74c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 src_switch_addr[3];
75c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u16 reserved;
76c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 daddr[HIPPI_ALEN];
77c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u16 locally_administered;
78c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 saddr[HIPPI_ALEN];
79c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner} __attribute__ ((packed));
80c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
81c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#define HIPPI_OUI_LEN 3
82c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
83c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct hippi_snap_hdr
84c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{
85c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 dsap;
86c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 ssap;
87c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 ctrl;
88c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __u8 oui[HIPPI_OUI_LEN];
89c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner __be16 ethertype;
90c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner} __attribute__ ((packed));
91c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
92c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turnerstruct hippi_hdr
93c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner{
94c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct hippi_fp_hdr fp;
95c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct hippi_le_hdr le;
96c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner struct hippi_snap_hdr snap;
97c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner} __attribute__ ((packed));
98c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner
99c817c5210e4207908b83faaf08a2c5b95251f871David 'Digit' Turner#endif
100