|
Turnstone Operating System
|
Network IPv4 implementation. More...
#include <network/network_ipv4.h>#include <network/network_icmpv4.h>#include <network/network_udpv4.h>#include <network/network_tcpv4.h>#include <network/network_info.h>#include <network/network_ethernet.h>#include <utils.h>#include <memory.h>#include <logging.h>#include <time.h>#include <list.h>#include <map.h>#include <random.h>Classes | |
| struct | network_ipv4_fragment_t |
| struct | network_ipv4_fragment_item_t |
| union | network_ipv4_fragment_key_t |
| struct | network_ipv4_fragment_key_t::fields_t |
Functions | |
| MODULE ("turnstone.lib.network") | |
| int8_t | network_ipv4_fragment_comparator (const void *f1, const void *f2) |
| uint16_t | network_ipv4_header_checksum (network_ipv4_header_t *ipv4_hdr) |
| int8_t | network_ipv4_header_checksum_verify (network_ipv4_header_t *ipv4_hdr) |
| list_t * | network_ipv4_collect_fragments (network_ipv4_header_t *recv_ipv4_packet) |
| uint8_t * | network_ipv4_get_packet_data (network_ipv4_header_t *recv_ipv4_packet) |
| static uint64_t | network_ipv4_fragment_key_generator (network_ipv4_address_t ip, uint16_t identification, uint8_t protocol) |
| boolean_t | network_ipv4_is_address_eq (const network_ipv4_address_t ipv4_addr1, const network_ipv4_address_t ipv4_addr2) |
| list_t * | network_ipv4_process_packet (network_ipv4_header_t *recv_ipv4_packet, void *network_info) |
| list_t * | network_ipv4_create_packet_from_icmp_packet (const network_ipv4_address_t sip, network_ipv4_address_t dip, network_icmpv4_header_t *icmp_hdr, uint16_t icmp_packet_len) |
| list_t * | network_ipv4_create_packet_from_udp_packet (const network_ipv4_address_t sip, network_ipv4_address_t dip, network_udpv4_header_t *udp_hdr) |
| list_t * | network_ipv4_create_packet_from_tcp_packet (const network_ipv4_address_t sip, network_ipv4_address_t dip, network_tcpv4_header_t *tcp_hdr, uint16_t packet_len) |
Variables | |
| map_t * | network_ipv4_packet_fragments = NULL |
| network_ipv4_address_t | NETWORK_IPV4_GLOBAL_BROADCAST_IP = { .as_bytes = {255, 255, 255, 255} } |
| network_ipv4_address_t | NETWORK_IPV4_ZERO_IP = { .as_bytes = {0, 0, 0, 0} } |
Network IPv4 implementation.
This work is licensed under TURNSTONE OS Public License. Please read and understand latest version of Licence.