Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
ioforge_nic.h File Reference
#include "ioforge/ioforge.h"
#include <type.h>

Go to the source code of this file.

Data Structures

struct  data_template
 
struct  ioforge_nic_operation
 
struct  pending_rx
 
struct  rx_buffer
 
struct  rx_buffer_pool
 
struct  ioforge_nic_service
 

Macros

#define MAX_NICS   8 /* maksimum NIC yang bisa didaftarkan */
 
#define NIC_MAC_LEN   6 /* panjang MAC address (bytes) */
 
#define PENDING_QUEUE_SIZE   128
 
#define PENDING_QUEUE_MASK   (PENDING_QUEUE_SIZE - 1)
 
#define BUFFER_POOL_SIZE   1280
 
#define BUFFER_POOL_MASK   (BUFFER_POOL_SIZE - 1)
 

Enumerations

enum  IoforgeNICStatus { Ready = 2 , Bussy = 1 , Unready = 0 , Halted = -2 }
 

Functions

void ioforge_register_nic (struct ioforge_nic_service *nic)
 
void ioforge_nic_rx (struct ioforge_nic_service *nic, uint8_t *buffer, size_t len, int rx_id)
 
struct ioforge_nic_serviceIOforgeNICFindByName (char *name)
 
int ioforge_receive_pending_queue (struct ioforge_nic_service *nic, struct pending_rx *rx)
 
void ioforge_clear_rx_queue (struct ioforge_nic_service *nic, struct pending_rx *rx)
 

Macro Definition Documentation

◆ BUFFER_POOL_MASK

#define BUFFER_POOL_MASK   (BUFFER_POOL_SIZE - 1)

Definition at line 12 of file ioforge_nic.h.

Referenced by pool_pop(), and pool_push().

◆ BUFFER_POOL_SIZE

#define BUFFER_POOL_SIZE   1280

Definition at line 11 of file ioforge_nic.h.

Referenced by E1000Module::initReceiverX(), and pool_push().

◆ MAX_NICS

#define MAX_NICS   8 /* maksimum NIC yang bisa didaftarkan */

Definition at line 7 of file ioforge_nic.h.

◆ NIC_MAC_LEN

#define NIC_MAC_LEN   6 /* panjang MAC address (bytes) */

Definition at line 8 of file ioforge_nic.h.

◆ PENDING_QUEUE_MASK

#define PENDING_QUEUE_MASK   (PENDING_QUEUE_SIZE - 1)

Definition at line 10 of file ioforge_nic.h.

◆ PENDING_QUEUE_SIZE

#define PENDING_QUEUE_SIZE   128

Definition at line 9 of file ioforge_nic.h.

Referenced by ioforge_receive_pending_queue().

Enumeration Type Documentation

◆ IoforgeNICStatus

Enumerator
Ready 
Bussy 
Unready 
Halted 

Definition at line 28 of file ioforge_nic.h.

Function Documentation

◆ ioforge_clear_rx_queue()

void ioforge_clear_rx_queue ( struct ioforge_nic_service * nic,
struct pending_rx * rx )

◆ ioforge_nic_rx()

void ioforge_nic_rx ( struct ioforge_nic_service * nic,
uint8_t * buffer,
size_t len,
int rx_id )

References buffer, and len.

Referenced by E1000Module::receiveHandle().

◆ ioforge_receive_pending_queue()

◆ ioforge_register_nic()

void ioforge_register_nic ( struct ioforge_nic_service * nic)

Referenced by IoForgeNIC::create().

◆ IOforgeNICFindByName()

struct ioforge_nic_service * IOforgeNICFindByName ( char * name)

References name.