Dr Andrew Scott G7VAV

My photo
 
June 2025
Mo Tu We Th Fr Sa Su
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6


if_tr.h
01: /*
02:  * INET         An implementation of the TCP/IP protocol suite for the LINUX
03:  *              operating system.  INET is implemented using the  BSD Socket
04:  *              interface as the means of communication with the user level.
05:  *
06:  *              Global definitions for the Token-Ring IEEE 802.5 interface.
07:  *
08:  * Version:     @(#)if_tr.h     0.0     07/11/94
09:  *
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>
23: #include <asm/byteorder.h>      /* For __be16 */
24: 
25: /* IEEE 802.5 Token-Ring magic constants.  The frame sizes omit the preamble
26:    and FCS/CRC (frame check sequence). */
27: #define TR_ALEN         6               /* Octets in one token-ring addr */
28: #define TR_HLEN         (sizeof(struct trh_hdr)+sizeof(struct trllc))
29: #define AC              0x10
30: #define LLC_FRAME       0x40
31: 
32: /* LLC and SNAP constants */
33: #define EXTENDED_SAP    0xAA
34: #define UI_CMD          0x03
35: 
36: /* This is an Token-Ring frame header. */
37: struct trh_hdr {
38:         __u8  ac;                       /* access control field */
39:         __u8  fc;                       /* frame control field */
40:         __u8  daddr[TR_ALEN];           /* destination address */
41:         __u8  saddr[TR_ALEN];           /* source address */
42:         __be16 rcf;                     /* route control field */
43:         __be16 rseg[8];                 /* routing registers */
44: };
45: 
46: 
47: /* This is an Token-Ring LLC structure */
48: struct trllc {
49:         __u8  dsap;                     /* destination SAP */
50:         __u8  ssap;                     /* source SAP */
51:         __u8  llc;                      /* LLC control field */
52:         __u8  protid[3];                /* protocol id */
53:         __be16 ethertype;               /* ether type field */
54: };
55: 
56: /* Token-Ring statistics collection data. */
57: struct tr_statistics {
58:         unsigned long rx_packets;       /* total packets received       */
59:         unsigned long tx_packets;       /* total packets transmitted    */
60:         unsigned long rx_bytes;         /* total bytes received         */
61:         unsigned long tx_bytes;         /* total bytes transmitted      */
62:         unsigned long rx_errors;        /* bad packets received         */
63:         unsigned long tx_errors;        /* packet transmit problems     */
64:         unsigned long rx_dropped;       /* no space in linux buffers    */
65:         unsigned long tx_dropped;       /* no space available in linux  */
66:         unsigned long multicast;        /* multicast packets received   */
67:         unsigned long transmit_collision;
68: 
69:         /* detailed Token-Ring errors. See IBM Token-Ring Network
70:            Architecture for more info */
71: 
72:         unsigned long line_errors;
73:         unsigned long internal_errors;
74:         unsigned long burst_errors;
75:         unsigned long A_C_errors;
76:         unsigned long abort_delimiters;
77:         unsigned long lost_frames;
78:         unsigned long recv_congest_count;
79:         unsigned long frame_copied_errors;
80:         unsigned long frequency_errors;
81:         unsigned long token_errors;
82:         unsigned long dummy1;
83: };
84: 
85: /* source routing stuff */
86: #define TR_RII                  0x80
87: #define TR_RCF_DIR_BIT          0x80
88: #define TR_RCF_LEN_MASK         0x1f00
89: #define TR_RCF_BROADCAST        0x8000  /* all-routes broadcast */
90: #define TR_RCF_LIMITED_BROADCAST 0xC000 /* single-route broadcast */
91: #define TR_RCF_FRAME2K          0x20
92: #define TR_RCF_BROADCAST_MASK   0xC000
93: #define TR_MAXRIFLEN            18
94: 
95: #endif  /* _LINUX_IF_TR_H */
96: 


for client (none)
© Andrew Scott 2006 - 2025,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/