1#ifndef __SYS__IOFORGE__IOFORGE_NIC_H__
2#define __SYS__IOFORGE__IOFORGE_NIC_H__
9#define PENDING_QUEUE_SIZE 128
10#define PENDING_QUEUE_MASK (PENDING_QUEUE_SIZE - 1)
11#define BUFFER_POOL_SIZE 1280
12#define BUFFER_POOL_MASK (BUFFER_POOL_SIZE - 1)
volatile uint32_t buffer[5]
struct ioforge_nic_service * IOforgeNICFindByName(char *name)
void ioforge_nic_rx(struct ioforge_nic_service *nic, uint8_t *buffer, size_t len, int rx_id)
void ioforge_clear_rx_queue(struct ioforge_nic_service *nic, struct pending_rx *rx)
void ioforge_register_nic(struct ioforge_nic_service *nic)
#define PENDING_QUEUE_SIZE
int ioforge_receive_pending_queue(struct ioforge_nic_service *nic, struct pending_rx *rx)
int(* receive)(void **buffer, size_t *size)
int(* send)(const struct data_template data[], size_t count)
int(* get_mac_address)(uint8_t mac[6])
void(* storeBufferToPool)(int rx_id, void *vaddr)
struct ioforge_nic_operation ops
struct ioforge_device service
struct pending_rx pending_queue[128]
struct rx_buffer buffers[1280]