SIP Witch 1.9.15
|
oSIP url parser Routines More...
Go to the source code of this file.
Data Structures | |
struct | osip_uri_param |
Structure for referencing url parameters. More... | |
struct | osip_uri |
Structure for referencing SIP urls. More... | |
Macros | |
#define | osip_uri_header_init(url_header) osip_uri_param_init(url_header) |
Allocate a generic parameter element. More... | |
#define | osip_uri_header_free(url_header) osip_uri_param_free(url_header) |
Free a generic parameter element. More... | |
#define | osip_uri_header_set(url_header, name, value) osip_uri_param_set(url_header, name, value) |
Set values of a generic parameter element. More... | |
#define | osip_uri_header_clone(url_header, dest) osip_uri_param_clone(url_header,dest) |
Clone a generic parameter element. More... | |
#define | osip_uri_header_freelist(LIST) osip_uri_param_freelist(LIST) |
#define | osip_uri_header_add(url_headers, name, value) osip_uri_param_add(url_headers,name,value) |
Allocate and add a generic parameter element in a list. More... | |
#define | osip_uri_header_get_byname(url_headers, name, dest) osip_uri_param_get_byname(url_headers,name,dest) |
Find in a generic parameter element in a list. More... | |
#define | osip_uri_set_transport_udp(url) osip_uri_param_add((&(url)->url_params), osip_strdup("transport"), osip_strdup("udp")) |
Set the transport parameter to UDP in a url element. More... | |
#define | osip_uri_set_transport_tcp(url) osip_uri_param_add((&(url)->url_params), osip_strdup("transport"), osip_strdup("tcp")) |
Set the transport parameter to TCP in a url element. More... | |
#define | osip_uri_set_transport_sctp(url) osip_uri_param_add((&(url)->url_params), osip_strdup("transport"), osip_strdup("sctp")) |
Set the transport parameter to SCTP in a url element. More... | |
#define | osip_uri_set_transport_tls(url) osip_uri_param_add((&(url)->url_params), osip_strdup("transport"), osip_strdup("tls")) |
Set the transport parameter to TLS in a url element. More... | |
#define | osip_uri_set_transport(url, value) osip_uri_param_add((&(url)->url_params), osip_strdup("transport"), value) |
Set the transport parameter to TLS in a url element. More... | |
#define | osip_uri_set_user_phone(url) osip_uri_param_add((&(url)->url_params), osip_strdup("user"), osip_strdup("phone")) |
Set the user parameter to PHONE in a url element. More... | |
#define | osip_uri_set_user_ip(url) osip_uri_param_add((&(url)->url_params), osip_strdup("user"), osip_strdup("ip")) |
Set the user parameter to IP in a url element. More... | |
#define | osip_uri_set_method_invite(url) osip_uri_param_add((&(url)->url_params), osip_strdup("method"), osip_strdup("INVITE")) |
Set a method parameter to INVITE in a url element. More... | |
#define | osip_uri_set_method_ack(url) osip_uri_param_add((&(url)->url_params), osip_strdup("method"), osip_strdup("ACK")) |
Set a method parameter to ACK in a url element. More... | |
#define | osip_uri_set_method_options(url) osip_uri_param_add((&(url)->url_params), osip_strdup("method"), osip_strdup("OPTIONS")) |
Set a method parameter to OPTIONS in a url element. More... | |
#define | osip_uri_set_method_bye(url) osip_uri_param_add((&(url)->url_params), osip_strdup("method"), osip_strdup("BYE")) |
Set a method parameter to BYE in a url element. More... | |
#define | osip_uri_set_method_cancel(url) osip_uri_param_add((&(url)->url_params), osip_strdup("method"), osip_strdup("CANCEL")) |
Set a method parameter to CANCEL in a url element. More... | |
#define | osip_uri_set_method_register(url) osip_uri_param_add((&(url)->url_params),osip_strdup("method"), osip_strdup("REGISTER")) |
Set a method parameter to REGISTER in a url element. More... | |
#define | osip_uri_set_method(url, value) osip_uri_param_add((&(url)->url_params), osip_strdup("method"), value) |
Set a method parameter in a url element. More... | |
#define | osip_uri_set_ttl(url, value) osip_uri_param_add((&(url)->url_params), osip_strdup("ttl"), value) |
Set a ttl parameter in a url element. More... | |
#define | osip_uri_set_maddr(url, value) osip_uri_param_add((&(url)->url_params), osip_strdup("maddr"), value) |
Set a maddr parameter in a url element. More... | |
#define | osip_uri_uparam_add(url, name, value) osip_uri_param_add((&(url)->url_params),name,value) |
Allocate and add a url parameter element in a url element. More... | |
#define | osip_uri_uparam_get_byname(url, name, dest) osip_uri_param_get_byname((&(url)->url_params),name,dest) |
Find in a url parameter element in a url element. More... | |
#define | osip_uri_uheader_add(url, name, value) osip_uri_header_add((&(url)->url_headers),name,value) |
Allocate and add a url header element in a url element. More... | |
#define | osip_uri_uheader_get_byname(url, name, dest) osip_uri_header_get_byname((&(url)->url_headers),name,dest) |
Find in a url header element in a url element. More... | |
Typedefs | |
typedef struct osip_uri_param | osip_uri_param_t |
Structure for referencing url parameters. More... | |
typedef osip_uri_param_t | osip_uri_header_t |
Structure for referencing url headers. More... | |
typedef struct osip_uri | osip_uri_t |
Structure for referencing SIP urls. More... | |
Functions | |
int | osip_uri_param_init (osip_uri_param_t **url_param) |
Allocate a url parameter element. More... | |
void | osip_uri_param_free (osip_uri_param_t *url_param) |
Free a url parameter element. More... | |
int | osip_uri_param_set (osip_uri_param_t *url_param, char *name, char *value) |
Set values of a url parameter element. More... | |
int | osip_uri_param_clone (const osip_uri_param_t *url_param, osip_uri_param_t **dest) |
Clone a url parameter element. More... | |
void | osip_uri_param_freelist (osip_list_t *url_params) |
int | osip_uri_param_add (osip_list_t *url_params, char *name, char *value) |
Allocate and add a url parameter element in a list. More... | |
int | osip_uri_param_get_byname (osip_list_t *url_params, char *name, osip_uri_param_t **dest) |
Find in a url parameter element in a list. More... | |
int | osip_uri_init (osip_uri_t **url) |
Allocate a url element. More... | |
void | osip_uri_free (osip_uri_t *url) |
Free a url element. More... | |
int | osip_uri_parse (osip_uri_t *url, const char *buf) |
Parse a url. More... | |
int | osip_uri_parse_headers (osip_uri_t *url, const char *buf) |
Parse the header part of a url. More... | |
int | osip_uri_parse_params (osip_uri_t *url, const char *buf) |
Parse the parameter part of a url. More... | |
int | osip_uri_to_str (const osip_uri_t *url, char **dest) |
Get a string representation of a url element. More... | |
int | osip_uri_clone (const osip_uri_t *url, osip_uri_t **dest) |
Clone a url element. More... | |
int | osip_uri_to_str_canonical (const osip_uri_t *url, char **dest) |
Get a canonical string representation of a url element. More... | |
void | osip_uri_set_scheme (osip_uri_t *url, char *value) |
Set the scheme of a url element. More... | |
char * | osip_uri_get_scheme (osip_uri_t *url) |
Get the scheme of a url element. More... | |
void | osip_uri_set_host (osip_uri_t *url, char *value) |
Set the host of a url element. More... | |
char * | osip_uri_get_host (osip_uri_t *url) |
Get the host of a url element. More... | |
void | osip_uri_set_username (osip_uri_t *url, char *value) |
Set the username of a url element. More... | |
char * | osip_uri_get_username (osip_uri_t *url) |
Get the username of a url element. More... | |
void | osip_uri_set_password (osip_uri_t *url, char *value) |
Set the password of a url element. More... | |
char * | osip_uri_get_password (osip_uri_t *url) |
Get the password of a url element. More... | |
void | osip_uri_set_port (osip_uri_t *url, char *value) |
Set the port of a url element. More... | |
char * | osip_uri_get_port (osip_uri_t *url) |
Get the port of a url element. More... | |
const char * | next_separator (const char *ch, int separator_osip_to_find, int before_separator) |
char * | __osip_uri_escape_nonascii_and_nondef (const char *string, const char *def) |
char * | __osip_uri_escape_userinfo (const char *string) |
char * | __osip_uri_escape_password (const char *string) |
char * | __osip_uri_escape_uri_param (char *string) |
char * | __osip_uri_escape_header_param (char *string) |
void | __osip_uri_unescape (char *string) |
oSIP url parser Routines
This is the implementation of sip url scheme. It also partially support any unrecognised scheme (not starting with 'sip:' or 'sips:'). Unrecognised scheme are stored in url->string.
Definition in file osip_uri.h.