1 /* $NetBSD: tropicvar.h,v 1.12 2007/03/04 06:02:02 christos Exp $ */
4 * Mach Operating System
5 * Copyright (c) 1991 Carnegie Mellon University
6 * Copyright (c) 1991 IBM Corporation
9 * Permission to use, copy, modify and distribute this software and its
10 * documentation is hereby granted, provided that both the copyright
11 * notice and this permission notice appear in all copies of the
12 * software, derivative works or modified versions, and any portions
13 * thereof, and that both notices appear in supporting documentation,
14 * and that the name IBM not be used in advertising or publicity
15 * pertaining to distribution of the software without specific, written
18 * CARNEGIE MELLON AND IBM ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS IS"
19 * CONDITION. CARNEGIE MELLON AND IBM DISCLAIM ANY LIABILITY OF ANY KIND FOR
20 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
22 * Carnegie Mellon requests users of this software to return to
24 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
25 * School of Computer Science
26 * Carnegie Mellon University
27 * Pittsburgh PA 15213-3890
29 * any improvements or extensions that they make and grant Carnegie Mellon
30 * the rights to redistribute these changes.
33 /* $ACIS:if_lanvar.h 12.0$ */
35 #include <sys/callout.h>
38 * This file contains structures used in the "tr" driver for the
39 * IBM TOKEN-RING NETWORK PC ADAPTER
42 /* Receive buffer control block */
44 bus_size_t rbufp
; /* offset of current receive buffer */
45 bus_size_t rbufp_next
; /* offset of next receive buffer */
46 bus_size_t rbuf_datap
; /* offset of data in receive buffer */
47 unsigned short data_len
; /* amount of data in this rec buffer */
51 * Token-Ring software status per adapter
56 struct ethercom sc_ethercom
;
57 struct ifmedia sc_media
;
58 u_char sc_xmit_correlator
;
68 bus_space_tag_t sc_piot
;
69 bus_space_tag_t sc_memt
;
70 bus_space_handle_t sc_pioh
; /* handle pio area */
71 bus_space_handle_t sc_sramh
; /* handle for the shared ram area */
72 bus_space_handle_t sc_mmioh
; /* handle for the bios/mmio area */
74 struct callout sc_init_callout
;
75 struct callout sc_reinit_callout
;
77 int (*sc_mediachange
)(struct tr_softc
*);
78 void (*sc_mediastatus
)(struct tr_softc
*, struct ifmediareq
*);
79 struct rbcb rbc
; /* receiver buffer control block */
80 bus_size_t sc_aca
; /* offset of adapter ACA */
81 bus_size_t sc_ssb
; /* offset of System Status Block */
82 bus_size_t sc_arb
; /* offset of Adapter Request Block */
83 bus_size_t sc_srb
; /* offset of System Request Block */
84 bus_size_t sc_asb
; /* offset of Adapter Status Block */
85 u_int sc_maddr
; /* mapped shared memory address */
86 u_int sc_memwinsz
; /* mapped shared memory window size */
87 u_int sc_memsize
; /* memory installed on adapter */
88 u_int sc_memreserved
; /* reserved memory on adapter */
89 int sc_dhb4maxsz
; /* max. dhb size at 4MBIT ring speed */
90 int sc_dhb16maxsz
; /* max. dbh size at 16MBIT ring speed */
91 int sc_maxmtu
; /* max. MTU supported by adapter */
92 unsigned char sc_init_status
;
93 void * tr_sleepevent
; /* tr event signalled on successful */
95 unsigned short exsap_station
; /* station assigned by open sap cmd */
99 /* Power management hooks */
100 int (*sc_enable
)(struct tr_softc
*);
101 void (*sc_disable
)(struct tr_softc
*);
105 int tr_config(struct tr_softc
*);
106 int tr_attach(struct tr_softc
*);
108 void tr_init(void *);
109 int tr_ioctl(struct ifnet
*, u_long
, void *);
110 void tr_stop(struct tr_softc
*);
111 int tr_reset(struct tr_softc
*);
112 void tr_sleep(struct tr_softc
*);
113 int tr_setspeed(struct tr_softc
*, u_int8_t
);
114 int tr_enable(struct tr_softc
*);
115 void tr_disable(struct tr_softc
*);
116 int tr_activate(device_t
, enum devact
);
117 int tr_detach(device_t
, int flags
);