FreeBSD/Linux Kernel Cross Reference
sys/dev/ie/if_ievar.h
1 /*-
2 * $FreeBSD: releng/6.4/sys/dev/ie/if_ievar.h 147256 2005-06-10 16:49:24Z brooks $
3 */
4
5 enum ie_hardware {
6 IE_NONE,
7 IE_STARLAN10,
8 IE_EN100,
9 IE_SLFIBER,
10 IE_3C507,
11 IE_NI5210,
12 IE_EE16,
13 IE_UNKNOWN
14 };
15
16 /*
17 * Ethernet status, per interface.
18 */
19 struct ie_softc {
20 struct ifnet *ifp;
21 void (*ie_reset_586) (struct ie_softc *);
22 void (*ie_chan_attn) (struct ie_softc *);
23 enum ie_hardware hard_type;
24 int hard_vers;
25 int unit;
26 u_char enaddr[6];
27
28 device_t dev;
29
30 struct resource * io_res;
31 int io_rid;
32 bus_space_tag_t io_bt;
33 bus_space_handle_t io_bh;
34
35 struct resource * irq_res;
36 int irq_rid;
37 void * irq_ih;
38
39 struct resource * mem_res;
40 int mem_rid;
41 bus_space_tag_t mem_bt;
42 bus_space_handle_t mem_bh;
43
44 u_int port; /* i/o base address for this interface */
45 caddr_t iomem; /* memory size */
46 caddr_t iomembot; /* memory base address */
47 unsigned iosize;
48 int bus_use; /* 0 means 16bit, 1 means 8 bit adapter */
49
50 int want_mcsetup;
51 int promisc;
52 int nframes;
53 int nrxbufs;
54 int ntxbufs;
55 volatile struct ie_int_sys_conf_ptr *iscp;
56 volatile struct ie_sys_ctl_block *scb;
57 volatile struct ie_recv_frame_desc **rframes; /* nframes worth */
58 volatile struct ie_recv_buf_desc **rbuffs; /* nrxbufs worth */
59 volatile u_char **cbuffs; /* nrxbufs worth */
60 int rfhead, rftail, rbhead, rbtail;
61
62 volatile struct ie_xmit_cmd **xmit_cmds; /* ntxbufs worth */
63 volatile struct ie_xmit_buf **xmit_buffs; /* ntxbufs worth */
64 volatile u_char **xmit_cbuffs; /* ntxbufs worth */
65 int xmit_count;
66
67 struct ie_en_addr mcast_addrs[MAXMCAST + 1];
68 int mcast_count;
69
70 u_short irq_encoded; /* encoded interrupt on IEE16 */
71 };
72 #define PORT(sc) sc->port
73 #define MEM(sc) sc->iomem
74
75 void ie_intr (void *);
76 int ie_alloc_resources (device_t);
77 void ie_release_resources (device_t);
78 int ie_attach (device_t);
79 int ie_detach (device_t);
80
81 void el_reset_586 (struct ie_softc *);
82 void el_chan_attn (struct ie_softc *);
83
84 void sl_reset_586 (struct ie_softc *);
85 void sl_chan_attn (struct ie_softc *);
86
87 void ee16_reset_586 (struct ie_softc *);
88 void ee16_chan_attn (struct ie_softc *);
89
90 void sl_read_ether (struct ie_softc *, unsigned char *);
91 int check_ie_present (struct ie_softc *);
92
Cache object: 61b499a10b5500aaf70ef8c1e13a88dc
|