• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-arm-linux-2.6.36-uclibc-4.5.3/arm-linux/sysroot/usr/include/netinet/
1/* Copyright (C) 1997, 2005 Free Software Foundation, Inc.
2   This file is part of the GNU C Library.
3
4   The GNU C Library is free software; you can redistribute it and/or
5   modify it under the terms of the GNU Lesser General Public
6   License as published by the Free Software Foundation; either
7   version 2.1 of the License, or (at your option) any later version.
8
9   The GNU C Library is distributed in the hope that it will be useful,
10   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12   Lesser General Public License for more details.
13
14   You should have received a copy of the GNU Lesser General Public
15   License along with the GNU C Library; if not, write to the Free
16   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17   02111-1307 USA.  */
18
19#ifndef _NETINET_IF_TR_H
20#define	_NETINET_IF_TR_H 1
21
22#include <sys/cdefs.h>
23#include <sys/types.h>
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. */
37struct trh_hdr
38{
39  u_int8_t  ac;			/* access control field */
40  u_int8_t  fc;			/* frame control field */
41  u_int8_t  daddr[TR_ALEN];	/* destination address */
42  u_int8_t  saddr[TR_ALEN];	/* source address */
43  u_int16_t rcf;		/* route control field */
44  u_int16_t rseg[8];		/* routing registers */
45};
46
47/* This is an Token-Ring LLC structure */
48struct trllc
49{
50  u_int8_t  dsap;		/* destination SAP */
51  u_int8_t  ssap;		/* source SAP */
52  u_int8_t  llc;		/* LLC control field */
53  u_int8_t  protid[3];		/* protocol id */
54  u_int16_t ethertype;		/* ether type field */
55};
56
57/* Token-Ring statistics collection data. */
58struct tr_statistics
59{
60  unsigned long rx_packets;     /* total packets received	*/
61  unsigned long tx_packets;	/* total packets transmitted	*/
62  unsigned long rx_bytes;	/* total bytes received   	*/
63  unsigned long tx_bytes;	/* total bytes transmitted	*/
64  unsigned long rx_errors;	/* bad packets received		*/
65  unsigned long tx_errors;	/* packet transmit problems	*/
66  unsigned long rx_dropped;	/* no space in linux buffers	*/
67  unsigned long tx_dropped;	/* no space available in linux	*/
68  unsigned long multicast;	/* multicast packets received	*/
69  unsigned long transmit_collision;
70
71  /* detailed Token-Ring errors. See IBM Token-Ring Network
72     Architecture for more info */
73
74  unsigned long line_errors;
75  unsigned long internal_errors;
76  unsigned long burst_errors;
77  unsigned long A_C_errors;
78  unsigned long abort_delimiters;
79  unsigned long lost_frames;
80  unsigned long recv_congest_count;
81  unsigned long frame_copied_errors;
82  unsigned long frequency_errors;
83  unsigned long token_errors;
84  unsigned long dummy1;
85};
86
87/* source routing stuff */
88#define TR_RII 			0x80
89#define TR_RCF_DIR_BIT 		0x80
90#define TR_RCF_LEN_MASK 	0x1f00
91#define TR_RCF_BROADCAST 	0x8000	/* all-routes broadcast */
92#define TR_RCF_LIMITED_BROADCAST 0xC000	/* single-route broadcast */
93#define TR_RCF_FRAME2K 		0x20
94#define TR_RCF_BROADCAST_MASK 	0xC000
95#define TR_MAXRIFLEN 		18
96
97#ifdef __USE_BSD
98
99struct trn_hdr
100{
101  u_int8_t trn_ac;                /* access control field */
102  u_int8_t trn_fc;                /* field control field */
103  u_int8_t trn_dhost[TR_ALEN];    /* destination host */
104  u_int8_t trn_shost[TR_ALEN];    /* source host */
105  u_int16_t trn_rcf;              /* route control field */
106  u_int16_t trn_rseg[8];          /* routing registers */
107};
108
109#endif
110
111#endif	/* netinet/if_tr.h */
112