The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/ie/if_ievar.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * $FreeBSD: releng/9.0/sys/dev/ie/if_ievar.h 181134 2008-08-01 21:33:07Z jhb $
    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         u_char   enaddr[6];
   26 
   27         device_t                dev;
   28 
   29         struct resource *       io_res;
   30         int                     io_rid;
   31         bus_space_tag_t         io_bt;
   32         bus_space_handle_t      io_bh;
   33 
   34         struct resource *       irq_res;
   35         int                     irq_rid;
   36         void *                  irq_ih;
   37 
   38         struct resource *       mem_res;
   39         int                     mem_rid;
   40         bus_space_tag_t         mem_bt;
   41         bus_space_handle_t      mem_bh;
   42 
   43         u_int    port;          /* i/o base address for this interface */
   44         caddr_t  iomem;         /* memory size */
   45         caddr_t  iomembot;      /* memory base address */
   46         unsigned iosize;
   47         int      bus_use;       /* 0 means 16bit, 1 means 8 bit adapter */
   48 
   49         int      want_mcsetup;
   50         int      promisc;
   51         int      nframes;
   52         int      nrxbufs;
   53         int      ntxbufs;
   54         volatile struct ie_int_sys_conf_ptr *iscp;
   55         volatile struct ie_sys_ctl_block *scb;
   56         volatile struct ie_recv_frame_desc **rframes;   /* nframes worth */
   57         volatile struct ie_recv_buf_desc **rbuffs;      /* nrxbufs worth */
   58         volatile u_char **cbuffs;                       /* nrxbufs worth */
   59         int      rfhead, rftail, rbhead, rbtail;
   60 
   61         volatile struct ie_xmit_cmd **xmit_cmds;        /* ntxbufs worth */
   62         volatile struct ie_xmit_buf **xmit_buffs;       /* ntxbufs worth */
   63         volatile u_char  **xmit_cbuffs;                 /* ntxbufs worth */
   64         int      xmit_count;
   65 
   66         struct   ie_en_addr mcast_addrs[MAXMCAST + 1];
   67         int      mcast_count;
   68 
   69         u_short  irq_encoded;   /* encoded interrupt on IEE16 */
   70 
   71         struct mtx      lock;
   72 };
   73 #define PORT(sc)        sc->port
   74 #define MEM(sc)         sc->iomem
   75 
   76 #define IE_LOCK(sc)             mtx_lock(&(sc)->lock)
   77 #define IE_UNLOCK(sc)           mtx_unlock(&(sc)->lock)
   78 #define IE_ASSERT_LOCKED(sc)    mtx_assert(&(sc)->lock, MA_OWNED)
   79 
   80 void            ie_intr                 (void *);
   81 int             ie_alloc_resources      (device_t);
   82 void            ie_release_resources    (device_t);
   83 int             ie_attach               (device_t);
   84 int             ie_detach               (device_t);
   85 
   86 void            el_reset_586            (struct ie_softc *);
   87 void            el_chan_attn            (struct ie_softc *);
   88 
   89 void            sl_reset_586            (struct ie_softc *);
   90 void            sl_chan_attn            (struct ie_softc *);
   91 
   92 void            ee16_reset_586          (struct ie_softc *);
   93 void            ee16_chan_attn          (struct ie_softc *);
   94 void            ee16_shutdown           (struct ie_softc *);
   95 
   96 void            sl_read_ether           (struct ie_softc *, unsigned char *);
   97 int             check_ie_present        (struct ie_softc *);
   98 

Cache object: 2ec5b306e3257c1a810ee3743d8a3c5d


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.