OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [include/] [linux/] [if_tr.h] - Blame information for rev 81

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
/*
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 <asm/byteorder.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. */
36
struct 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
#ifdef __KERNEL__
46
#include <linux/skbuff.h>
47
 
48
static inline struct trh_hdr *tr_hdr(const struct sk_buff *skb)
49
{
50
        return (struct trh_hdr *)skb_mac_header(skb);
51
}
52
#ifdef CONFIG_SYSCTL
53
extern struct ctl_table tr_table[];
54
#endif
55
#endif
56
 
57
/* This is an Token-Ring LLC structure */
58
struct trllc {
59
        __u8  dsap;                     /* destination SAP */
60
        __u8  ssap;                     /* source SAP */
61
        __u8  llc;                      /* LLC control field */
62
        __u8  protid[3];                /* protocol id */
63
        __be16 ethertype;               /* ether type field */
64
};
65
 
66
/* Token-Ring statistics collection data. */
67
struct tr_statistics {
68
        unsigned long rx_packets;       /* total packets received       */
69
        unsigned long tx_packets;       /* total packets transmitted    */
70
        unsigned long rx_bytes;         /* total bytes received         */
71
        unsigned long tx_bytes;         /* total bytes transmitted      */
72
        unsigned long rx_errors;        /* bad packets received         */
73
        unsigned long tx_errors;        /* packet transmit problems     */
74
        unsigned long rx_dropped;       /* no space in linux buffers    */
75
        unsigned long tx_dropped;       /* no space available in linux  */
76
        unsigned long multicast;        /* multicast packets received   */
77
        unsigned long transmit_collision;
78
 
79
        /* detailed Token-Ring errors. See IBM Token-Ring Network
80
           Architecture for more info */
81
 
82
        unsigned long line_errors;
83
        unsigned long internal_errors;
84
        unsigned long burst_errors;
85
        unsigned long A_C_errors;
86
        unsigned long abort_delimiters;
87
        unsigned long lost_frames;
88
        unsigned long recv_congest_count;
89
        unsigned long frame_copied_errors;
90
        unsigned long frequency_errors;
91
        unsigned long token_errors;
92
        unsigned long dummy1;
93
};
94
 
95
/* source routing stuff */
96
#define TR_RII                  0x80
97
#define TR_RCF_DIR_BIT          0x80
98
#define TR_RCF_LEN_MASK         0x1f00
99
#define TR_RCF_BROADCAST        0x8000  /* all-routes broadcast */
100
#define TR_RCF_LIMITED_BROADCAST 0xC000 /* single-route broadcast */
101
#define TR_RCF_FRAME2K          0x20
102
#define TR_RCF_BROADCAST_MASK   0xC000
103
#define TR_MAXRIFLEN            18
104
 
105
#endif  /* _LINUX_IF_TR_H */

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.