source: svn/trunk/newcon3bcm2_21bu/toolchain/mips-linux-uclibc/include/linux/if_tr.h

Last change on this file was 2, checked in by jglee, 11 years ago

first commit

  • Property svn:executable set to *
File size: 3.1 KB
Line 
1/*
2 * INET         An implementation of the TCP/IP protocol suite for the LINUX
3 *              operating system.  INET is implemented using the  BSD Socket
4 *              interface as the means of communication with the user level.
5 *
6 *              Global definitions for the Token-Ring IEEE 802.5 interface.
7 *
8 * Version:     @(#)if_tr.h     0.0     07/11/94
9 *
10 * Author:      Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
11 *              Donald Becker, <becker@super.org>
12 *              Peter De Schrijver, <stud11@cc4.kuleuven.ac.be>
13 *
14 *              This program is free software; you can redistribute it and/or
15 *              modify it under the terms of the GNU General Public License
16 *              as published by the Free Software Foundation; either version
17 *              2 of the License, or (at your option) any later version.
18 */
19#ifndef _LINUX_IF_TR_H
20#define _LINUX_IF_TR_H
21
22#include <linux/types.h>  /* For __be16 */
23
24/* IEEE 802.5 Token-Ring magic constants.  The frame sizes omit the preamble
25   and FCS/CRC (frame check sequence). */
26#define TR_ALEN         6               /* Octets in one token-ring addr */
27#define TR_HLEN         (sizeof(struct trh_hdr)+sizeof(struct trllc))
28#define AC              0x10
29#define LLC_FRAME       0x40
30
31/* LLC and SNAP constants */
32#define EXTENDED_SAP    0xAA
33#define UI_CMD          0x03
34
35/* This is an Token-Ring frame header. */
36struct trh_hdr {
37        __u8  ac;                       /* access control field */
38        __u8  fc;                       /* frame control field */
39        __u8  daddr[TR_ALEN];           /* destination address */
40        __u8  saddr[TR_ALEN];           /* source address */
41        __be16 rcf;                     /* route control field */
42        __be16 rseg[8];                 /* routing registers */
43};
44
45/* This is an Token-Ring LLC structure */
46struct trllc {
47        __u8  dsap;                     /* destination SAP */
48        __u8  ssap;                     /* source SAP */
49        __u8  llc;                      /* LLC control field */
50        __u8  protid[3];                /* protocol id */
51        __be16 ethertype;               /* ether type field */
52};
53
54/* Token-Ring statistics collection data. */
55struct tr_statistics {
56        unsigned long rx_packets;       /* total packets received       */
57        unsigned long tx_packets;       /* total packets transmitted    */
58        unsigned long rx_bytes;         /* total bytes received         */
59        unsigned long tx_bytes;         /* total bytes transmitted      */
60        unsigned long rx_errors;        /* bad packets received         */
61        unsigned long tx_errors;        /* packet transmit problems     */
62        unsigned long rx_dropped;       /* no space in linux buffers    */
63        unsigned long tx_dropped;       /* no space available in linux  */
64        unsigned long multicast;        /* multicast packets received   */
65        unsigned long transmit_collision;
66
67        /* detailed Token-Ring errors. See IBM Token-Ring Network
68           Architecture for more info */
69
70        unsigned long line_errors;
71        unsigned long internal_errors;
72        unsigned long burst_errors;
73        unsigned long A_C_errors;
74        unsigned long abort_delimiters;
75        unsigned long lost_frames;
76        unsigned long recv_congest_count;
77        unsigned long frame_copied_errors;
78        unsigned long frequency_errors;
79        unsigned long token_errors;
80        unsigned long dummy1;
81};
82
83/* source routing stuff */
84#define TR_RII                  0x80
85#define TR_RCF_DIR_BIT          0x80
86#define TR_RCF_LEN_MASK         0x1f00
87#define TR_RCF_BROADCAST        0x8000  /* all-routes broadcast */
88#define TR_RCF_LIMITED_BROADCAST 0xC000 /* single-route broadcast */
89#define TR_RCF_FRAME2K          0x20
90#define TR_RCF_BROADCAST_MASK   0xC000
91#define TR_MAXRIFLEN            18
92
93#endif  /* _LINUX_IF_TR_H */
Note: See TracBrowser for help on using the repository browser.