libosip  5.3.0
osip_via.h
Go to the documentation of this file.
1 /*
2  The oSIP library implements the Session Initiation Protocol (SIP -rfc3261-)
3  Copyright (C) 2001-2020 Aymeric MOIZARD amoizard@antisip.com
4 
5  This library is free software; you can redistribute it and/or
6  modify it under the terms of the GNU Lesser General Public
7  License as published by the Free Software Foundation; either
8  version 2.1 of the License, or (at your option) any later version.
9 
10  This library is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public
16  License along with this library; if not, write to the Free Software
17  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 */
19 
20 #ifndef _OSIP_VIA_H_
21 #define _OSIP_VIA_H_
22 
23 #include <osipparser2/osip_list.h>
24 
40 typedef struct osip_via osip_via_t;
41 
46 struct osip_via {
47  char *version;
48  char *protocol;
49  char *host;
50  char *port;
51  char *comment;
53 };
54 
55 #ifdef __cplusplus
56 extern "C" {
57 #endif
58 
63 int osip_via_init(osip_via_t **header);
68 void osip_via_free(osip_via_t *header);
74 int osip_via_parse(osip_via_t *header, const char *hvalue);
80 int osip_via_to_str(const osip_via_t *header, char **dest);
86 int osip_via_clone(const osip_via_t *header, osip_via_t **dest);
92 void osip_via_set_version(osip_via_t *header, char *value);
93 #define via_set_version osip_via_set_version
98 char *osip_via_get_version(osip_via_t *header);
99 #define via_get_version osip_via_get_version
105 void osip_via_set_protocol(osip_via_t *header, char *value);
106 #define via_set_protocol osip_via_set_protocol
111 char *osip_via_get_protocol(osip_via_t *header);
112 #define via_get_protocol osip_via_get_protocol
118 void osip_via_set_host(osip_via_t *header, char *value);
119 #define via_set_host osip_via_set_host
124 char *osip_via_get_host(osip_via_t *header);
125 #define via_get_host osip_via_get_host
131 void osip_via_set_port(osip_via_t *header, char *value);
132 #define via_set_port osip_via_set_port
137 char *osip_via_get_port(osip_via_t *header);
138 #define via_get_port osip_via_get_port
144 void osip_via_set_comment(osip_via_t *header, char *value);
145 #define via_set_comment osip_via_set_comment
150 char *osip_via_get_comment(osip_via_t *header);
151 #define via_get_comment osip_via_get_comment
152 
157 #define osip_via_set_hidden(header) osip_generic_param_add((&(header)->via_params), osip_strdup("hidden"), NULL)
163 #define osip_via_set_ttl(header, value) osip_generic_param_add((&(header)->via_params), osip_strdup("ttl"), value)
169 #define osip_via_set_maddr(header, value) osip_generic_param_add((&(header)->via_params), osip_strdup("maddr"), value)
175 #define osip_via_set_received(header, value) osip_generic_param_add((&(header)->via_params), osip_strdup("received"), value)
181 #define osip_via_set_branch(header, value) osip_generic_param_add((&(header)->via_params), osip_strdup("branch"), value)
182 
189 #define osip_via_param_add(header, name, value) osip_generic_param_add((&(header)->via_params), name, value)
196 #define osip_via_param_get_byname(header, name, dest) osip_generic_param_get_byname((&(header)->via_params), name, dest)
197 
204 int osip_via_match(osip_via_t *via1, osip_via_t *via2);
205 
206 #ifdef __cplusplus
207 }
208 #endif
209 
212 #endif
char * osip_via_get_port(osip_via_t *header)
Definition: osip_via.c:424
int osip_via_match(osip_via_t *via1, osip_via_t *via2)
Definition: osip_via.c:515
char * osip_via_get_version(osip_via_t *header)
Definition: osip_via.c:391
int osip_via_clone(const osip_via_t *header, osip_via_t **dest)
Definition: osip_via.c:442
char * osip_via_get_comment(osip_via_t *header)
Definition: osip_via.c:435
int osip_via_init(osip_via_t **header)
Definition: osip_via.c:101
void osip_via_set_host(osip_via_t *header, char *value)
Definition: osip_via.c:409
char * osip_via_get_host(osip_via_t *header)
Definition: osip_via.c:413
void osip_via_free(osip_via_t *header)
Definition: osip_via.c:114
void osip_via_set_version(osip_via_t *header, char *value)
Definition: osip_via.c:387
void osip_via_set_comment(osip_via_t *header, char *value)
Definition: osip_via.c:431
int osip_via_parse(osip_via_t *header, const char *hvalue)
Definition: osip_via.c:128
void osip_via_set_port(osip_via_t *header, char *value)
Definition: osip_via.c:420
int osip_via_to_str(const osip_via_t *header, char **dest)
Definition: osip_via.c:312
void osip_via_set_protocol(osip_via_t *header, char *value)
Definition: osip_via.c:398
char * osip_via_get_protocol(osip_via_t *header)
Definition: osip_via.c:402
oSIP list Routines
Definition: osip_list.h:87
Definition: osip_via.h:46
char * port
Definition: osip_via.h:50
char * host
Definition: osip_via.h:49
osip_list_t via_params
Definition: osip_via.h:52
char * version
Definition: osip_via.h:47
char * comment
Definition: osip_via.h:51
char * protocol
Definition: osip_via.h:48