|
Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
|
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_service * | IOforgeNICFindByName (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) |
| #define BUFFER_POOL_MASK (BUFFER_POOL_SIZE - 1) |
Definition at line 12 of file ioforge_nic.h.
Referenced by pool_pop(), and pool_push().
| #define BUFFER_POOL_SIZE 1280 |
Definition at line 11 of file ioforge_nic.h.
Referenced by E1000Module::initReceiverX(), and pool_push().
| #define MAX_NICS 8 /* maksimum NIC yang bisa didaftarkan */ |
Definition at line 7 of file ioforge_nic.h.
| #define NIC_MAC_LEN 6 /* panjang MAC address (bytes) */ |
Definition at line 8 of file ioforge_nic.h.
| #define PENDING_QUEUE_MASK (PENDING_QUEUE_SIZE - 1) |
Definition at line 10 of file ioforge_nic.h.
| #define PENDING_QUEUE_SIZE 128 |
Definition at line 9 of file ioforge_nic.h.
Referenced by ioforge_receive_pending_queue().
| enum IoforgeNICStatus |
| Enumerator | |
|---|---|
| Ready | |
| Bussy | |
| Unready | |
| Halted | |
Definition at line 28 of file ioforge_nic.h.
| void ioforge_clear_rx_queue | ( | struct ioforge_nic_service * | nic, |
| struct pending_rx * | rx ) |
Definition at line 74 of file ioforge_nic.c.
References pending_rx::data, pending_rx::len, ioforge_nic_service::ops, pending_rx::rx_id, and ioforge_nic_operation::storeBufferToPool.
Referenced by socket_receive().
| void ioforge_nic_rx | ( | struct ioforge_nic_service * | nic, |
| uint8_t * | buffer, | ||
| size_t | len, | ||
| int | rx_id ) |
Referenced by E1000Module::receiveHandle().
| int ioforge_receive_pending_queue | ( | struct ioforge_nic_service * | nic, |
| struct pending_rx * | rx ) |
Definition at line 55 of file ioforge_nic.c.
References pending_rx::data, pending_rx::len, ioforge_nic_service::pending_queue, PENDING_QUEUE_SIZE, ioforge_nic_service::pq_head, ioforge_nic_service::pq_tail, and pending_rx::rx_id.
Referenced by socket_receive().
| void ioforge_register_nic | ( | struct ioforge_nic_service * | nic | ) |
Referenced by IoForgeNIC::create().
| struct ioforge_nic_service * IOforgeNICFindByName | ( | char * | name | ) |
References name.