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/pc/etherif.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 enum {
    2         MaxEther        = 48,
    3         Ntypes          = 8,
    4 };
    5 
    6 typedef struct Ether Ether;
    7 struct Ether {
    8         ISAConf;                        /* hardware info */
    9 
   10         int     ctlrno;
   11         int     tbdf;                   /* type+busno+devno+funcno */
   12         int     minmtu;
   13         int     maxmtu;
   14         uchar   ea[Eaddrlen];
   15 
   16         void    (*attach)(Ether*);      /* filled in by reset routine */
   17         void    (*detach)(Ether*);
   18         void    (*transmit)(Ether*);
   19         void    (*interrupt)(Ureg*, void*);
   20         long    (*ifstat)(Ether*, void*, long, ulong);
   21         long    (*ctl)(Ether*, void*, long); /* custom ctl messages */
   22         void    (*power)(Ether*, int);  /* power on/off */
   23         void    (*shutdown)(Ether*);    /* shutdown hardware before reboot */
   24         void    *ctlr;
   25 
   26         Queue*  oq;
   27 
   28         Netif;
   29 };
   30 
   31 extern Block* etheriq(Ether*, Block*, int);
   32 extern void addethercard(char*, int(*)(Ether*));
   33 extern ulong ethercrc(uchar*, int);
   34 extern int parseether(uchar*, char*);
   35 
   36 #define NEXT(x, l)      (((x)+1)%(l))
   37 #define PREV(x, l)      (((x) == 0) ? (l)-1: (x)-1)
   38 #define HOWMANY(x, y)   (((x)+((y)-1))/(y))
   39 #define ROUNDUP(x, y)   (HOWMANY((x), (y))*(y))

Cache object: 93ffd0c6526f230c01d84d97f39b2757


[ 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.