Files
opencoreC/hal/include/rtl8139.h
T

35 lines
645 B
C

#pragma once
#include "stdint.h"
#include "stddef.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
uint16_t io_base;
uint8_t mac[6];
uint8_t *rx_virt;
uint64_t rx_phys;
uint8_t *tx_virt[4];
uint64_t tx_phys[4];
uint16_t rx_offset;
uint8_t tx_cur;
int is_initialized;
uint64_t rx_packets;
uint64_t tx_packets;
uint64_t rx_bytes;
uint64_t tx_bytes;
} rtl8139_dev_t;
extern rtl8139_dev_t g_rtl8139;
// RTL8139 API
int rtl8139_init(void);
int rtl8139_send_packet(const void *data, uint16_t len);
int rtl8139_poll_packet(void *out_buf, uint16_t max_len);
#ifdef __cplusplus
}
#endif