etherif.h
来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C头文件 代码 · 共 42 行
H
42 行
enum { MaxEther = 24, Ntypes = 8,};typedef struct Ether Ether;struct Ether { ISAConf; /* hardware info */ int ctlrno; int tbdf; /* type+busno+devno+funcno */ int minmtu; int maxmtu; uchar ea[Eaddrlen]; void (*attach)(Ether*); /* filled in by reset routine */ void (*detach)(Ether*); /* NEW, from ../pc */ void (*transmit)(Ether*); void (*interrupt)(Ureg*, void*); long (*ifstat)(Ether*, void*, long, ulong); long (*ctl)(Ether*, void*, long); /* custom ctl messages *//* START NEW, from ../pc */ void (*power)(Ether*, int); /* power on/off */ void (*shutdown)(Ether*); /* shutdown hardware before reboot *//* END NEW */ void *ctlr; Queue* oq; Netif;};extern Block* etheriq(Ether*, Block*, int);extern void addethercard(char*, int(*)(Ether*));extern ulong ethercrc(uchar*, int);extern int parseether(uchar*, char*);#define NEXT(x, l) (((x)+1)%(l))#define PREV(x, l) (((x) == 0) ? (l)-1: (x)-1)#define HOWMANY(x, y) (((x)+((y)-1))/(y))#define ROUNDUP(x, y) (HOWMANY((x), (y))*(y))
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?