axle OS
x86_32 UNIX-like hobby OS
e1000.h
1 #ifndef E1000_H
2 #define E1000_H
3 
4 #include "driver.h"
5 
6 #define E1000_NUM_RX_DESC 32
7 #define E1000_NUM_TX_DESC 8
8 
9 struct e1000_rx_desc {
10  volatile uint64_t addr;
11  volatile uint16_t length;
12  volatile uint16_t checksum;
13  volatile uint8_t status;
14  volatile uint8_t errors;
15  volatile uint16_t special;
16 } __attribute__((packed));
17 
18 struct e1000_tx_desc {
19  volatile uint64_t addr;
20  volatile uint16_t length;
21  volatile uint8_t cso;
22  volatile uint8_t cmd;
23  volatile uint8_t status;
24  volatile uint8_t css;
25  volatile uint16_t special;
26 } __attribute__((packed));
27 
28 typedef struct e1000_rx_desc e1000_rx_desc;
29 typedef struct e1000_tx_desc e1000_tx_desc;
30 
31 #endif
Definition: elf.h:10
Definition: e1000.h:18
Definition: e1000.h:9