[BACK]Return to elink3var.h CVS log [TXT][DIR] Up to [local] / sys / dev / ic

Annotation of sys/dev/ic/elink3var.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: elink3var.h,v 1.18 2002/06/09 03:14:18 todd Exp $     */
        !             2: /*     $NetBSD: elink3var.h,v 1.12 1997/03/30 22:47:11 jonathan Exp $  */
        !             3:
        !             4: /*
        !             5:  * Copyright (c) 1994 Herb Peyerl <hpeyerl@beer.org>
        !             6:  * All rights reserved.
        !             7:  *
        !             8:  * Redistribution and use in source and binary forms, with or without
        !             9:  * modification, are permitted provided that the following conditions
        !            10:  * are met:
        !            11:  * 1. Redistributions of source code must retain the above copyright
        !            12:  *    notice, this list of conditions and the following disclaimer.
        !            13:  * 2. Redistributions in binary form must reproduce the above copyright
        !            14:  *    notice, this list of conditions and the following disclaimer in the
        !            15:  *    documentation and/or other materials provided with the distribution.
        !            16:  * 3. All advertising materials mentioning features or use of this software
        !            17:  *    must display the following acknowledgement:
        !            18:  *      This product includes software developed by Herb Peyerl.
        !            19:  * 4. The name of Herb Peyerl may not be used to endorse or promote products
        !            20:  *    derived from this software without specific prior written permission.
        !            21:  *
        !            22:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
        !            23:  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
        !            24:  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
        !            25:  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
        !            26:  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
        !            27:  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
        !            28:  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
        !            29:  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
        !            30:  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
        !            31:  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        !            32:  */
        !            33:
        !            34: /*
        !            35:  * Ethernet software status per interface.
        !            36:  */
        !            37: struct ep_softc {
        !            38:        struct device sc_dev;
        !            39:        void *sc_ih;
        !            40:        struct timeout sc_epmbuffill_tmo;
        !            41:
        !            42:        struct arpcom sc_arpcom;        /* Ethernet common part         */
        !            43:        struct mii_data sc_mii;         /* MII/media control            */
        !            44:        bus_space_tag_t sc_iot;         /* bus cookie                   */
        !            45:        bus_space_handle_t sc_ioh;      /* bus i/o handle               */
        !            46:        u_int   ep_connectors;          /* Connectors on this card.     */
        !            47: #define MAX_MBS        8                       /* # of mbufs we keep around    */
        !            48:        struct mbuf *mb[MAX_MBS];       /* spare mbuf storage.          */
        !            49:        int     next_mb;                /* Which mbuf to use next.      */
        !            50:        int     last_mb;                /* Last mbuf.                   */
        !            51:        int     tx_start_thresh;        /* Current TX_start_thresh.     */
        !            52:        int     tx_succ_ok;             /* # packets sent in sequence   */
        !            53:                                        /* w/o underrun                 */
        !            54:
        !            55:        u_int   ep_flags;               /* capabilities flag (from EEPROM) */
        !            56: #define EP_FLAGS_PNP                   0x0001
        !            57: #define EP_FLAGS_FULLDUPLEX            0x0002
        !            58: #define EP_FLAGS_LARGEPKT              0x0004  /* 4k packet support */
        !            59: #define EP_FLAGS_SLAVEDMA              0x0008
        !            60: #define EP_FLAGS_SECONDDMA             0x0010
        !            61: #define EP_FLAGS_FULLDMA               0x0020
        !            62: #define EP_FLAGS_FRAGMENTDMA           0x0040
        !            63: #define EP_FLAGS_CRC_PASSTHRU          0x0080
        !            64: #define EP_FLAGS_TXDONE                        0x0100
        !            65: #define EP_FLAGS_NO_TXLENGTH           0x0200
        !            66: #define EP_FLAGS_RXREPEAT              0x0400
        !            67: #define EP_FLAGS_SNOOPING              0x0800
        !            68: #define EP_FLAGS_100MBIT               0x1000
        !            69: #define EP_FLAGS_POWERMGMT             0x2000
        !            70: #define EP_FLAGS_MII                   0x4000
        !            71:
        !            72:        u_short ep_chipset;             /* Chipset family on this board */
        !            73: #define EP_CHIPSET_UNKNOWN             0x00    /* unknown (assume 3c509) */
        !            74: #define EP_CHIPSET_3C509               0x01    /* PIO: 3c509, 3c589 */
        !            75: #define EP_CHIPSET_VORTEX              0x02    /* 100mbit, single-pkt dma */
        !            76: #define EP_CHIPSET_BOOMERANG           0x03    /* Saner dma plus PIO */
        !            77: #define EP_CHIPSET_BOOMERANG2          0x04    /* Saner dma, no PIO */
        !            78: #define EP_CHIPSET_ROADRUNNER          0x05    /* Like Boomerang, but PCMCIA */
        !            79:
        !            80:        u_char  bustype;
        !            81: #define EP_BUS_ISA             0x0
        !            82: #define        EP_BUS_PCMCIA           0x1
        !            83: #define        EP_BUS_EISA             0x2
        !            84: #define EP_BUS_PCI             0x3
        !            85:
        !            86: #define EP_IS_BUS_32(a)        ((a) & 0x2)
        !            87:
        !            88:        u_char  txashift;               /* shift in SET_TX_AVAIL_THRESH */
        !            89: };
        !            90:
        !            91: u_int16_t epreadeeprom(bus_space_tag_t, bus_space_handle_t, int);
        !            92: void   epconfig(struct ep_softc *, u_short, u_int8_t *);
        !            93: int    epintr(void *);
        !            94: void   epstop(struct ep_softc *);
        !            95: void   epinit(struct ep_softc *);
        !            96: int    ep_detach(struct device *);

CVSweb