udp.c File Reference

UDP module implementation. More...

#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.


Detailed Description

UDP module implementation.

See also:
udp.h

Definition in file udp.c.


Generated on Thu Jun 2 07:45:55 2011 for HelenOS/USB by  doxygen 1.4.7