libosip  4.1.0
osip_from.h
Go to the documentation of this file.
1 /*
2  The oSIP library implements the Session Initiation Protocol (SIP -rfc3261-)
3  Copyright (C) 2001-2012 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 
21 #ifndef _OSIP_FROM_H_
22 #define _OSIP_FROM_H_
23 
24 #include <osipparser2/osip_list.h>
25 #include <osipparser2/osip_uri.h>
26 
42  typedef struct osip_from osip_from_t;
43 
48  struct osip_from
49  {
50  char *displayname;
53  };
54 
55 #ifdef __cplusplus
56 extern "C"
57 {
58 #endif
59 
64  int osip_from_init (osip_from_t ** header);
69  void osip_from_free (osip_from_t * header);
75  int osip_from_parse (osip_from_t * header, const char *hvalue);
81  int osip_from_to_str (const osip_from_t * header, char **dest);
87  int osip_from_clone (const osip_from_t * header, osip_from_t ** dest);
93  void osip_from_set_displayname (osip_from_t * header, char *value);
98  char *osip_from_get_displayname (osip_from_t * header);
104  void osip_from_set_url (osip_from_t * header, osip_uri_t * url);
116  int osip_from_param_get (osip_from_t * header, int pos, osip_generic_param_t ** dest);
123 #define osip_from_param_add(header,name,value) osip_generic_param_add((&(header)->gen_params),name,value)
124 
130 #define osip_from_param_get_byname(header,name,dest) osip_generic_param_get_byname((&(header)->gen_params),name,dest)
131 
137 #define osip_from_get_tag(header,dest) osip_generic_param_get_byname((&(header)->gen_params), "tag",dest)
138 
143 #define osip_from_set_tag(header,value) osip_generic_param_add((&(header)->gen_params), osip_strdup("tag"),value)
144 
145 #ifndef DOXYGEN /* avoid DOXYGEN warning */
146 /* Compare the username, host and tag part (if exist) of the two froms */
147  int osip_from_compare (osip_from_t * header1, osip_from_t * header2);
148 #endif
149 
156  int osip_from_tag_match (osip_from_t * from1, osip_from_t * from2);
157 
158 
159 #ifdef __cplusplus
160 }
161 #endif
162 
165 #endif