Loading...
Searching...
No Matches
tport.h
Go to the documentation of this file.
/*
* This file is part of the Sofia-SIP package
*
* Copyright (C) 2005 Nokia Corporation.
*
* Contact: Pekka Pessi <pekka.pessi@nokia-email.address.hidden>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*
*/
#ifndef TPORT_H
#define TPORT_H
#ifndef SU_H
#include <sofia-sip/su.h>
#endif
#ifndef SU_STRLST_H
#include <sofia-sip/su_strlst.h>
#endif
#ifndef SU_WAIT_H
#include <sofia-sip/su_wait.h>
#endif
#ifndef MSG_H
#include <sofia-sip/msg.h>
#endif
#ifndef URL_H
#include <sofia-sip/url.h>
#endif
#ifndef TPORT_TAG_H
#include <sofia-sip/tport_tag.h>
#endif
SOFIA_BEGIN_DECLS
struct tport_s;
#ifndef TPORT_T
#define TPORT_T struct tport_s
typedef TPORT_T tport_t;
#endif
#ifndef TP_STACK_T
#ifndef TP_AGENT_T
#define TP_STACK_T struct tp_stack_s
#else
#define TP_STACK_T TP_AGENT_T
#endif
#endif
typedef TP_STACK_T tp_stack_t;
#ifndef TP_MAGIC_T
#define TP_MAGIC_T struct tp_magic_s
#endif
typedef TP_MAGIC_T tp_magic_t;
#ifndef TP_CLIENT_T
#define TP_CLIENT_T struct tp_client_s
#endif
typedef TP_CLIENT_T tp_client_t;
struct sigcomp_compartment;
struct sigcomp_udvm;
typedef struct {
int tpac_size;
void (*tpac_recv)(tp_stack_t *, tport_t *, msg_t *msg, tp_magic_t *magic,
su_time_t received);
void (*tpac_error)(tp_stack_t *, tport_t *,
int errcode, char const *remote);
msg_t *(*tpac_alloc)(tp_stack_t *, int flags,
char const [], usize_t,
tport_t const *, tp_client_t *);
void (*tpac_address)(tp_stack_t *, tport_t *);
} tport_stack_class_t;
/* Compatibility */
typedef tport_stack_class_t tp_stack_class_t;
typedef void tport_pending_error_f(tp_stack_t *, tp_client_t *,
tport_t *, msg_t *msg, int error);
enum {
TPORT_QUEUESIZE = 64
};
/* AI extension flags - these must not overlap with existing AI flags. */
#define TP_AI_COMPRESSED 0x01000
#define TP_AI_SECURE 0x02000
#define TP_AI_SHUTDOWN 0x04000
#define TP_AI_CLOSE 0x08000
#define TP_AI_ANY 0x80000
#define TP_AI_MASK 0xff000
#define TPORT_HOSTPORTSIZE (55)
typedef struct {
char const *tpn_proto;
char const *tpn_canon;
char const *tpn_host;
char const *tpn_port;
char const *tpn_comp;
char const *tpn_ident;
} tp_name_t;
#define TPN_FORMAT "%s/%s:%s%s%s%s%s"
#define TPN_ARGS(n) \
(n)->tpn_proto, (n)->tpn_host, (n)->tpn_port, \
(n)->tpn_comp ? ";comp=" : "", (n)->tpn_comp ? (n)->tpn_comp : "", \
(n)->tpn_ident ? "/" : "", (n)->tpn_ident ? (n)->tpn_ident : ""
TPORT_DLL tport_t *tport_tcreate(tp_stack_t *stack,
tport_stack_class_t const *tpac,
su_root_t *root,
tag_type_t tag, tag_value_t value, ...);
TPORT_DLL int tport_tbind(tport_t *self,
tp_name_t const *tpn,
char const * const transports[],
tag_type_t tag, tag_value_t value, ...);
TPORT_DLL int tport_get_params(tport_t const *, tag_type_t tag, tag_value_t value, ...);
TPORT_DLL int tport_set_params(tport_t *self, tag_type_t tag, tag_value_t value, ...);
TPORT_DLL void tport_destroy(tport_t *tport);
TPORT_DLL int tport_shutdown(tport_t *tport, int how);
TPORT_DLL tport_t *tport_ref(tport_t *tp);
TPORT_DLL void tport_unref(tport_t *tp);
TPORT_DLL tport_t *tport_incref(tport_t *tp);
TPORT_DLL void tport_decref(tport_t **tp);
TPORT_DLL tport_t *tport_tsend(tport_t *, msg_t *, tp_name_t const *,
tag_type_t, tag_value_t, ...);
TPORT_DLL int tport_tqueue(tport_t *, msg_t *, tag_type_t, tag_value_t, ...);
TPORT_DLL isize_t tport_queuelen(tport_t const *self);
TPORT_DLL int tport_tqsend(tport_t *, msg_t *, msg_t *,
tag_type_t, tag_value_t, ...);
TPORT_DLL int tport_stall(tport_t *self);
TPORT_DLL int tport_continue(tport_t *self);
TPORT_DLL int tport_pend(tport_t *self, msg_t *msg,
tport_pending_error_f *callback, tp_client_t *client);
TPORT_DLL int tport_release(tport_t *self, int pendd,
msg_t *msg, msg_t *reply, tp_client_t *client,
int still_pending);
TPORT_DLL int tport_is_master(tport_t const *self);
TPORT_DLL int tport_is_primary(tport_t const *self);
TPORT_DLL int tport_is_public(tport_t const *self);
TPORT_DLL int tport_is_secondary(tport_t const *self);
TPORT_DLL int tport_is_reliable(tport_t const *tport);
TPORT_DLL int tport_is_stream(tport_t const *tport);
TPORT_DLL int tport_is_dgram(tport_t const *tport);
TPORT_DLL int tport_has_ip4(tport_t const *tport);
TPORT_DLL int tport_has_ip6(tport_t const *tport);
TPORT_DLL int tport_is_udp(tport_t const *self);
TPORT_DLL int tport_is_tcp(tport_t const *self);
TPORT_DLL int tport_has_tls(tport_t const *tport);
TPORT_DLL int tport_is_verified(tport_t const *tport);
TPORT_DLL int tport_is_updating(tport_t const *self);
TPORT_DLL int tport_is_closed(tport_t const *self);
TPORT_DLL int tport_is_shutdown(tport_t const *self);
TPORT_DLL int tport_is_connected(tport_t const *self);
TPORT_DLL int tport_is_clear_to_send(tport_t const *self);
TPORT_DLL void tport_set_magic(tport_t *self, tp_magic_t *magic);
TPORT_DLL tp_magic_t *tport_magic(tport_t const *tport);
TPORT_DLL tp_name_t const *tport_name(tport_t const *tport);
TPORT_DLL su_addrinfo_t const *tport_get_address(tport_t const *tport);
TPORT_DLL char const *tport_ident(tport_t const *self);
TPORT_DLL tport_t *tport_parent(tport_t const *self);
TPORT_DLL int tport_flush(tport_t *);
TPORT_DLL tport_t *tport_primaries(tport_t const *tport);
TPORT_DLL tport_t *tport_next(tport_t const *tport);
TPORT_DLL tport_t *tport_secondary(tport_t const *tport);
TPORT_DLL tport_t *tport_by_protocol(tport_t const *self, char const *proto);
TPORT_DLL tport_t *tport_primary_by_name(tport_t const *self, tp_name_t const *tpn);
TPORT_DLL tport_t *tport_by_name(tport_t const *self, tp_name_t const *);
TPORT_DLL int tport_name_by_url(su_home_t *, tp_name_t *,
url_string_t const *us);
TPORT_DLL tport_t *tport_delivered_by(tport_t const *tp, msg_t const *msg);
TPORT_DLL int tport_delivered_from(tport_t *tp, msg_t const *msg,
tp_name_t name[1]);
TPORT_DLL su_strlst_t const *tport_delivered_from_subjects(tport_t *tp,
msg_t const *msg);
TPORT_DLL int tport_subject_search(char const *, su_strlst_t const *);
TPORT_DLL int tport_name_is_resolved(tp_name_t const *);
TPORT_DLL int tport_name_dup(su_home_t *,
tp_name_t *dst, tp_name_t const *src);
TPORT_DLL int tport_convert_addr(su_home_t *home,
tp_name_t *tpn,
char const *protoname,
char const *canon,
su_sockaddr_t const *su);
TPORT_DLL char *tport_hostport(char buf[], isize_t bufsize,
su_sockaddr_t const *su, int with_port);
TPORT_DLL int tport_keepalive(tport_t *tp, su_addrinfo_t const *ai,
tag_type_t tag, tag_value_t value, ...);
/* ---------------------------------------------------------------------- */
/* SigComp-related functions */
#ifndef TPORT_COMPRESSOR
#define TPORT_COMPRESSOR struct tport_compressor
#endif
typedef TPORT_COMPRESSOR tport_compressor_t;
TPORT_DLL int tport_can_send_sigcomp(tport_t const *self);
TPORT_DLL int tport_can_recv_sigcomp(tport_t const *self);
TPORT_DLL int tport_has_compression(tport_t const *self, char const *comp);
TPORT_DLL int tport_set_compression(tport_t *self, char const *comp);
TPORT_DLL
int tport_sigcomp_option(tport_t const *self,
struct sigcomp_compartment *cc,
char const *option);
TPORT_DLL struct sigcomp_compartment *
tport_sigcomp_compartment(tport_t *self,
char const *name, isize_t namelen,
int create_if_needed);
TPORT_DLL int
tport_sigcomp_assign(tport_t *self, struct sigcomp_compartment *);
TPORT_DLL int tport_has_sigcomp_assigned(tport_t const *self);
TPORT_DLL int
tport_sigcomp_accept(tport_t *self,
struct sigcomp_compartment *cc,
msg_t *msg);
TPORT_DLL int
tport_delivered_with_comp(tport_t *tp, msg_t const *msg,
tport_compressor_t **return_compressor);
TPORT_DLL int
tport_sigcomp_close(tport_t *self,
struct sigcomp_compartment *cc,
int how);
TPORT_DLL int
tport_sigcomp_lifetime(tport_t *self,
struct sigcomp_compartment *,
unsigned lifetime_in_ms,
int only_expand);
SOFIA_END_DECLS
#endif /* TPORT_H */
msg.h
msg_t
struct msg_s msg_t
tp_name_t
Transport name.
Definition tport.h:156
tp_name_t::tpn_comp
char const * tpn_comp
Compression algorithm (NULL if none).
Definition tport.h:161
tp_name_t::tpn_host
char const * tpn_host
Node address in textual format.
Definition tport.h:159
tp_name_t::tpn_ident
char const * tpn_ident
Transport identifier (NULL if none).
Definition tport.h:162
tp_name_t::tpn_canon
char const * tpn_canon
Node DNS name (if known).
Definition tport.h:158
tp_name_t::tpn_proto
char const * tpn_proto
Protocol name ("udp", "tcp", etc.).
Definition tport.h:157
tp_name_t::tpn_port
char const * tpn_port
Port number in textual format.
Definition tport.h:160
tport_stack_class_t
Interface towards stack.
Definition tport.h:93
tport_stack_class_t::tpac_error
void(* tpac_error)(tp_stack_t *, tport_t *, int errcode, char const *remote)
Function used to indicate an error to the protocol stack.
Definition tport.h:101
tport_stack_class_t::tpac_address
void(* tpac_address)(tp_stack_t *, tport_t *)
Indicate stack that address has changed.
Definition tport.h:110
tport_stack_class_t::tpac_recv
void(* tpac_recv)(tp_stack_t *, tport_t *, msg_t *msg, tp_magic_t *magic, su_time_t received)
Function used to pass a received message to the protocol stack.
Definition tport.h:97
su.h
su_addrinfo_t
struct addrinfo su_addrinfo_t
su_home_t
SU_HOME_T su_home_t
su_strlst.h
tag_value_t
intptr_t tag_value_t
tag_type_t
struct tag_type_s const * tag_type_t
su_time_t
struct su_time_s su_time_t
su_wait.h
su_root_t
struct su_root_t su_root_t
tport_is_connected
TPORT_DLL int tport_is_connected(tport_t const *self)
Test if transport is connected.
Definition tport.c:321
tport_sigcomp_accept
TPORT_DLL int tport_sigcomp_accept(tport_t *self, struct sigcomp_compartment *cc, msg_t *msg)
Accept SigComp message.
Definition tport_sigcomp.c:761
tport_sigcomp_lifetime
TPORT_DLL int tport_sigcomp_lifetime(tport_t *self, struct sigcomp_compartment *, unsigned lifetime_in_ms, int only_expand)
Set SigComp compartment lifetime.
tport_magic
TPORT_DLL tp_magic_t * tport_magic(tport_t const *tport)
Get transport magic.
Definition tport.c:4388
tport_tqsend
TPORT_DLL int tport_tqsend(tport_t *, msg_t *, msg_t *, tag_type_t, tag_value_t,...)
Send a queued message (and queue another, if required).
Definition tport.c:3876
TPORT_QUEUESIZE
@ TPORT_QUEUESIZE
Maximum number of messages in send queue.
Definition tport.h:123
tport_tsend
TPORT_DLL tport_t * tport_tsend(tport_t *, msg_t *, tp_name_t const *, tag_type_t, tag_value_t,...)
Send a message using transport.
Definition tport.c:3298
tport_stall
TPORT_DLL int tport_stall(tport_t *self)
Stop reading from socket until tport_continue() is called.
Definition tport.c:2872
tport_name_by_url
TPORT_DLL int tport_name_by_url(su_home_t *, tp_name_t *, url_string_t const *us)
Create a transport name corresponding to the URL.
Definition tport.c:4747
tport_continue
TPORT_DLL int tport_continue(tport_t *self)
Continue reading from socket.
Definition tport.c:2878
tport_sigcomp_compartment
TPORT_DLL struct sigcomp_compartment * tport_sigcomp_compartment(tport_t *self, char const *name, isize_t namelen, int create_if_needed)
Obtain a SigComp compartment with given name.
tport_is_shutdown
TPORT_DLL int tport_is_shutdown(tport_t const *self)
Test if transport has been shut down.
Definition tport.c:309
tport_ident
TPORT_DLL char const * tport_ident(tport_t const *self)
Get transport ident.
Definition tport.c:4452
tport_tbind
TPORT_DLL int tport_tbind(tport_t *self, tp_name_t const *tpn, char const *const transports[], tag_type_t tag, tag_value_t value,...)
Bind transports to network.
Definition tport.c:1540
tport_primaries
TPORT_DLL tport_t * tport_primaries(tport_t const *tport)
Get primary transports.
Definition tport.c:4400
tport_pending_error_f
void tport_pending_error_f(tp_stack_t *, tp_client_t *, tport_t *, msg_t *msg, int error)
Callback to report error by pending requests.
Definition tport.h:118
tport_is_closed
TPORT_DLL int tport_is_closed(tport_t const *self)
Test if transport has been closed.
Definition tport.c:300
tport_release
TPORT_DLL int tport_release(tport_t *self, int pendd, msg_t *msg, msg_t *reply, tp_client_t *client, int still_pending)
Do not wait for response anymore.
Definition tport.c:4257
tport_incref
TPORT_DLL tport_t * tport_incref(tport_t *tp)
Create a new transport reference.
Definition tport.c:1227
tport_shutdown
TPORT_DLL int tport_shutdown(tport_t *tport, int how)
Shutdown a transport connection.
Definition tport.c:2194
tport_has_compression
TPORT_DLL int tport_has_compression(tport_t const *self, char const *comp)
Check if transport supports named compression.
Definition tport_stub_sigcomp.c:140
tport_keepalive
TPORT_DLL int tport_keepalive(tport_t *tp, su_addrinfo_t const *ai, tag_type_t tag, tag_value_t value,...)
Initialize STUN keepalives.
Definition tport_stub_stun.c:253
TP_MAGIC_T
#define TP_MAGIC_T
Type of transport-protocol-specific context.
Definition tport.h:75
tport_is_tcp
TPORT_DLL int tport_is_tcp(tport_t const *self)
Test if transport is tcp.
Definition tport.c:221
tport_delivered_by
TPORT_DLL tport_t * tport_delivered_by(tport_t const *tp, msg_t const *msg)
Return source transport object for delivered message.
Definition tport.c:3112
tport_has_ip6
TPORT_DLL int tport_has_ip6(tport_t const *tport)
Return true if transport supports IPv6.
tp_stack_t
TP_STACK_T tp_stack_t
Type of stack object.
Definition tport.h:71
tport_parent
TPORT_DLL tport_t * tport_parent(tport_t const *self)
Get primary transport (or self, if already parent).
Definition tport.c:4394
tport_delivered_with_comp
TPORT_DLL int tport_delivered_with_comp(tport_t *tp, msg_t const *msg, tport_compressor_t **return_compressor)
Get compressor context with which the request was delivered.
Definition tport.c:3150
tport_sigcomp_option
TPORT_DLL int tport_sigcomp_option(tport_t const *self, struct sigcomp_compartment *cc, char const *option)
Set SigComp option.
Definition tport_stub_sigcomp.c:159
tport_can_recv_sigcomp
TPORT_DLL int tport_can_recv_sigcomp(tport_t const *self)
Check if transport can receive compressed messages.
Definition tport_stub_sigcomp.c:118
tport_name_dup
TPORT_DLL int tport_name_dup(su_home_t *, tp_name_t *dst, tp_name_t const *src)
Duplicate a transport name.
Definition tport.c:4812
tport_pend
TPORT_DLL int tport_pend(tport_t *self, msg_t *msg, tport_pending_error_f *callback, tp_client_t *client)
Mark message as waiting for a response.
Definition tport.c:4204
tport_queuelen
TPORT_DLL isize_t tport_queuelen(tport_t const *self)
Return number of queued messages.
Definition tport.c:3820
tport_get_address
TPORT_DLL su_addrinfo_t const * tport_get_address(tport_t const *tport)
Get transport address list.
Definition tport.c:4440
tport_is_clear_to_send
TPORT_DLL int tport_is_clear_to_send(tport_t const *self)
Test if transport can be used to send message.
Definition tport.c:327
tport_convert_addr
TPORT_DLL int tport_convert_addr(su_home_t *home, tp_name_t *tpn, char const *protoname, char const *canon, su_sockaddr_t const *su)
Convert a socket address to a transport name.
Definition tport.c:2402
tport_decref
TPORT_DLL void tport_decref(tport_t **tp)
Destroy a transport reference.
Definition tport.c:1233
tport_by_protocol
TPORT_DLL tport_t * tport_by_protocol(tport_t const *self, char const *proto)
Get a protocol corresponding to the protocol name.
Definition tport.c:4458
tport_destroy
TPORT_DLL void tport_destroy(tport_t *tport)
Destroy a master transport.
Definition tport.c:556
tp_magic_t
TP_MAGIC_T tp_magic_t
Type of transport-protocol-specific context object.
Definition tport.h:78
tport_can_send_sigcomp
TPORT_DLL int tport_can_send_sigcomp(tport_t const *self)
Check if transport can send compressed messages.
Definition tport_stub_sigcomp.c:129
tport_set_compression
TPORT_DLL int tport_set_compression(tport_t *self, char const *comp)
Set the compression protocol as comp.
Definition tport_stub_sigcomp.c:148
tport_has_ip4
TPORT_DLL int tport_has_ip4(tport_t const *tport)
Return true if transport supports IPv4.
Definition tport.c:249
tport_has_sigcomp_assigned
TPORT_DLL int tport_has_sigcomp_assigned(tport_t const *self)
Test if a SigComp compartment is assigned to a tport.
Definition tport_stub_sigcomp.c:214
tport_unref
TPORT_DLL void tport_unref(tport_t *tp)
Destroy reference to a transport object.
Definition tport.c:1215
tport_sigcomp_assign
TPORT_DLL int tport_sigcomp_assign(tport_t *self, struct sigcomp_compartment *)
Assign a SigComp compartment to a connection-oriented tport.
Definition tport_sigcomp.c:194
tp_client_t
TP_CLIENT_T tp_client_t
Transaction object given as a reference to the transport.
Definition tport.h:87
tport_delivered_from
TPORT_DLL int tport_delivered_from(tport_t *tp, msg_t const *msg, tp_name_t name[1])
Return source transport name for delivered message.
Definition tport.c:3122
tport_is_stream
TPORT_DLL int tport_is_stream(tport_t const *tport)
Return true if transport is a stream (no message boundaries).
Definition tport.c:203
tport_get_params
TPORT_DLL int tport_get_params(tport_t const *, tag_type_t tag, tag_value_t value,...)
Get transport parameters.
Definition tport.c:1256
tport_is_verified
TPORT_DLL int tport_is_verified(tport_t const *tport)
Test if transport provided a verified certificate chain (TLS only).
Definition tport.c:274
tport_is_reliable
TPORT_DLL int tport_is_reliable(tport_t const *tport)
Return true if transport is reliable, false otherwise.
Definition tport.c:230
tport_is_primary
TPORT_DLL int tport_is_primary(tport_t const *self)
Return true if transport is primary.
Definition tport.c:180
tport_is_master
TPORT_DLL int tport_is_master(tport_t const *self)
Return true if transport is master.
Definition tport.c:172
tport_set_params
TPORT_DLL int tport_set_params(tport_t *self, tag_type_t tag, tag_value_t value,...)
Set transport parameters.
Definition tport.c:1319
tport_hostport
TPORT_DLL char * tport_hostport(char buf[], isize_t bufsize, su_sockaddr_t const *su, int with_port)
Print host and port separated with ':' to a string.
Definition tport.c:4866
tport_has_tls
TPORT_DLL int tport_has_tls(tport_t const *tport)
Test if transport has TLS.
Definition tport.c:268
tport_is_updating
TPORT_DLL int tport_is_updating(tport_t const *self)
Return true if transport is being updated.
Definition tport.c:280
tport_tqueue
TPORT_DLL int tport_tqueue(tport_t *, msg_t *, tag_type_t, tag_value_t,...)
Queue a message to transport.
Definition tport.c:3811
tport_subject_search
TPORT_DLL int tport_subject_search(char const *, su_strlst_t const *)
Check if the given subject string is found in su_strlst_t.
Definition tport.c:3164
tport_is_secondary
TPORT_DLL int tport_is_secondary(tport_t const *self)
Return true if transport is secondary.
Definition tport.c:188
tport_flush
TPORT_DLL int tport_flush(tport_t *)
Flush idle connections.
Definition tport.c:2367
tport_primary_by_name
TPORT_DLL tport_t * tport_primary_by_name(tport_t const *self, tp_name_t const *tpn)
Get transport by interface identifier and protocol name.
Definition tport.c:4470
tport_secondary
TPORT_DLL tport_t * tport_secondary(tport_t const *tport)
Get secondary transports.
Definition tport.c:4423
tport_name
TPORT_DLL tp_name_t const * tport_name(tport_t const *tport)
Get transport name.
Definition tport.c:4446
tport_tcreate
TPORT_DLL tport_t * tport_tcreate(tp_stack_t *stack, tport_stack_class_t const *tpac, su_root_t *root, tag_type_t tag, tag_value_t value,...)
Create master transport.
Definition tport.c:494
tport_delivered_from_subjects
TPORT_DLL su_strlst_t const * tport_delivered_from_subjects(tport_t *tp, msg_t const *msg)
Return TLS Subjects provided by the source transport.
Definition tport.c:3138
tport_set_magic
TPORT_DLL void tport_set_magic(tport_t *self, tp_magic_t *magic)
Set transport magic.
Definition tport.c:4382
tport_is_dgram
TPORT_DLL int tport_is_dgram(tport_t const *tport)
Return true if transport is dgram-based.
Definition tport.c:209
tport_is_udp
TPORT_DLL int tport_is_udp(tport_t const *self)
Test if transport is udp.
Definition tport.c:215
tport_sigcomp_close
TPORT_DLL int tport_sigcomp_close(tport_t *self, struct sigcomp_compartment *cc, int how)
Shutdown SigComp compartment.
tport_ref
TPORT_DLL tport_t * tport_ref(tport_t *tp)
Create a new reference to a transport object.
Definition tport.c:1198
tport_by_name
TPORT_DLL tport_t * tport_by_name(tport_t const *self, tp_name_t const *)
Get a transport corresponding to the name.
Definition tport.c:4536
tport_is_public
TPORT_DLL int tport_is_public(tport_t const *self)
Return nonzero if transport is public.
Definition tport.c:243
tport_name_is_resolved
TPORT_DLL int tport_name_is_resolved(tp_name_t const *)
Check if transport named is already resolved.
Definition tport.c:4792
tport_next
TPORT_DLL tport_t * tport_next(tport_t const *tport)
Get next transport.
Definition tport.c:4409
tport_tag.h
Tags for tport module.

Sofia-SIP 1.12.11devel - Copyright (C) 2006 Nokia Corporation. All rights reserved. Licensed under the terms of the GNU Lesser General Public License.