00001 /* 00002 The oSIP library implements the Session Initiation Protocol (SIP -rfc3261-) 00003 Copyright (C) 2001,2002,2003,2004,2005 Aymeric MOIZARD jack@atosc.org 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Lesser General Public 00007 License as published by the Free Software Foundation; either 00008 version 2.1 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Lesser General Public License for more details. 00014 00015 You should have received a copy of the GNU Lesser General Public 00016 License along with this library; if not, write to the Free Software 00017 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00018 */ 00019 00020 00021 #ifndef _OSIP_TO_H_ 00022 #define _OSIP_TO_H_ 00023 00024 #include <osipparser2/headers/osip_from.h> 00025 00041 typedef osip_from_t osip_to_t; 00042 00043 #ifdef __cplusplus 00044 extern "C" 00045 { 00046 #endif 00047 00052 int osip_to_init (osip_to_t ** header); 00057 void osip_to_free (osip_to_t * header); 00063 int osip_to_parse (osip_to_t * header, const char *hvalue); 00069 int osip_to_to_str (const osip_to_t * header, char **dest); 00075 int osip_to_clone (const osip_to_t * header, osip_to_t ** dest); 00081 #define osip_to_set_displayname(header,value) osip_from_set_displayname((osip_from_t*)header,value) 00082 00086 #define osip_to_get_displayname(header) osip_from_get_displayname((osip_from_t*)header) 00087 00092 #define osip_to_set_url(header,url) osip_from_set_url((osip_from_t*)header,url) 00093 00097 #define osip_to_get_url(header) osip_from_get_url((osip_from_t*)header) 00098 00104 #define osip_to_param_get(header,pos,dest) osip_from_param_get((osip_from_t*)header,pos,dest) 00105 00111 #define osip_to_param_get_byname(header,name,dest) osip_generic_param_get_byname((header)->gen_params,name,dest) 00112 00118 #define osip_to_param_add(header,name,value) osip_generic_param_add((header)->gen_params,name,value) 00119 00125 #define osip_to_set_tag(header,value) osip_generic_param_add((header)->gen_params, osip_strdup("tag"),value) 00126 00131 #define osip_to_get_tag(header,dest) osip_generic_param_get_byname((header)->gen_params, "tag",dest) 00132 00133 #ifndef DOXYGEN /* avoid DOXYGEN warning */ 00134 /* Compare the username, host and tag part of the two froms */ 00135 #define osip_to_compare(header1, header2) osip_from_compare((osip_from_t *)header1, (osip_from_t *)header2) 00136 #endif 00137 00144 int osip_to_tag_match (osip_to_t * to1, osip_to_t * to2); 00145 00146 #ifdef __cplusplus 00147 } 00148 #endif 00149 00152 #endif