etherif.h - vx32 - Local 9vx git repository for patches.
 (HTM) git clone git://r-36.net/vx32
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
       etherif.h (975B)
       ---
            1 enum {
            2         MaxEther        = 48,
            3         Ntypes                = 8,
            4 };
            5 
            6 typedef struct Ether Ether;
            7 struct Ether {
            8         ISAConf        isac;                        /* 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        ni;
           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)        (((uint)(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))