#include <sofia-sip/su.h>
#include <sofia-sip/su_uniqueid.h>
#include <sofia-sip/msg_addr.h>
#include <sofia-sip/tport_plugins.h>
#include <sofia-sip/su_debug.h>
#include <sofia-sip/tport.h>
Include dependency graph for tport_internal.h:

Go to the source code of this file.
Data Structures | |
| struct | tport_params_t |
| Transport parameters. More... | |
| struct | tport_s |
| Transport object. More... | |
| struct | tport_primary |
| Primary structure. More... | |
| struct | tport_master |
| Master structure. More... | |
| struct | tport_vtable |
| Virtual funtion table for transports. More... | |
Functions | |
| int | tport_register_type (tport_vtable_t const *vtp) |
| Register new transport vtable. | |
| void | tport_has_been_updated (tport_t *tport) |
| Indicate stack that a transport has been updated. | |
| tport_t * | tport_base_connect (tport_primary_t *pri, su_addrinfo_t *ai, su_addrinfo_t *name, tp_name_t const *tpn) |
| Create a connected transport object with socket. | |
| tport_t * | tport_alloc_secondary (tport_primary_t *pri, int socket, int accepted, char const **return_reason) |
| Allocate a secondary transport. | |
| int | tport_accept (tport_primary_t *pri, int events) |
| Accept a new connection. | |
| void | tport_zap_secondary (tport_t *self) |
| Destroy a secondary transport. | |
| void | tport_close (tport_t *self) |
| Close a transport. | |
| int | tport_error_event (tport_t *self) |
| Process error event. | |
| void | tport_recv_event (tport_t *self) |
| Process "ready to receive" event. | |
| void | tport_send_event (tport_t *self) |
| Send event. | |
| void | tport_hup_event (tport_t *self) |
| Process "hangup" event. | |
| ssize_t | tport_recv_iovec (tport_t const *self, msg_t **mmsg, msg_iovec_t iovec[msg_n_fragments], size_t N, int exact) |
| Allocate message for N bytes, return message buffer as a iovec. | |
| msg_t * | tport_msg_alloc (tport_t const *self, usize_t size) |
| Allocate a new message object. | |
| int | tport_send_msg (tport_t *self, msg_t *msg, tp_name_t const *tpn, struct sigcomp_compartment *cc) |
| Send a message. | |
| void | tport_deliver (tport_t *self, msg_t *msg, msg_t *next, tport_compressor_t *comp, su_time_t now) |
| Deliver message to the protocol stack. | |
| void | tport_base_deliver (tport_t *self, msg_t *msg, su_time_t now) |
| Pass message to the protocol stack. | |
| void | tport_error_report (tport_t *self, int errcode, su_sockaddr_t const *addr) |
| Process errors from transport. | |
| void | tport_open_log (tport_master_t *mr, tagi_t *tags) |
| Initialize logging. | |
| void | tport_log_msg (tport_t *tp, msg_t *msg, char const *what, char const *via, su_time_t now) |
| Log the message. | |
| void | tport_dump_iovec (tport_t const *self, msg_t *msg, size_t n, su_iovec_t const iov[], size_t iovused, char const *what, char const *how) |
| Dump the data from the iovec. | |
| int | tport_recv_dgram (tport_t *self) |
| Receive datagram. | |
| ssize_t | tport_send_dgram (tport_t const *self, msg_t *msg, msg_iovec_t iov[], size_t iovused) |
| Send using su_vsend(). | |
| int | tport_udp_error (tport_t const *self, su_sockaddr_t name[1]) |
| Process UDP error event. | |
| int | tport_recv_stream (tport_t *self) |
| Receive from stream. | |
| int | tport_init_stun_server (tport_master_t *mr, tagi_t const *tags) |
| Initialize stun server. | |
| void | tport_deinit_stun_server (tport_master_t *mr) |
| Deinit stun server. | |
| int | tport_recv_stun_dgram (tport_t const *self, msg_t **in_out_msg, su_sockaddr_t *from, socklen_t fromlen) |
| Process stun messagee. | |
| char const * | tport_canonize_comp (char const *comp) |
| Canonize compression string. | |
| void | tport_sigcomp_accept_incomplete (tport_t *self, msg_t *msg) |
| This function is called when the application message is still incomplete but a complete SigComp message could have been received. | |
| int | tport_recv_comp_dgram (tport_t const *self, tport_compressor_t *sc, msg_t **in_out_msg, su_sockaddr_t *from, socklen_t fromlen) |
| Receive data from datagram using SigComp. | |
| int tport_accept | ( | tport_primary_t * | pri, | |
| int | events | |||
| ) |
Accept a new connection.
The function tport_accept() accepts a new connection and creates a secondary transport object for the new socket.
| tport_t* tport_base_connect | ( | tport_primary_t * | pri, | |
| su_addrinfo_t * | ai, | |||
| su_addrinfo_t * | real_ai, | |||
| tp_name_t const * | tpn | |||
| ) |
Create a connected transport object with socket.
The function tport_connect() creates a secondary transport with a connected socket. It registers the socket with suitable events to the root.
| pri | primary transport object | |
| ai | pointer to addrinfo structure describing socket | |
| real_ai | pointer to addrinfo structure describing real target | |
| tpn | canonical name of node |
| void tport_close | ( | tport_t * | self | ) |
Close a transport.
The function tport_close() closes a socket associated with a transport object.
| int tport_error_event | ( | tport_t * | self | ) |
Process error event.
Return events that can be processed afterwards.
| int tport_recv_dgram | ( | tport_t * | self | ) |
Receive datagram.
| -1 | error | |
| 0 | end-of-stream | |
| 1 | normal receive (should never happen) | |
| 2 | incomplete recv, call me again (should never happen) | |
| 3 | STUN keepalive, ignore |
| int tport_recv_stream | ( | tport_t * | self | ) |
Receive from stream.
| -1 | error | |
| 0 | end-of-stream | |
| 1 | normal receive | |
| 2 | incomplete recv, recv again |
| int tport_recv_stun_dgram | ( | tport_t const * | self, | |
| msg_t ** | in_out_msg, | |||
| su_sockaddr_t * | from, | |||
| socklen_t | fromlen | |||
| ) |
Process stun messagee.
| -1 | error | |
| 3 | stun message received, ignore |
| ssize_t tport_send_dgram | ( | tport_t const * | self, | |
| msg_t * | msg, | |||
| msg_iovec_t | iov[], | |||
| size_t | iovused | |||
| ) |
Send using su_vsend().
Map IPv4 addresses as IPv6 addresses, if needed.
| void tport_send_event | ( | tport_t * | self | ) |
Send event.
Process SU_WAIT_OUT event.
| int tport_send_msg | ( | tport_t * | self, | |
| msg_t * | msg, | |||
| tp_name_t const * | tpn, | |||
| struct sigcomp_compartment * | cc | |||
| ) |
Send a message.
| 0 | when succesful | |
| -1 | upon an error |