and added files
[bcm963xx.git] / userapps / opensource / libosip2 / include / osipparser2 / headers / osip_call_info.h
1 /*
2   The oSIP library implements the Session Initiation Protocol (SIP -rfc2543-)
3   Copyright (C) 2001  Aymeric MOIZARD jack@atosc.org
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_CALL_INFO_H_
22 #define _OSIP_CALL_INFO_H_
23
24 #include <osipparser2/osip_list.h>
25
26 /**
27  * @file osip_call_info.h
28  * @brief oSIP osip_call_info header definition.
29  */
30
31 /**
32  * @defgroup oSIP_CALL_INFO oSIP call-info header definition.
33  * @ingroup oSIP_HEADERS
34  * @{
35  */
36
37 /**
38  * Structure for Call-Info headers.
39  * @defvar osip_call_info_t
40  */
41   typedef struct osip_call_info osip_call_info_t;
42
43   struct osip_call_info
44   {
45     char *element;
46     osip_list_t *gen_params;
47   };
48
49 #ifdef __cplusplus
50 extern "C"
51 {
52 #endif
53
54 /**
55  * Allocate a Call-Info element.
56  * @param header The element to work on.
57  */
58   int osip_call_info_init (osip_call_info_t ** header);
59 /**
60  * Free a Call-Info element.
61  * @param header The element to work on.
62  */
63   void osip_call_info_free (osip_call_info_t * header);
64 /**
65  * Parse a Call-Info element.
66  * @param header The element to work on.
67  * @param hvalue The string to parse.
68  */
69   int osip_call_info_parse (osip_call_info_t * header, const char *hvalue);
70 /**
71  * Get a string representation of a Call-Info element.
72  * @param header The element to work on.
73  * @param dest A pointer on the new allocated string.
74  */
75   int osip_call_info_to_str (const osip_call_info_t * header, char **dest);
76 /**
77  * Clone a Call-Info element.
78  * @param header The element to work on.
79  * @param dest A pointer on the copy of the element.
80  */
81   int osip_call_info_clone (const osip_call_info_t * header, osip_call_info_t ** dest);
82 /**
83  * Get the uri from a Call_Info header.
84  * @param header The element to work on.
85  */
86   char *osip_call_info_get_uri (osip_call_info_t * header);
87 /**
88  * Set the uri in the Call_Info element.
89  * @param header The element to work on.
90  * @param uri The value of the element.
91  */
92   void osip_call_info_set_uri (osip_call_info_t * header, char *uri);
93
94
95 #ifdef __cplusplus
96 }
97 #endif
98
99 /** @} */
100
101 #endif