#include <async.h>
#include <fibril_synch.h>
#include <malloc.h>
#include <stdio.h>
#include <ipc/services.h>
#include <ipc/net.h>
#include <ipc/tl.h>
#include <ipc/socket.h>
#include <adt/dynamic_fifo.h>
#include <errno.h>
#include <net/socket_codes.h>
#include <net/ip_protocols.h>
#include <net/in.h>
#include <net/in6.h>
#include <net/inet.h>
#include <net/modules.h>
#include <packet_client.h>
#include <packet_remote.h>
#include <net_checksum.h>
#include <ip_client.h>
#include <ip_interface.h>
#include <icmp_client.h>
#include <icmp_remote.h>
#include <net_interface.h>
#include <socket_core.h>
#include <tl_common.h>
#include <tl_remote.h>
#include <tl_skel.h>
#include "udp.h"
#include "udp_header.h"
Go to the source code of this file.
Defines | |
| #define | MAX_UDP_FRAGMENT_SIZE 65535 |
| Maximum UDP fragment size. | |
| #define | NAME "udp" |
| UDP module name. | |
| #define | NET_DEFAULT_UDP_AUTOBINDING true |
| Default UDP autobind when sending via unbound sockets. | |
| #define | NET_DEFAULT_UDP_CHECKSUM_COMPUTING true |
| Default UDP checksum computing. | |
| #define | UDP_FREE_PORTS_END 65535 |
| Free ports pool end. | |
| #define | UDP_FREE_PORTS_START 1025 |
| Free ports pool start. | |
Functions | |
| int | main (int argc, char *argv[]) |
| Main entry point. | |
| void | tl_connection (void) |
| Per-connection module initialization. | |
| int | tl_initialize (int net_phone) |
| Module initialization. | |
| int | tl_message (ipc_callid_t callid, ipc_call_t *call, ipc_call_t *answer, size_t *answer_count) |
| Process the transport layer module message. | |
| static int | udp_process_client_messages (ipc_callid_t callid, ipc_call_t call) |
| Processes the socket client messages. | |
| static int | udp_process_packet (device_id_t device_id, packet_t *packet, services_t error) |
| Processes the received UDP packet queue. | |
| static int | udp_received_msg (device_id_t device_id, packet_t *packet, services_t receiver, services_t error) |
| Processes the received UDP packet queue. | |
| static void | udp_receiver (ipc_callid_t iid, ipc_call_t *icall) |
| Process IPC messages from the IP module. | |
| static int | udp_recvfrom_message (socket_cores_t *local_sockets, int socket_id, int flags, size_t *addrlen) |
| Receives data to the socket. | |
| static int | udp_release_and_return (packet_t *packet, int result) |
| Releases the packet and returns the result. | |
| static int | udp_sendto_message (socket_cores_t *local_sockets, int socket_id, const struct sockaddr *addr, socklen_t addrlen, int fragments, size_t *data_fragment_size, int flags) |
| Sends data from the socket to the remote address. | |
Variables | |
| udp_globals_t | udp_globals |
| UDP global data. | |
Definition in file udp.c.
1.4.7