~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/linux/if_tr.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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 
 23 /* IEEE 802.5 Token-Ring magic constants.  The frame sizes omit the preamble
 24    and FCS/CRC (frame check sequence). */
 25 #define TR_ALEN 6               /* Octets in one ethernet addr   */
 26 #define TR_HLEN   (sizeof(struct trh_hdr)+sizeof(struct trllc))
 27 #define AC                      0x10
 28 #define LLC_FRAME 0x40
 29 #if 0
 30 #define ETH_HLEN        14              /* Total octets in header.       */
 31 #define ETH_ZLEN        60              /* Min. octets in frame sans FCS */
 32 #define ETH_DATA_LEN    1500            /* Max. octets in payload        */
 33 #define ETH_FRAME_LEN   1514            /* Max. octets in frame sans FCS */
 34 #endif
 35 
 36 
 37 /* LLC and SNAP constants */
 38 #define EXTENDED_SAP 0xAA
 39 #define UI_CMD       0x03
 40 
 41 /* This is an Token-Ring frame header. */
 42 struct trh_hdr {
 43         __u8  ac;                       /* access control field */
 44         __u8  fc;                       /* frame control field */
 45         __u8  daddr[TR_ALEN];           /* destination address */
 46         __u8  saddr[TR_ALEN];           /* source address */
 47         __u16 rcf;                      /* route control field */
 48         __u16 rseg[8];                  /* routing registers */
 49 };
 50 
 51 /* This is an Token-Ring LLC structure */
 52 struct trllc {
 53         __u8  dsap;                     /* destination SAP */
 54         __u8  ssap;                     /* source SAP */
 55         __u8  llc;                      /* LLC control field */
 56         __u8  protid[3];                /* protocol id */
 57         __u16 ethertype;                /* ether type field */
 58 };
 59 
 60 /* Token-Ring statistics collection data. */
 61 struct tr_statistics {
 62         unsigned long rx_packets;       /* total packets received       */
 63         unsigned long tx_packets;       /* total packets transmitted    */
 64         unsigned long rx_bytes;         /* total bytes received         */
 65         unsigned long tx_bytes;         /* total bytes transmitted      */
 66         unsigned long rx_errors;        /* bad packets received         */
 67         unsigned long tx_errors;        /* packet transmit problems     */
 68         unsigned long rx_dropped;       /* no space in linux buffers    */
 69         unsigned long tx_dropped;       /* no space available in linux  */
 70         unsigned long multicast;        /* multicast packets received   */
 71         unsigned long transmit_collision;
 72 
 73         /* detailed Token-Ring errors. See IBM Token-Ring Network
 74            Architecture for more info */
 75 
 76         unsigned long line_errors;
 77         unsigned long internal_errors;
 78         unsigned long burst_errors;
 79         unsigned long A_C_errors;
 80         unsigned long abort_delimiters;
 81         unsigned long lost_frames;
 82         unsigned long recv_congest_count;
 83         unsigned long frame_copied_errors;
 84         unsigned long frequency_errors;
 85         unsigned long token_errors;
 86         unsigned long dummy1;
 87 };
 88 
 89 /* source routing stuff */
 90 
 91 #define TR_RII 0x80
 92 #define TR_RCF_DIR_BIT 0x80
 93 #define TR_RCF_LEN_MASK 0x1f00
 94 #define TR_RCF_BROADCAST 0x8000         /* all-routes broadcast */
 95 #define TR_RCF_LIMITED_BROADCAST 0xC000 /* single-route broadcast */
 96 #define TR_RCF_FRAME2K 0x20
 97 #define TR_RCF_BROADCAST_MASK 0xC000
 98 #define TR_MAXRIFLEN 18
 99 
100 #endif  /* _LINUX_IF_TR_H */
101 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.