#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <errno.h>#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <netdb.h>#include <fcntl.h>#include <signal.h>#include "machine.h"#include "misc.h"#include "net.h"Go to the source code of this file.
Functions | |
| struct ethernet_packet_link * | net_allocate_ethernet_packet_link (struct net *net, void *extra, size_t len) |
| int | net_ethernet_rx_avail (struct net *net, void *extra) |
| int | net_ethernet_rx (struct net *net, void *extra, unsigned char **packetp, int *lenp) |
| void | net_ethernet_tx (struct net *net, void *extra, unsigned char *packet, int len) |
| void | net_add_nic (struct net *net, void *extra, unsigned char *macaddr) |
| void | net_dumpinfo (struct net *net) |
| struct net * | net_init (struct emul *emul, int init_flags, const char *ipv4addr, int netipv4len, char **remote, int n_remote, int local_port, const char *settings_prefix) |
| void net_add_nic | ( | struct net * | net, |
| void * | extra, | ||
| unsigned char * | macaddr | ||
| ) |
Definition at line 598 of file net.cc.
References CHECK_ALLOCATION, net::n_nics, and net::nic_extra.
Referenced by dev_le_init(), and DEVINIT().
| struct ethernet_packet_link* net_allocate_ethernet_packet_link | ( | struct net * | net, |
| void * | extra, | ||
| size_t | len | ||
| ) |
Definition at line 72 of file net.cc.
References CHECK_ALLOCATION, ethernet_packet_link::data, ethernet_packet_link::extra, net::first_ethernet_packet, net::last_ethernet_packet, ethernet_packet_link::len, ethernet_packet_link::next, and ethernet_packet_link::prev.
Referenced by net_ethernet_rx_avail(), net_ethernet_tx(), net_ip_tcp_connectionreply(), and net_udp_rx_avail().
| void net_dumpinfo | ( | struct net * | net | ) |
Definition at line 655 of file net.cc.
References debug, DEBUG_INDENTATION, debug_indentation(), net::domain_name, net::gateway_ethernet_addr, net::gateway_ipv4_addr, remote_net::ipv4_addr, net::local_port, MAX_TCP_CONNECTIONS, MAX_UDP_CONNECTIONS, remote_net::name, net::nameserver_ipv4, net::nameserver_known, NET_ADDR_ETHERNET, NET_ADDR_IPV4, net_debugaddr(), net::netmask_ipv4, net::netmask_ipv4_len, remote_net::next, remote_net::portnr, and net::remote_nets.
Referenced by emul_dumpinfo().
| int net_ethernet_rx | ( | struct net * | net, |
| void * | extra, | ||
| unsigned char ** | packetp, | ||
| int * | lenp | ||
| ) |
Definition at line 316 of file net.cc.
References ethernet_packet_link::data, ethernet_packet_link::extra, net::first_ethernet_packet, net::last_ethernet_packet, ethernet_packet_link::len, ethernet_packet_link::next, and ethernet_packet_link::prev.
Referenced by dec21143_rx(), DEVICE_ACCESS(), and net_ethernet_rx_avail().
| int net_ethernet_rx_avail | ( | struct net * | net, |
| void * | extra | ||
| ) |
Definition at line 253 of file net.cc.
References ethernet_packet_link::data, ethernet_packet_link::extra, net::local_port, net::local_port_socket, net::n_nics, net_allocate_ethernet_packet_link(), net_ethernet_rx(), net_tcp_rx_avail(), net_udp_rx_avail(), and net::nic_extra.
Referenced by dec21143_rx(), and DEVICE_TICK().
| void net_ethernet_tx | ( | struct net * | net, |
| void * | extra, | ||
| unsigned char * | packet, | ||
| int | len | ||
| ) |
Definition at line 371 of file net.cc.
References ethernet_packet_link::data, ETHERTYPE_ARP, ETHERTYPE_IP, ethernet_packet_link::extra, fatal(), net::gateway_ethernet_addr, remote_net::ipv4_addr, ethernet_packet_link::len, net::n_nics, net_allocate_ethernet_packet_link(), net_ip(), net_ip_broadcast(), remote_net::next, net::nic_extra, remote_net::portnr, net::remote_nets, and send_udp().
Referenced by dec21143_tx(), and DEVICE_ACCESS().
| struct net* net_init | ( | struct emul * | emul, |
| int | init_flags, | ||
| const char * | ipv4addr, | ||
| int | netipv4len, | ||
| char ** | remote, | ||
| int | n_remote, | ||
| int | local_port, | ||
| const char * | settings_prefix | ||
| ) |
Definition at line 720 of file net.cc.
References CHECK_ALLOCATION, net::domain_name, net::emul, net::first_ethernet_packet, net::last_ethernet_packet, net::nameserver_known, net::netmask_ipv4, net::netmask_ipv4_len, and net::timestamp.
Referenced by emul_simple_init().
1.8.17