Commit 54935a74 authored by Ghislain MARY's avatar Ghislain MARY

Code changes to be able to compile belle_sip_tester with Visual Studio.

parent a67d23ea
......@@ -18,6 +18,8 @@
#ifndef AUTHENTICATION_HELPER_H_
#define AUTHENTICATION_HELPER_H_
#include "belle-sip/defs.h"
#include "belle-sip/belle-sip.h"
/**
......@@ -26,7 +28,7 @@
* @param authentication source to be used as input
* @return belle_sip_header_authorization_t*
*/
belle_sip_header_authorization_t* belle_sip_auth_helper_create_authorization(const belle_sip_header_www_authenticate_t* authentication);
BELLESIP_EXPORT belle_sip_header_authorization_t* belle_sip_auth_helper_create_authorization(const belle_sip_header_www_authenticate_t* authentication);
/**
* Create an proxy_authorization header from an www_authenticate header, all common parameters are copyed.
......@@ -34,7 +36,7 @@ belle_sip_header_authorization_t* belle_sip_auth_helper_create_authorization(con
* @param authentication source to be used as input
* @return belle_sip_header_authorization_t*
*/
belle_sip_header_proxy_authorization_t* belle_sip_auth_helper_create_proxy_authorization(const belle_sip_header_proxy_authenticate_t* proxy_authentication);
BELLESIP_EXPORT belle_sip_header_proxy_authorization_t* belle_sip_auth_helper_create_proxy_authorization(const belle_sip_header_proxy_authenticate_t* proxy_authentication);
/**
* compute and set response value according to parameters
......@@ -44,14 +46,14 @@ belle_sip_header_proxy_authorization_t* belle_sip_auth_helper_create_proxy_autho
*
* @return 0 if succeed
*/
int belle_sip_auth_helper_fill_authorization(belle_sip_header_authorization_t* authorization
BELLESIP_EXPORT int belle_sip_auth_helper_fill_authorization(belle_sip_header_authorization_t* authorization
,const char* method
,const char* ha1);
/**
* compute and set response value according to parameters
* @return 0 if succeed
*/
int belle_sip_auth_helper_fill_proxy_authorization(belle_sip_header_proxy_authorization_t* proxy_authorization
BELLESIP_EXPORT int belle_sip_auth_helper_fill_proxy_authorization(belle_sip_header_proxy_authorization_t* proxy_authorization
,const char* method
,const char* ha1);
......@@ -60,27 +62,27 @@ int belle_sip_auth_helper_fill_proxy_authorization(belle_sip_header_proxy_author
* HA1=MD5(userid:realm:passwd)
* return 0 in case of success
* */
int belle_sip_auth_helper_compute_ha1(const char* userid,const char* realm,const char* password, char ha1[33]);
BELLESIP_EXPORT int belle_sip_auth_helper_compute_ha1(const char* userid,const char* realm,const char* password, char ha1[33]);
/*
* compute HA2 (NULL terminated)
* HA2=MD5(method:uri)
* return 0 in case of success
* */
int belle_sip_auth_helper_compute_ha2(const char* method,const char* uri, char ha2[33]);
BELLESIP_EXPORT int belle_sip_auth_helper_compute_ha2(const char* method,const char* uri, char ha2[33]);
/*
* compute response(NULL terminated)
* res=MD5(ha1:nonce:ha2)
* return 0 in case of success
* */
int belle_sip_auth_helper_compute_response(const char* ha1,const char* nonce, const char* ha2, char response[33]);
BELLESIP_EXPORT int belle_sip_auth_helper_compute_response(const char* ha1,const char* nonce, const char* ha2, char response[33]);
/*
* compute response(NULL terminated)
* res=MD5(HA1:nonce:nonce_count:cnonce:qop:HA2)
* return 0 in case of success
* */
int belle_sip_auth_helper_compute_response_qop_auth( const char* ha1
BELLESIP_EXPORT int belle_sip_auth_helper_compute_response_qop_auth( const char* ha1
, const char* nonce
, unsigned int nonce_count
, const char* cnonce
......
......@@ -18,7 +18,10 @@
#ifndef BELLE_SDP_H_
#define BELLE_SDP_H_
#include "belle-sip.h"
#include "belle-sip/defs.h"
#include "belle-sip/belle-sip.h"
#define BELLE_SDP_CAST(obj,t) BELLE_SIP_CAST(obj,t)
/***************************************************************************************
......@@ -27,11 +30,11 @@
**************************************************************************************/
typedef struct _belle_sdp_attribute belle_sdp_attribute_t;
belle_sdp_attribute_t* belle_sdp_attribute_new();
belle_sdp_attribute_t* belle_sdp_attribute_parse (const char* attribute);
BELLESIP_EXPORT belle_sdp_attribute_t* belle_sdp_attribute_parse (const char* attribute);
belle_sdp_attribute_t* belle_sdp_attribute_create (const char* name,const char* value);
const char* belle_sdp_attribute_get_name(const belle_sdp_attribute_t* attribute);
const char* belle_sdp_attribute_get_value(const belle_sdp_attribute_t* attribute);
unsigned int belle_sdp_attribute_as_value(const belle_sdp_attribute_t* attribute);
BELLESIP_EXPORT const char* belle_sdp_attribute_get_name(const belle_sdp_attribute_t* attribute);
BELLESIP_EXPORT const char* belle_sdp_attribute_get_value(const belle_sdp_attribute_t* attribute);
BELLESIP_EXPORT unsigned int belle_sdp_attribute_as_value(const belle_sdp_attribute_t* attribute);
void belle_sdp_attribute_set_name(belle_sdp_attribute_t* attribute, const char* name);
void belle_sdp_attribute_set_value(belle_sdp_attribute_t* attribute, const char* value);
#define BELLE_SDP_ATTRIBUTE(t) BELLE_SDP_CAST(t,belle_sdp_attribute_t);
......@@ -41,9 +44,9 @@ void belle_sdp_attribute_set_value(belle_sdp_attribute_t* attribute, const char*
**************************************************************************************/
typedef struct _belle_sdp_bandwidth belle_sdp_bandwidth_t;
belle_sdp_bandwidth_t* belle_sdp_bandwidth_new();
belle_sdp_bandwidth_t* belle_sdp_bandwidth_parse (const char* bandwidth);
int belle_sdp_bandwidth_get_value(const belle_sdp_bandwidth_t* attribute);
const char* belle_sdp_bandwidth_get_type(const belle_sdp_bandwidth_t* attribute);
BELLESIP_EXPORT belle_sdp_bandwidth_t* belle_sdp_bandwidth_parse (const char* bandwidth);
BELLESIP_EXPORT int belle_sdp_bandwidth_get_value(const belle_sdp_bandwidth_t* attribute);
BELLESIP_EXPORT const char* belle_sdp_bandwidth_get_type(const belle_sdp_bandwidth_t* attribute);
void belle_sdp_bandwidth_set_value(belle_sdp_bandwidth_t* attribute, int value);
void belle_sdp_bandwidth_set_type(belle_sdp_bandwidth_t* attribute, const char* type);
#define BELLE_SDP_BANDWIDTH(t) BELLE_SDP_CAST(t,belle_sdp_bandwidth_t);
......@@ -54,10 +57,10 @@ void belle_sdp_bandwidth_set_type(belle_sdp_bandwidth_t* attribute, const char*
typedef struct _belle_sdp_connection belle_sdp_connection_t;
belle_sdp_connection_t* belle_sdp_connection_new();
belle_sdp_connection_t* belle_sdp_connection_create(const char* net_type, const char* addr_type, const char* addr);
belle_sdp_connection_t* belle_sdp_connection_parse (const char* connection);
const char* belle_sdp_connection_get_address(const belle_sdp_connection_t* connection);
const char* belle_sdp_connection_get_address_type(const belle_sdp_connection_t* connection);
const char* belle_sdp_connection_get_network_type(const belle_sdp_connection_t* connection);
BELLESIP_EXPORT belle_sdp_connection_t* belle_sdp_connection_parse (const char* connection);
BELLESIP_EXPORT const char* belle_sdp_connection_get_address(const belle_sdp_connection_t* connection);
BELLESIP_EXPORT const char* belle_sdp_connection_get_address_type(const belle_sdp_connection_t* connection);
BELLESIP_EXPORT const char* belle_sdp_connection_get_network_type(const belle_sdp_connection_t* connection);
void belle_sdp_connection_set_address(belle_sdp_connection_t* connection, const char* addr);
void belle_sdp_connection_set_address_type(belle_sdp_connection_t* connection, const char* type);
void belle_sdp_connection_set_network_type(belle_sdp_connection_t* connection, const char* type);
......@@ -68,8 +71,8 @@ void belle_sdp_connection_set_network_type(belle_sdp_connection_t* connection, c
**************************************************************************************/
typedef struct _belle_sdp_email belle_sdp_email_t;
belle_sdp_email_t* belle_sdp_email_new();
belle_sdp_email_t* belle_sdp_email_parse (const char* email);
const char* belle_sdp_email_get_value(const belle_sdp_email_t* email);
BELLESIP_EXPORT belle_sdp_email_t* belle_sdp_email_parse (const char* email);
BELLESIP_EXPORT const char* belle_sdp_email_get_value(const belle_sdp_email_t* email);
void belle_sdp_email_set_value(belle_sdp_email_t* email, const char* value);
#define BELLE_SDP_EMAIL(t) BELLE_SDP_CAST(t,belle_sdp_email_t);
/***************************************************************************************
......@@ -78,8 +81,8 @@ void belle_sdp_email_set_value(belle_sdp_email_t* email, const char* value);
**************************************************************************************/
typedef struct _belle_sdp_info belle_sdp_info_t;
belle_sdp_info_t* belle_sdp_info_new();
belle_sdp_info_t* belle_sdp_info_parse (const char* info);
const char* belle_sdp_info_get_value(const belle_sdp_info_t* info);
BELLESIP_EXPORT belle_sdp_info_t* belle_sdp_info_parse (const char* info);
BELLESIP_EXPORT const char* belle_sdp_info_get_value(const belle_sdp_info_t* info);
void belle_sdp_info_set_value(belle_sdp_info_t* info, const char* value);
#define BELLE_SDP_INFO(t) BELLE_SDP_CAST(t,belle_sdp_info_t);
/***************************************************************************************
......@@ -101,17 +104,17 @@ void belle_sdp_info_set_value(belle_sdp_info_t* info, const char* value);
**************************************************************************************/
typedef struct _belle_sdp_media belle_sdp_media_t;
belle_sdp_media_t* belle_sdp_media_new();
belle_sdp_media_t* belle_sdp_media_parse (const char* media);
BELLESIP_EXPORT belle_sdp_media_t* belle_sdp_media_parse (const char* media);
belle_sdp_media_t* belle_sdp_media_create(const char* media_type
,int media_port
,int port_count
,const char* protocol
,belle_sip_list_t* static_media_formats);
belle_sip_list_t* belle_sdp_media_get_media_formats(const belle_sdp_media_t* media);
int belle_sdp_media_get_media_port(const belle_sdp_media_t* media);
const char* belle_sdp_media_get_media_type(const belle_sdp_media_t* media);
BELLESIP_EXPORT belle_sip_list_t* belle_sdp_media_get_media_formats(const belle_sdp_media_t* media);
BELLESIP_EXPORT int belle_sdp_media_get_media_port(const belle_sdp_media_t* media);
BELLESIP_EXPORT const char* belle_sdp_media_get_media_type(const belle_sdp_media_t* media);
int belle_sdp_media_get_port_count(const belle_sdp_media_t* media);
const char* belle_sdp_media_get_protocol(const belle_sdp_media_t* media);
BELLESIP_EXPORT const char* belle_sdp_media_get_protocol(const belle_sdp_media_t* media);
void belle_sdp_media_set_media_formats(belle_sdp_media_t* media, belle_sip_list_t* mediaFormats);
void belle_sdp_media_set_media_port(belle_sdp_media_t* media, int port);
void belle_sdp_media_set_media_type(belle_sdp_media_t* media, const char* mediaType);
......@@ -126,19 +129,19 @@ void belle_sdp_media_set_protocol(belle_sdp_media_t* media, const char* protocol
typedef struct _belle_sdp_mime_parameter belle_sdp_mime_parameter_t;
belle_sdp_mime_parameter_t* belle_sdp_mime_parameter_new();
belle_sdp_mime_parameter_t* belle_sdp_mime_parameter_create(const char* type, int media_format, int rate,int channel_count);
int belle_sdp_mime_parameter_get_rate(const belle_sdp_mime_parameter_t* mime_parameter);
BELLESIP_EXPORT int belle_sdp_mime_parameter_get_rate(const belle_sdp_mime_parameter_t* mime_parameter);
void belle_sdp_mime_parameter_set_rate(belle_sdp_mime_parameter_t* mime_parameter,int rate);
int belle_sdp_mime_parameter_get_channel_count(const belle_sdp_mime_parameter_t* mime_parameter);
BELLESIP_EXPORT int belle_sdp_mime_parameter_get_channel_count(const belle_sdp_mime_parameter_t* mime_parameter);
void belle_sdp_mime_parameter_set_channel_count(belle_sdp_mime_parameter_t* mime_parameter,int count);
int belle_sdp_mime_parameter_get_ptime(const belle_sdp_mime_parameter_t* mime_parameter);
BELLESIP_EXPORT int belle_sdp_mime_parameter_get_ptime(const belle_sdp_mime_parameter_t* mime_parameter);
void belle_sdp_mime_parameter_set_ptime(belle_sdp_mime_parameter_t* mime_parameter,int ptime);
int belle_sdp_mime_parameter_get_max_ptime(const belle_sdp_mime_parameter_t* mime_parameter);
BELLESIP_EXPORT int belle_sdp_mime_parameter_get_max_ptime(const belle_sdp_mime_parameter_t* mime_parameter);
void belle_sdp_mime_parameter_set_max_ptime(belle_sdp_mime_parameter_t* mime_parameter,int max_ptime);
const char* belle_sdp_mime_parameter_get_type(const belle_sdp_mime_parameter_t* mime_parameter);
BELLESIP_EXPORT const char* belle_sdp_mime_parameter_get_type(const belle_sdp_mime_parameter_t* mime_parameter);
void belle_sdp_mime_parameter_set_type(belle_sdp_mime_parameter_t* mime_parameter,const char* type);
int belle_sdp_mime_parameter_get_media_format(const belle_sdp_mime_parameter_t* mime_parameter);
BELLESIP_EXPORT int belle_sdp_mime_parameter_get_media_format(const belle_sdp_mime_parameter_t* mime_parameter);
void belle_sdp_mime_parameter_set_media_format(belle_sdp_mime_parameter_t* mime_parameter,int format);
const char* belle_sdp_mime_parameter_get_parameters(const belle_sdp_mime_parameter_t* mime_parameter);
BELLESIP_EXPORT const char* belle_sdp_mime_parameter_get_parameters(const belle_sdp_mime_parameter_t* mime_parameter);
void belle_sdp_mime_parameter_set_parameters(belle_sdp_mime_parameter_t* mime_parameter,const char* parameters);
#define BELLE_SDP_MIME_PARAMETER(t) BELLE_SDP_CAST(t,belle_sdp_mime_parameter_t);
......@@ -147,8 +150,8 @@ void belle_sdp_mime_parameter_set_parameters(belle_sdp_mime_parameter_t* mime_pa
*
**************************************************************************************/
typedef struct _belle_sdp_media_description belle_sdp_media_description_t;
belle_sdp_media_description_t* belle_sdp_media_description_new();
belle_sdp_media_description_t* belle_sdp_media_description_parse (const char* media_description);
BELLESIP_EXPORT belle_sdp_media_description_t* belle_sdp_media_description_new();
BELLESIP_EXPORT belle_sdp_media_description_t* belle_sdp_media_description_parse (const char* media_description);
belle_sdp_media_description_t* belle_sdp_media_description_create(const char* media_type
,int media_port
,int port_count
......@@ -157,18 +160,18 @@ belle_sdp_media_description_t* belle_sdp_media_description_create(const char* me
void belle_sdp_media_description_add_dynamic_payloads(belle_sdp_media_description_t* media_description, belle_sip_list_t* payloadNames, belle_sip_list_t* payloadValues);
const char* belle_sdp_media_description_get_attribute_value(const belle_sdp_media_description_t* media_description, const char* name);
const belle_sdp_attribute_t* belle_sdp_media_description_get_attribute(const belle_sdp_media_description_t* media_description, const char* name);
belle_sip_list_t* belle_sdp_media_description_get_attributes(const belle_sdp_media_description_t* media_description);
int belle_sdp_media_description_get_bandwidth(const belle_sdp_media_description_t* media_description, const char* name);
BELLESIP_EXPORT belle_sip_list_t* belle_sdp_media_description_get_attributes(const belle_sdp_media_description_t* media_description);
BELLESIP_EXPORT int belle_sdp_media_description_get_bandwidth(const belle_sdp_media_description_t* media_description, const char* name);
belle_sip_list_t* belle_sdp_media_description_get_bandwidths(const belle_sdp_media_description_t* media_description);
belle_sdp_connection_t* belle_sdp_media_description_get_connection(const belle_sdp_media_description_t* media_description);
BELLESIP_EXPORT belle_sdp_connection_t* belle_sdp_media_description_get_connection(const belle_sdp_media_description_t* media_description);
belle_sdp_info_t* belle_sdp_media_description_get_info(const belle_sdp_media_description_t* media_description);
/*belle_sdp_key_t* belle_sdp_media_description_get_key(const belle_sdp_media_description_t* media_description);*/
belle_sdp_media_t* belle_sdp_media_description_get_media(const belle_sdp_media_description_t* media_description);
belle_sip_list_t* belle_sdp_media_description_build_mime_parameters(const belle_sdp_media_description_t* media_description);
BELLESIP_EXPORT belle_sdp_media_t* belle_sdp_media_description_get_media(const belle_sdp_media_description_t* media_description);
BELLESIP_EXPORT belle_sip_list_t* belle_sdp_media_description_build_mime_parameters(const belle_sdp_media_description_t* media_description);
/*belle_sip_list_t* belle_sdp_media_description_get_mime_types(const belle_sdp_media_description_t* media_description);*/
void belle_sdp_media_description_remove_attribute(belle_sdp_media_description_t* media_description,const char* attribute);
void belle_sdp_media_description_remove_bandwidth(belle_sdp_media_description_t* media_description,const char* bandwidth);
void belle_sdp_media_description_set_attribute_value(belle_sdp_media_description_t* media_description, const char* name, const char* value);
BELLESIP_EXPORT void belle_sdp_media_description_set_attribute_value(belle_sdp_media_description_t* media_description, const char* name, const char* value);
void belle_sdp_media_description_add_attribute(belle_sdp_media_description_t* media_description, const belle_sdp_attribute_t* attr);
void belle_sdp_media_description_set_attributes(belle_sdp_media_description_t* media_description, belle_sip_list_t* Attributes);
void belle_sdp_media_description_set_bandwidth(belle_sdp_media_description_t* media_description, const char* name, int value);
......@@ -177,8 +180,8 @@ void belle_sdp_media_description_set_bandwidths(belle_sdp_media_description_t* m
void belle_sdp_media_description_set_connection(belle_sdp_media_description_t* media_description, belle_sdp_connection_t* conn);
void belle_sdp_media_description_set_info(belle_sdp_media_description_t* media_description,belle_sdp_info_t* i);
/*void belle_sdp_media_description_set_key(belle_sdp_media_description_t* media_description,belle_sdp_key_t* key);*/
void belle_sdp_media_description_set_media(belle_sdp_media_description_t* media_description, belle_sdp_media_t* media);
void belle_sdp_media_description_append_values_from_mime_parameter(belle_sdp_media_description_t* media_description, belle_sdp_mime_parameter_t* mime_parameter);
BELLESIP_EXPORT void belle_sdp_media_description_set_media(belle_sdp_media_description_t* media_description, belle_sdp_media_t* media);
BELLESIP_EXPORT void belle_sdp_media_description_append_values_from_mime_parameter(belle_sdp_media_description_t* media_description, belle_sdp_mime_parameter_t* mime_parameter);
#define BELLE_SDP_MEDIA_DESCRIPTION(t) BELLE_SDP_CAST(t,belle_sdp_media_description_t);
/***************************************************************************************
......@@ -194,11 +197,11 @@ belle_sdp_origin_t* belle_sdp_origin_create(const char* user_name
, const char* network_type
, const char* addr_type
, const char* address);
const char* belle_sdp_origin_get_address(const belle_sdp_origin_t* origin);
const char* belle_sdp_origin_get_address_type(const belle_sdp_origin_t* origin);
const char* belle_sdp_origin_get_network_type(const belle_sdp_origin_t* origin);
unsigned int belle_sdp_origin_get_session_id(const belle_sdp_origin_t* origin);
unsigned int belle_sdp_origin_get_session_version(const belle_sdp_origin_t* origin);
BELLESIP_EXPORT const char* belle_sdp_origin_get_address(const belle_sdp_origin_t* origin);
BELLESIP_EXPORT const char* belle_sdp_origin_get_address_type(const belle_sdp_origin_t* origin);
BELLESIP_EXPORT const char* belle_sdp_origin_get_network_type(const belle_sdp_origin_t* origin);
BELLESIP_EXPORT unsigned int belle_sdp_origin_get_session_id(const belle_sdp_origin_t* origin);
BELLESIP_EXPORT unsigned int belle_sdp_origin_get_session_version(const belle_sdp_origin_t* origin);
const char* belle_sdp_origin_get_username(const belle_sdp_origin_t* origin);
void belle_sdp_origin_set_address(belle_sdp_origin_t* origin, const char* address);
void belle_sdp_origin_set_address_type(belle_sdp_origin_t* origin, const char* address);
......@@ -234,7 +237,7 @@ void belle_sdp_repeate_time_set_value(belle_sdp_repeate_time_t* repeate_time, co
typedef struct _belle_sdp_session_name belle_sdp_session_name_t;
belle_sdp_session_name_t* belle_sdp_session_name_new();
belle_sdp_session_name_t* belle_sdp_session_name_create (const char* name);
const char* belle_sdp_session_name_get_value(const belle_sdp_session_name_t* session_name);
BELLESIP_EXPORT const char* belle_sdp_session_name_get_value(const belle_sdp_session_name_t* session_name);
void belle_sdp_session_name_set_value(belle_sdp_session_name_t* session_name, const char* value);
#define BELLE_SDP_SESSION_NAME(t) BELLE_SDP_CAST(t,belle_sdp_session_name_t);
/***************************************************************************************
......@@ -245,8 +248,8 @@ typedef struct _belle_sdp_time belle_sdp_time_t;
belle_sdp_time_t* belle_sdp_time_new();
belle_sdp_time_t* belle_sdp_time_parse (const char* time);
int belle_sdp_time_get_start(const belle_sdp_time_t* time);
int belle_sdp_time_get_stop(const belle_sdp_time_t* time);
BELLESIP_EXPORT int belle_sdp_time_get_start(const belle_sdp_time_t* time);
BELLESIP_EXPORT int belle_sdp_time_get_stop(const belle_sdp_time_t* time);
void belle_sdp_time_set_start(belle_sdp_time_t* time, int value);
void belle_sdp_time_set_stop(belle_sdp_time_t* time, int value);
#define BELLE_SDP_TIME(t) BELLE_SDP_CAST(t,belle_sdp_time_t);
......@@ -260,7 +263,7 @@ belle_sdp_time_description_t* belle_sdp_time_description_parse (const char* time
belle_sdp_time_description_t* belle_sdp_time_description_create (int start,int stop);
belle_sip_list_t* belle_sdp_time_description_get_repeate_times(const belle_sdp_time_description_t* time_description);
belle_sdp_time_t* belle_sdp_time_description_get_time(const belle_sdp_time_description_t* time_description);
BELLESIP_EXPORT belle_sdp_time_t* belle_sdp_time_description_get_time(const belle_sdp_time_description_t* time_description);
void belle_sdp_time_description_set_repeate_times(belle_sdp_time_description_t* time_description, belle_sip_list_t* times);
void belle_sdp_time_description_set_time(belle_sdp_time_description_t* time_description, belle_sdp_time_t* times);
#define BELLE_SDP_TIME_DESCRIPTION(t) BELLE_SDP_CAST(t,belle_sdp_time_description_t);
......@@ -281,7 +284,7 @@ void belle_sdp_uri_set_value(belle_sdp_uri_t* uri, const char* value);
typedef struct _belle_sdp_version belle_sdp_version_t;
belle_sdp_version_t* belle_sdp_version_new();
belle_sdp_version_t* belle_sdp_version_create(int version);
int belle_sdp_version_get_version(const belle_sdp_version_t* version);
BELLESIP_EXPORT int belle_sdp_version_get_version(const belle_sdp_version_t* version);
void belle_sdp_version_set_version(belle_sdp_version_t* version, int value);
#define BELLE_SDP_VERSION(t) BELLE_SDP_CAST(t,belle_sdp_version_t);
......@@ -291,7 +294,7 @@ void belle_sdp_version_set_version(belle_sdp_version_t* version, int value);
**************************************************************************************/
typedef struct _belle_sdp_session_description belle_sdp_session_description_t;
belle_sdp_session_description_t* belle_sdp_session_description_new();
belle_sdp_session_description_t* belle_sdp_session_description_parse (const char* session_description);
BELLESIP_EXPORT belle_sdp_session_description_t* belle_sdp_session_description_parse (const char* session_description);
/*sdp managementy helper method*/
/*
* create a session description object from a message
......@@ -302,17 +305,17 @@ belle_sdp_session_description_t* belle_sdp_session_description_create(belle_sip_
const char* belle_sdp_session_description_get_attribute_value(const belle_sdp_session_description_t* session_description, const char* name);
int belle_sdp_session_description_get_bandwidth(const belle_sdp_session_description_t* session_description, const char* name);
belle_sip_list_t* belle_sdp_session_description_get_bandwidths(const belle_sdp_session_description_t* session_description);
belle_sdp_connection_t* belle_sdp_session_description_get_connection(const belle_sdp_session_description_t* session_description);
BELLESIP_EXPORT belle_sdp_connection_t* belle_sdp_session_description_get_connection(const belle_sdp_session_description_t* session_description);
belle_sip_list_t* belle_sdp_session_description_get_emails(const belle_sdp_session_description_t* session_description);
belle_sdp_info_t* belle_sdp_session_description_get_info(const belle_sdp_session_description_t* session_description);
/*belle_sdp_key_t* belle_sdp_session_description_get_key(const belle_sdp_session_description_t* session_description);*/
belle_sip_list_t* belle_sdp_session_description_get_media_descriptions(const belle_sdp_session_description_t* session_description);
belle_sdp_origin_t* belle_sdp_session_description_get_origin(const belle_sdp_session_description_t* session_description);
BELLESIP_EXPORT belle_sip_list_t* belle_sdp_session_description_get_media_descriptions(const belle_sdp_session_description_t* session_description);
BELLESIP_EXPORT belle_sdp_origin_t* belle_sdp_session_description_get_origin(const belle_sdp_session_description_t* session_description);
belle_sip_list_t* belle_sdp_session_description_get_phones(const belle_sdp_session_description_t* session_description);
belle_sdp_session_name_t* belle_sdp_session_description_get_session_name(const belle_sdp_session_description_t* session_description);
belle_sip_list_t* belle_sdp_session_description_get_time_descriptions(const belle_sdp_session_description_t* session_description);
BELLESIP_EXPORT belle_sdp_session_name_t* belle_sdp_session_description_get_session_name(const belle_sdp_session_description_t* session_description);
BELLESIP_EXPORT belle_sip_list_t* belle_sdp_session_description_get_time_descriptions(const belle_sdp_session_description_t* session_description);
belle_sdp_uri_t* belle_sdp_session_description_get_uri(const belle_sdp_session_description_t* session_description);
belle_sdp_version_t* belle_sdp_session_description_get_version(const belle_sdp_session_description_t* session_description);
BELLESIP_EXPORT belle_sdp_version_t* belle_sdp_session_description_get_version(const belle_sdp_session_description_t* session_description);
belle_sdp_uri_t* belle_sdp_session_description_get_zone_adjustments(const belle_sdp_session_description_t* session_description);
void belle_sdp_session_description_remove_attribute(belle_sdp_session_description_t* session_description, const char* name);
void belle_sdp_session_description_remove_bandwidth(belle_sdp_session_description_t* session_description, const char* name);
......
......@@ -20,18 +20,7 @@
#include <stdlib.h>
#ifdef __cplusplus
#define BELLE_SIP_BEGIN_DECLS extern "C"{
#define BELLE_SIP_END_DECLS }
#else
#define BELLE_SIP_BEGIN_DECLS
#define BELLE_SIP_END_DECLS
#endif
#ifdef _MSC_VER
#define inline __inline
#endif
#include "belle-sip/defs.h"
#include "belle-sip/object.h"
/**
......@@ -122,9 +111,9 @@ enum belle_sip_interface_ids{
BELLE_SIP_BEGIN_DECLS
void *belle_sip_malloc(size_t size);
void *belle_sip_malloc0(size_t size);
BELLESIP_EXPORT void *belle_sip_malloc0(size_t size);
void *belle_sip_realloc(void *ptr, size_t size);
void belle_sip_free(void *ptr);
BELLESIP_EXPORT void belle_sip_free(void *ptr);
char * belle_sip_strdup(const char *s);
BELLE_SIP_END_DECLS
......
/*
belle-sip - SIP (RFC3261) library.
Copyright (C) 2010-2013 Belledonne Communications SARL
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef BELLE_SIP_DEFS_H
#define BELLE_SIP_DEFS_H
#ifdef __cplusplus
#define BELLE_SIP_BEGIN_DECLS extern "C"{
#define BELLE_SIP_END_DECLS }
#else
#define BELLE_SIP_BEGIN_DECLS
#define BELLE_SIP_END_DECLS
#endif
#ifdef _MSC_VER
#define inline __inline
#endif
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) || defined(__WIN32__)
#ifdef BELLESIP_EXPORTS
#define BELLESIP_EXPORT __declspec(dllexport)
#else
#define BELLESIP_EXPORT extern
#endif
#else
#define BELLESIP_EXPORT extern
#endif
#ifdef _MSC_VER
BELLESIP_EXPORT int gettimeofday (struct timeval *tv, void* tz);
#endif
#endif
......@@ -31,11 +31,11 @@ typedef enum belle_sip_dialog_state belle_sip_dialog_state_t;
BELLE_SIP_BEGIN_DECLS
const char* belle_sip_dialog_state_to_string(const belle_sip_dialog_state_t state);
BELLESIP_EXPORT const char* belle_sip_dialog_state_to_string(const belle_sip_dialog_state_t state);
belle_sip_request_t *belle_sip_dialog_create_ack(belle_sip_dialog_t *dialog, unsigned int cseq);
BELLESIP_EXPORT belle_sip_request_t *belle_sip_dialog_create_ack(belle_sip_dialog_t *dialog, unsigned int cseq);
belle_sip_request_t *belle_sip_dialog_create_request(belle_sip_dialog_t *dialog, const char *method);
BELLESIP_EXPORT belle_sip_request_t *belle_sip_dialog_create_request(belle_sip_dialog_t *dialog, const char *method);
/**
* Create a request within a dialog keeping non system header from an initial request. This function is very useful to resend request after expiration or chalenge.
* @param obj dialog associated to the request
......@@ -73,7 +73,7 @@ const belle_sip_header_address_t *belle_sip_dialog_get_remote_target(belle_sip_d
const belle_sip_list_t* belle_sip_dialog_get_route_set(belle_sip_dialog_t *dialog);
belle_sip_dialog_state_t belle_sip_dialog_get_state(const belle_sip_dialog_t *dialog);
BELLESIP_EXPORT belle_sip_dialog_state_t belle_sip_dialog_get_state(const belle_sip_dialog_t *dialog);
/*
* return the dialog state before last transition. Can be usefull to detect early avorted dialogs
* @param dialog
......@@ -86,7 +86,7 @@ int belle_sip_dialog_is_server(const belle_sip_dialog_t *dialog);
int belle_sip_dialog_is_secure(const belle_sip_dialog_t *dialog);
void belle_sip_dialog_send_ack(belle_sip_dialog_t *dialog, belle_sip_request_t *request);
BELLESIP_EXPORT void belle_sip_dialog_send_ack(belle_sip_dialog_t *dialog, belle_sip_request_t *request);
void belle_sip_dialog_terminate_on_bye(belle_sip_dialog_t *dialog, int val);
......
......@@ -19,6 +19,7 @@
#ifndef HEADERS_H_
#define HEADERS_H_
#include "belle-sip/defs.h"
#include "belle-sip/uri.h"
......@@ -38,23 +39,23 @@ belle_sip_header_address_t* belle_sip_header_address_new();
* @param uri uri set to the newly created header_address
* @return
* */
belle_sip_header_address_t* belle_sip_header_address_create(const char* display, belle_sip_uri_t* uri);
BELLESIP_EXPORT belle_sip_header_address_t* belle_sip_header_address_create(const char* display, belle_sip_uri_t* uri);
belle_sip_header_address_t* belle_sip_header_address_parse (const char* address) ;
BELLESIP_EXPORT belle_sip_header_address_t* belle_sip_header_address_parse (const char* address) ;
/**
*
*/
belle_sip_uri_t* belle_sip_header_address_get_uri(const belle_sip_header_address_t* address);
BELLESIP_EXPORT belle_sip_uri_t* belle_sip_header_address_get_uri(const belle_sip_header_address_t* address);
/**
*
*/
void belle_sip_header_address_set_uri(belle_sip_header_address_t* address, belle_sip_uri_t* uri);
BELLESIP_EXPORT void belle_sip_header_address_set_uri(belle_sip_header_address_t* address, belle_sip_uri_t* uri);
/**
*
*/
const char* belle_sip_header_address_get_displayname(const belle_sip_header_address_t* address);
BELLESIP_EXPORT const char* belle_sip_header_address_get_displayname(const belle_sip_header_address_t* address);
/**
*
*/
......@@ -70,9 +71,9 @@ void belle_sip_header_address_set_displayname(belle_sip_header_address_t* addres
**************************************************************************************/
typedef struct _belle_sip_header belle_sip_header_t;
belle_sip_header_t* belle_sip_header_create (const char* name,const char* value);
BELLESIP_EXPORT belle_sip_header_t* belle_sip_header_create (const char* name,const char* value);
const char* belle_sip_header_get_name (const belle_sip_header_t* obj);
void belle_sip_header_set_name (belle_sip_header_t* obj,const char* value);
BELLESIP_EXPORT void belle_sip_header_set_name (belle_sip_header_t* obj,const char* value);
int belle_sip_header_marshal(belle_sip_header_t* header, char* buff, unsigned int offset,unsigned int buff_size);
#define BELLE_SIP_HEADER(t) BELLE_SIP_CAST(t,belle_sip_header_t)
......@@ -86,10 +87,10 @@ typedef struct _belle_sip_header_allow belle_sip_header_allow_t;
belle_sip_header_allow_t* belle_sip_header_allow_new();
belle_sip_header_allow_t* belle_sip_header_allow_parse (const char* allow) ;
belle_sip_header_allow_t* belle_sip_header_allow_create (const char* methods) ;
BELLESIP_EXPORT belle_sip_header_allow_t* belle_sip_header_allow_parse (const char* allow) ;
BELLESIP_EXPORT belle_sip_header_allow_t* belle_sip_header_allow_create (const char* methods) ;
const char* belle_sip_header_allow_get_method(const belle_sip_header_allow_t* allow);
BELLESIP_EXPORT const char* belle_sip_header_allow_get_method(const belle_sip_header_allow_t* allow);
void belle_sip_header_allow_set_method(belle_sip_header_allow_t* allow,const char* method);
#define BELLE_SIP_HEADER_ALLOW(t) BELLE_SIP_CAST(t,belle_sip_header_allow_t)
#define BELLE_SIP_ALLOW "Allow"
......@@ -99,10 +100,10 @@ void belle_sip_header_allow_set_method(belle_sip_header_allow_t* allow,const cha
************************/
typedef struct _belle_sip_header_contact belle_sip_header_contact_t;
belle_sip_header_contact_t* belle_sip_header_contact_new();
BELLESIP_EXPORT belle_sip_header_contact_t* belle_sip_header_contact_new();
belle_sip_header_contact_t* belle_sip_header_contact_parse (const char* contact) ;
BELLESIP_EXPORT belle_sip_header_contact_t* belle_sip_header_contact_parse (const char* contact) ;
belle_sip_header_contact_t* belle_sip_header_contact_create (const belle_sip_header_address_t* contact) ;
......@@ -112,12 +113,12 @@ belle_sip_header_contact_t* belle_sip_header_contact_create (const belle_sip_hea
*@returns value of the expires parameter measured in delta-seconds, O implies removal of Registration specified in Contact Header.
*
*/
int belle_sip_header_contact_get_expires(const belle_sip_header_contact_t* contact);
BELLESIP_EXPORT int belle_sip_header_contact_get_expires(const belle_sip_header_contact_t* contact);
/**
* Returns the value of the q-value parameter of this ContactHeader. The q-value parameter indicates the relative preference amongst a set of locations. q-values are decimal numbers from 0 to 1, with higher values indicating higher preference.
* @return the q-value parameter of this ContactHeader, -1 if the q-value is not set.
*/
float belle_sip_header_contact_get_qvalue(const belle_sip_header_contact_t* contact);
BELLESIP_EXPORT float belle_sip_header_contact_get_qvalue(const belle_sip_header_contact_t* contact);
/**
* Returns a boolean value that indicates if the contact header has the format of Contact: *.
* @return true if this is a wildcard address, false otherwise.
......@@ -126,7 +127,7 @@ belle_sip_header_contact_t* belle_sip_header_contact_create (const belle_sip_hea
/**
*
*/
int belle_sip_header_contact_set_expires(belle_sip_header_contact_t* contact, int expires);
BELLESIP_EXPORT int belle_sip_header_contact_set_expires(belle_sip_header_contact_t* contact, int expires);
/**
* Sets the qValue value of the Name Address.
*/
......@@ -160,15 +161,15 @@ belle_sip_header_contact_t* belle_sip_header_contact_create (const belle_sip_hea
belle_sip_header_from_t* belle_sip_header_from_new();
belle_sip_header_from_t* belle_sip_header_from_create(const belle_sip_header_address_t* address, const char *tag);
BELLESIP_EXPORT belle_sip_header_from_t* belle_sip_header_from_create(const belle_sip_header_address_t* address, const char *tag);
belle_sip_header_from_t* belle_sip_header_from_create2(const char *address, const char *tag);
BELLESIP_EXPORT belle_sip_header_from_t* belle_sip_header_from_create2(const char *address, const char *tag);
belle_sip_header_from_t* belle_sip_header_from_parse(const char* from) ;
BELLESIP_EXPORT belle_sip_header_from_t* belle_sip_header_from_parse(const char* from) ;
void belle_sip_header_from_set_tag(belle_sip_header_from_t* from, const char* tag);
const char* belle_sip_header_from_get_tag(const belle_sip_header_from_t* from);
BELLESIP_EXPORT const char* belle_sip_header_from_get_tag(const belle_sip_header_from_t* from);
void belle_sip_header_from_set_random_tag(belle_sip_header_from_t *obj);
......@@ -182,15 +183,15 @@ belle_sip_header_contact_t* belle_sip_header_contact_create (const belle_sip_hea
belle_sip_header_to_t* belle_sip_header_to_new();
belle_sip_header_to_t* belle_sip_header_to_parse(const char* to) ;
BELLESIP_EXPORT belle_sip_header_to_t* belle_sip_header_to_parse(const char* to) ;
belle_sip_header_to_t* belle_sip_header_to_create(const belle_sip_header_address_t *address, const char *tag);
BELLESIP_EXPORT belle_sip_header_to_t* belle_sip_header_to_create(const belle_sip_header_address_t *address, const char *tag);
belle_sip_header_to_t* belle_sip_header_to_create2(const char *address, const char *tag);
BELLESIP_EXPORT belle_sip_header_to_t* belle_sip_header_to_create2(const char *address, const char *tag);
void belle_sip_header_to_set_tag(belle_sip_header_to_t* from, const char* tag);
const char* belle_sip_header_to_get_tag(const belle_sip_header_to_t* from);
BELLESIP_EXPORT const char* belle_sip_header_to_get_tag(const belle_sip_header_to_t* from);
void belle_sip_header_to_set_random_tag(belle_sip_header_to_t *obj);
......@@ -203,23 +204,23 @@ belle_sip_header_contact_t* belle_sip_header_contact_create (const belle_sip_hea
******************************/
typedef struct _belle_sip_header_via belle_sip_header_via_t;
belle_sip_header_via_t* belle_sip_header_via_new();
BELLESIP_EXPORT belle_sip_header_via_t* belle_sip_header_via_new();
belle_sip_header_via_t* belle_sip_header_via_create(const char *host, int port, const char *transport, const char *branch);
belle_sip_header_via_t* belle_sip_header_via_parse (const char* via) ;
const char* belle_sip_header_via_get_branch(const belle_sip_header_via_t* via);
const char* belle_sip_header_via_get_transport(const belle_sip_header_via_t* via);
BELLESIP_EXPORT belle_sip_header_via_t* belle_sip_header_via_parse (const char* via) ;
BELLESIP_EXPORT const char* belle_sip_header_via_get_branch(const belle_sip_header_via_t* via);
BELLESIP_EXPORT const char* belle_sip_header_via_get_transport(const belle_sip_header_via_t* via);
/**
* Get lower case version of the transport
* @return the lower case version of the transport if from tcp,udp,tls or dtls else, return the value from #belle_sip_header_via_get_transport
*/
const char* belle_sip_header_via_get_transport_lowercase(const belle_sip_header_via_t* via);
const char* belle_sip_header_via_get_host(const belle_sip_header_via_t* via);
int belle_sip_header_via_get_port(const belle_sip_header_via_t* via);
BELLESIP_EXPORT const char* belle_sip_header_via_get_host(const belle_sip_header_via_t* via);
BELLESIP_EXPORT int belle_sip_header_via_get_port(const belle_sip_header_via_t* via);
int belle_sip_header_via_get_listening_port(const belle_sip_header_via_t *via);
const char* belle_sip_header_via_get_maddr(const belle_sip_header_via_t* via);
const char* belle_sip_header_via_get_protocol(const belle_sip_header_via_t* via);
const char* belle_sip_header_via_get_received(const belle_sip_header_via_t* via);
BELLESIP_EXPORT const char* belle_sip_header_via_get_protocol(const belle_sip_header_via_t* via);
BELLESIP_EXPORT const char* belle_sip_header_via_get_received(const belle_sip_header_via_t* via);
int belle_sip_header_via_get_rport(const belle_sip_header_via_t* via);
int belle_sip_header_via_get_ttl(const belle_sip_header_via_t* via);
......@@ -228,7 +229,7 @@ void belle_sip_header_via_set_host(belle_sip_header_via_t* via, const char* host
int belle_sip_header_via_set_port(belle_sip_header_via_t* via,int port);
void belle_sip_header_via_set_maddr(belle_sip_header_via_t* via, const char* maddr);
void belle_sip_header_via_set_protocol(belle_sip_header_via_t* via, const char* protocol);
void belle_sip_header_via_set_received(belle_sip_header_via_t* via, const char* received);
BELLESIP_EXPORT void belle_sip_header_via_set_received(belle_sip_header_via_t* via, const char* received);
int belle_sip_header_via_set_rport(belle_sip_header_via_t* via,int rport);
void belle_sip_header_via_set_transport(belle_sip_header_via_t* via,const char* transport);
int belle_sip_header_via_set_ttl(belle_sip_header_via_t* via, int ttl);
......@@ -243,8 +244,8 @@ typedef struct _belle_sip_header_call_id belle_sip_header_call_id_t;
belle_sip_header_call_id_t* belle_sip_header_call_id_new();
belle_sip_header_call_id_t* belle_sip_header_call_id_parse (const char* call_id) ;
const char* belle_sip_header_call_id_get_call_id(const belle_sip_header_call_id_t* call_id);
BELLESIP_EXPORT belle_sip_header_call_id_t* belle_sip_header_call_id_parse (const char* call_id) ;
BELLESIP_EXPORT const char* belle_sip_header_call_id_get_call_id(const belle_sip_header_call_id_t* call_id);
void belle_sip_header_call_id_set_call_id(belle_sip_header_call_id_t* call_id,const char* id);
unsigned int belle_sip_header_call_id_equals(const belle_sip_header_call_id_t* a,const belle_sip_header_call_id_t* b);
#define BELLE_SIP_HEADER_CALL_ID(t) BELLE_SIP_CAST(t,belle_sip_header_call_id_t)
......@@ -256,12 +257,12 @@ unsigned int belle_sip_header_call_id_equals(const belle_sip_header_call_id_t* a
typedef struct _belle_sip_header_cseq belle_sip_header_cseq_t;
belle_sip_header_cseq_t* belle_sip_header_cseq_new();
belle_sip_header_cseq_t* belle_sip_header_cseq_create(unsigned int number, const char *method);
belle_sip_header_cseq_t* belle_sip_header_cseq_parse (const char* cseq) ;
const char* belle_sip_header_cseq_get_method(const belle_sip_header_cseq_t* cseq);
BELLESIP_EXPORT belle_sip_header_cseq_t* belle_sip_header_cseq_create(unsigned int number, const char *method);
BELLESIP_EXPORT belle_sip_header_cseq_t* belle_sip_header_cseq_parse (const char* cseq) ;
BELLESIP_EXPORT const char* belle_sip_header_cseq_get_method(const belle_sip_header_cseq_t* cseq);
void belle_sip_header_cseq_set_method(belle_sip_header_cseq_t* cseq,const char* method);
unsigned int belle_sip_header_cseq_get_seq_number(const belle_sip_header_cseq_t* cseq);
void belle_sip_header_cseq_set_seq_number(belle_sip_header_cseq_t* cseq,unsigned int seq_number);
BELLESIP_EXPORT unsigned int belle_sip_header_cseq_get_seq_number(const belle_sip_header_cseq_t* cseq);
BELLESIP_EXPORT void belle_sip_header_cseq_set_seq_number(belle_sip_header_cseq_t* cseq,unsigned int seq_number);
#define BELLE_SIP_HEADER_CSEQ(t) BELLE_SIP_CAST(t,belle_sip_header_cseq_t)
#define BELLE_SIP_CSEQ "CSeq"
/******************************
......@@ -271,13 +272,13 @@ void belle_sip_header_cseq_set_seq_number(belle_sip_header_cseq_t* cseq,unsigned
typedef struct _belle_sip_header_content_type belle_sip_header_content_type_t;
belle_sip_header_content_type_t* belle_sip_header_content_type_new();
belle_sip_header_content_type_t* belle_sip_header_content_type_parse (const char* content_type) ;
belle_sip_header_content_type_t* belle_sip_header_content_type_create (const char* type,const char* sub_type) ;
BELLESIP_EXPORT belle_sip_header_content_type_t* belle_sip_header_content_type_parse (const char* content_type) ;
BELLESIP_EXPORT belle_sip_header_content_type_t* belle_sip_header_content_type_create (const char* type,const char* sub_type) ;
belle_sip_header_content_type_t* belle_sip_header_content_type_parse (const char* content_type) ;
const char* belle_sip_header_content_type_get_type(const belle_sip_header_content_type_t* content_type);
BELLESIP_EXPORT const char* belle_sip_header_content_type_get_type(const belle_sip_header_content_type_t* content_type);
void belle_sip_header_content_type_set_type(belle_sip_header_content_type_t* content_type,const char* type);
const char* belle_sip_header_content_type_get_subtype(const belle_sip_header_content_type_t* content_type);
BELLESIP_EXPORT const char* belle_sip_header_content_type_get_subtype(const belle_sip_header_content_type_t* content_type);
void belle_sip_header_content_type_set_subtype(belle_sip_header_content_type_t* content_type,const char* sub_type);
#define BELLE_SIP_HEADER_CONTENT_TYPE(t) BELLE_SIP_CAST(t,belle_sip_header_content_type_t)
#define BELLE_SIP_CONTENT_TYPE "Content-Type"
......@@ -290,11 +291,11 @@ typedef struct _belle_sip_header_expires belle_sip_header_expires_t;
belle_sip_header_expires_t* belle_sip_header_expires_new();
belle_sip_header_expires_t* belle_sip_header_expires_parse (const char* expires) ;
int belle_sip_header_expires_get_expires(const belle_sip_header_expires_t* expires);
void belle_sip_header_expires_set_expires(belle_sip_header_expires_t* expires,int value);
BELLESIP_EXPORT belle_sip_header_expires_t* belle_sip_header_expires_parse (const char* expires) ;
BELLESIP_EXPORT int belle_sip_header_expires_get_expires(const belle_sip_header_expires_t* expires);
BELLESIP_EXPORT void belle_sip_header_expires_set_expires(belle_sip_header_expires_t* expires,int value);
int belle_sip_header_expires_decrement_expires(belle_sip_header_expires_t* expires);
belle_sip_header_expires_t* belle_sip_header_expires_create(int expires);
BELLESIP_EXPORT belle_sip_header_expires_t* belle_sip_header_expires_create(int expires);
#define BELLE_SIP_HEADER_EXPIRES(t) BELLE_SIP_CAST(t,belle_sip_header_expires_t)
#define BELLE_SIP_EXPIRES "Expires"
/******************************
......@@ -304,8 +305,8 @@ belle_sip_header_expires_t* belle_sip_header_expires_create(int expires);
typedef struct _belle_sip_header_route belle_sip_header_route_t;
belle_sip_header_route_t* belle_sip_header_route_new();
belle_sip_header_route_t* belle_sip_header_route_parse (const char* route) ;
belle_sip_header_route_t* belle_sip_header_route_create(const belle_sip_header_address_t* route);
BELLESIP_EXPORT belle_sip_header_route_t* belle_sip_header_route_parse (const char* route) ;
BELLESIP_EXPORT belle_sip_header_route_t* belle_sip_header_route_create(const belle_sip_header_address_t* route);
#define BELLE_SIP_HEADER_ROUTE(t) BELLE_SIP_CAST(t,belle_sip_header_route_t)
#define BELLE_SIP_ROUTE "Route"
......@@ -316,7 +317,7 @@ belle_sip_header_expires_t* belle_sip_header_expires_create(int expires);
typedef struct _belle_sip_header_record_route belle_sip_header_record_route_t;
belle_sip_header_record_route_t* belle_sip_header_record_route_new();
belle_sip_header_record_route_t* belle_sip_header_record_route_parse (const char* route) ;
BELLESIP_EXPORT belle_sip_header_record_route_t* belle_sip_header_record_route_parse (const char* route) ;