diff options
Diffstat (limited to 'include/netinet/if_tr.h')
| -rw-r--r-- | include/netinet/if_tr.h | 78 | 
1 files changed, 74 insertions, 4 deletions
| diff --git a/include/netinet/if_tr.h b/include/netinet/if_tr.h index 1a7bc68c9..45c39115f 100644 --- a/include/netinet/if_tr.h +++ b/include/netinet/if_tr.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997 Free Software Foundation, Inc. +/* Copyright (C) 1997, 2005 Free Software Foundation, Inc.     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or @@ -21,13 +21,83 @@  #include <sys/cdefs.h>  #include <sys/types.h> -#include <asm/types.h> -#include <linux/if_tr.h> +/* IEEE 802.5 Token-Ring magic constants.  The frame sizes omit the preamble +   and FCS/CRC (frame check sequence). */ +#define TR_ALEN		6		/* Octets in one token-ring addr */ +#define TR_HLEN 	(sizeof (struct trh_hdr) + sizeof (struct trllc)) +#define AC		0x10 +#define LLC_FRAME 	0x40 + +/* LLC and SNAP constants */ +#define EXTENDED_SAP 	0xAA +#define UI_CMD       	0x03 + +/* This is an Token-Ring frame header. */ +struct trh_hdr +{ +  u_int8_t  ac;			/* access control field */ +  u_int8_t  fc;			/* frame control field */ +  u_int8_t  daddr[TR_ALEN];	/* destination address */ +  u_int8_t  saddr[TR_ALEN];	/* source address */ +  u_int16_t rcf;		/* route control field */ +  u_int16_t rseg[8];		/* routing registers */ +}; + +/* This is an Token-Ring LLC structure */ +struct trllc +{ +  u_int8_t  dsap;		/* destination SAP */ +  u_int8_t  ssap;		/* source SAP */ +  u_int8_t  llc;		/* LLC control field */ +  u_int8_t  protid[3];		/* protocol id */ +  u_int16_t ethertype;		/* ether type field */ +}; + +/* Token-Ring statistics collection data. */ +struct tr_statistics +{ +  unsigned long rx_packets;     /* total packets received	*/ +  unsigned long tx_packets;	/* total packets transmitted	*/ +  unsigned long rx_bytes;	/* total bytes received   	*/ +  unsigned long tx_bytes;	/* total bytes transmitted	*/ +  unsigned long rx_errors;	/* bad packets received		*/ +  unsigned long tx_errors;	/* packet transmit problems	*/ +  unsigned long rx_dropped;	/* no space in linux buffers	*/ +  unsigned long tx_dropped;	/* no space available in linux	*/ +  unsigned long multicast;	/* multicast packets received	*/ +  unsigned long transmit_collision; + +  /* detailed Token-Ring errors. See IBM Token-Ring Network +     Architecture for more info */ + +  unsigned long line_errors; +  unsigned long internal_errors; +  unsigned long burst_errors; +  unsigned long A_C_errors; +  unsigned long abort_delimiters; +  unsigned long lost_frames; +  unsigned long recv_congest_count; +  unsigned long frame_copied_errors; +  unsigned long frequency_errors; +  unsigned long token_errors; +  unsigned long dummy1; +}; + +/* source routing stuff */ +#define TR_RII 			0x80 +#define TR_RCF_DIR_BIT 		0x80 +#define TR_RCF_LEN_MASK 	0x1f00 +#define TR_RCF_BROADCAST 	0x8000	/* all-routes broadcast */ +#define TR_RCF_LIMITED_BROADCAST 0xC000	/* single-route broadcast */ +#define TR_RCF_FRAME2K 		0x20 +#define TR_RCF_BROADCAST_MASK 	0xC000 +#define TR_MAXRIFLEN 		18  #ifdef __USE_BSD -struct trn_hdr { +struct trn_hdr +{    u_int8_t trn_ac;                /* access control field */    u_int8_t trn_fc;                /* field control field */    u_int8_t trn_dhost[TR_ALEN];    /* destination host */ | 
