SIP Witch 1.9.15
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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-2015 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
Structure for referencing a list of elements.
Definition: osip_list.h:82
void osip_from_free(osip_from_t *header)
Free a From element.
void osip_from_set_url(osip_from_t *header, osip_uri_t *url)
Set the url in the From element.
int osip_from_param_get(osip_from_t *header, int pos, osip_generic_param_t **dest)
Get a header parameter from a From element.
void osip_from_set_displayname(osip_from_t *header, char *value)
Set the displayname in the From element.
int osip_from_to_str(const osip_from_t *header, char **dest)
Get a string representation of a From element.
osip_list_t gen_params
other From parameters
Definition: osip_from.h:52
osip_uri_t * url
url
Definition: osip_from.h:51
int osip_from_tag_match(osip_from_t *from1, osip_from_t *from2)
Check if the tags in the From headers match.
oSIP list Routines
char * displayname
Display Name.
Definition: osip_from.h:50
int osip_from_compare(osip_from_t *header1, osip_from_t *header2)
osip_uri_t * osip_from_get_url(osip_from_t *header)
Get the url from a From header.
Definition of the From header.
Definition: osip_from.h:48
int osip_from_clone(const osip_from_t *header, osip_from_t **dest)
Clone a From element.
int osip_from_init(osip_from_t **header)
Allocate a From element.
char * value[96]
Definition: cgiserver.cpp:90
int osip_from_parse(osip_from_t *header, const char *hvalue)
Parse a From element.
char * osip_from_get_displayname(osip_from_t *header)
Get the displayname from a From header.
Structure for referencing url parameters.
Definition: osip_uri.h:55
Structure for referencing SIP urls.
Definition: osip_uri.h:167
oSIP url parser Routines