⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lance.h

📁 Minix3.11的源码。[MINIX 3是一个为高可靠性应用而设计的自由且简洁的类UNIX系统。]
💻 H
字号:
/*#include "kernel.h"*/#include <net/gen/ether.h>#include <net/gen/eth_io.h>/* PCI STUFF */#define PCI_BASE_ADDRESS_0		0x10#define PCI_BASE_ADDRESS_1		0x14#define PCI_BASE_ADDRESS_2		0x18#define PCI_BASE_ADDRESS_3		0x1c#define PCI_BASE_ADDRESS_4		0x20#define PCI_BASE_ADDRESS_5		0x24#define PCI_BASE_ADDRESS_IO_MASK	(~0x03)#define PCI_BASE_ADDRESS_SPACE_IO	0x01#define PCI_INTERRUPT_LINE		0x3c#define PCI_INTERRUPT_PIN		0x3d#define PCI_COMMAND_MASTER		0x4#define PCI_VENDOR_ID_AMD	0x1022#define PCI_DEVICE_ID_AMD_LANCE	0x2000/* supported max number of ether cards */#define EC_PORT_NR_MAX 2/* macros for 'mode' */#define EC_DISABLED    0x0#define EC_SINK        0x1#define EC_ENABLED     0x2/* macros for 'flags' */#define ECF_EMPTY       0x000#define ECF_PACK_SEND   0x001#define ECF_PACK_RECV   0x002#define ECF_SEND_AVAIL  0x004#define ECF_READING     0x010#define ECF_PROMISC     0x040#define ECF_MULTI       0x080#define ECF_BROAD       0x100#define ECF_ENABLED     0x200#define ECF_STOPPED     0x400/* === macros for ether cards (our generalized version) === */#define EC_ISR_RINT     0x0001#define EC_ISR_WINT     0x0002#define EC_ISR_RERR     0x0010#define EC_ISR_WERR     0x0020#define EC_ISR_ERR      0x0040#define EC_ISR_RST      0x0100/* IOVEC */#define IOVEC_NR        16typedef struct iovec_dat{  iovec_t iod_iovec[IOVEC_NR];  int iod_iovec_s;  int iod_proc_nr;  vir_bytes iod_iovec_addr;} iovec_dat_t;#define ETH0_SELECTOR  0x61#define ETH1_SELECTOR  0x69/* ====== ethernet card info. ====== */typedef struct ether_card{  /* ####### MINIX style ####### */  char port_name[sizeof("eth_card#n")];  int flags;  int mode;  int transfer_mode;  eth_stat_t eth_stat;  iovec_dat_t read_iovec;  iovec_dat_t write_iovec;  iovec_dat_t tmp_iovec;  vir_bytes write_s;  vir_bytes read_s;  int client;  message sendmsg;  /* ######## device info. ####### */  port_t ec_port;  phys_bytes ec_linmem;  int ec_irq;  int ec_int_pending;  int ec_hook;  int ec_ramsize;  /* PCI */  u8_t ec_pcibus;	  u8_t ec_pcidev;	  u8_t ec_pcifunc;	   /* Addrassing */  u16_t ec_memseg;  vir_bytes ec_memoff;    ether_addr_t mac_address;} ether_card_t;#define DEI_DEFAULT    0x8000

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -