socket_core.h File Reference

Socket common core. More...

#include <sys/types.h>
#include "../include/in.h"
#include "../include/device.h"
#include "../structures/generic_char_map.h"
#include "../structures/dynamic_fifo.h"
#include "../structures/int_map.h"
#include "../structures/packet/packet.h"
Include dependency graph for socket_core.h:
This graph shows which files directly or indirectly include this file:

Data Structures

struct  socket_core
 Socket core. More...

Defines

#define SOCKET_INITIAL_RECEIVED_SIZE   4
 Initial size of the received packet queue.
#define SOCKET_MAX_RECEIVED_SIZE   0
 Maximum size of the received packet queue.
#define SOCKET_INITIAL_ACCEPTED_SIZE   1
 Initial size of the sockets for acceptance queue.
#define SOCKET_MAX_ACCEPTEDED_SIZE   0
 Maximum size of the sockets for acceptance queue.
#define SOCKET_MAP_KEY_LISTENING   "L"
 Listening sockets' port map key.

Typedefs

typedef struct socket_core socket_core_t
 Type definition of the socket core.
typedef socket_core_tsocket_core_ref
 Type definition of the socket core pointer.
typedef struct socket_port socket_port_t
 Type definition of the socket port.
typedef socket_port_tsocket_port_ref
 Type definition of the socket port pointer.

Functions

 INT_MAP_DECLARE (socket_cores, socket_core_t)
 Sockets map.
 GENERIC_CHAR_MAP_DECLARE (socket_port_map, socket_core_ref)
 Bount port sockets map.
 INT_MAP_DECLARE (socket_ports, socket_port_t)
 Ports map.
void socket_cores_release (int packet_phone, socket_cores_ref local_sockets, socket_ports_ref global_sockets, void(*socket_release)(socket_core_ref socket))
 Destroys local sockets.
int socket_bind (socket_cores_ref local_sockets, socket_ports_ref global_sockets, int socket_id, void *addr, size_t addrlen, int free_ports_start, int free_ports_end, int last_used_port)
 Binds the socket to the port.
int socket_bind_free_port (socket_ports_ref global_sockets, socket_core_ref socket, int free_ports_start, int free_ports_end, int last_used_port)
 Binds the socket to a free port.
int socket_create (socket_cores_ref local_sockets, int app_phone, void *specific_data, int *socket_id)
 Creates a new socket.
int socket_destroy (int packet_phone, int socket_id, socket_cores_ref local_sockets, socket_ports_ref global_sockets, void(*socket_release)(socket_core_ref socket))
 Destroys the socket.
int socket_reply_packets (packet_t packet, size_t *length)
 Replies the packet or the packet queue data to the application via the socket.
socket_core_ref socket_port_find (socket_ports_ref global_sockets, int port, const char *key, size_t key_length)
 Finds the bound port socket.
void socket_port_release (socket_ports_ref global_sockets, socket_core_ref socket)
 Releases the socket port.
int socket_port_add (socket_ports_ref global_sockets, int port, socket_core_ref socket, const char *key, size_t key_length)
 Adds the socket to an already bound port.

Detailed Description

Socket common core.


Generated on Thu Mar 11 20:46:14 2010 for Networking and TCP/IP stack for HelenOS system by  doxygen 1.6.1