libosip 3.6.0
|
00001 /* 00002 The oSIP library implements the Session Initiation Protocol (SIP -rfc3261-) 00003 Copyright (C) 2001,2002,2003,2004,2005,2006,2007 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_WWW_AUTHENTICATE_H_ 00022 #define _OSIP_WWW_AUTHENTICATE_H_ 00023 00024 00040 typedef struct osip_www_authenticate osip_www_authenticate_t; 00041 00046 struct osip_www_authenticate 00047 { 00048 char *auth_type; 00049 char *realm; 00050 char *domain; 00051 char *nonce; 00052 char *opaque; 00053 char *stale; 00054 char *algorithm; 00055 char *qop_options; 00056 char *auth_param; 00057 }; 00058 00059 00060 #ifdef __cplusplus 00061 extern "C" 00062 { 00063 #endif 00064 00069 int osip_www_authenticate_init (osip_www_authenticate_t ** header); 00075 int osip_www_authenticate_parse (osip_www_authenticate_t * header, const char *hvalue); 00081 int osip_www_authenticate_to_str (const osip_www_authenticate_t * header, char **dest); 00086 void osip_www_authenticate_free (osip_www_authenticate_t * header); 00092 int osip_www_authenticate_clone (const osip_www_authenticate_t * header, 00093 osip_www_authenticate_t ** dest); 00094 00099 char *osip_www_authenticate_get_auth_type (osip_www_authenticate_t * header); 00105 void osip_www_authenticate_set_auth_type (osip_www_authenticate_t * header, 00106 char *value); 00111 char *osip_www_authenticate_get_realm (osip_www_authenticate_t * header); 00117 void osip_www_authenticate_set_realm (osip_www_authenticate_t * header, char *value); 00122 char *osip_www_authenticate_get_domain (osip_www_authenticate_t * header); 00128 void osip_www_authenticate_set_domain (osip_www_authenticate_t * header, char *value); 00133 char *osip_www_authenticate_get_nonce (osip_www_authenticate_t * header); 00139 void osip_www_authenticate_set_nonce (osip_www_authenticate_t * header, char *value); 00144 char *osip_www_authenticate_get_opaque (osip_www_authenticate_t * header); 00150 void osip_www_authenticate_set_opaque (osip_www_authenticate_t * header, char *value); 00155 char *osip_www_authenticate_get_stale (osip_www_authenticate_t * header); 00161 void osip_www_authenticate_set_stale (osip_www_authenticate_t * header, char *value); 00166 #define osip_www_authenticate_set_stale_true(header) osip_www_authenticate_set_stale(header,osip_strdup("true")) 00167 00171 #define osip_www_authenticate_set_stale_false(header) osip_www_authenticate_set_stale(header,osip_strdup("false")) 00172 00176 char *osip_www_authenticate_get_algorithm (osip_www_authenticate_t * header); 00182 void osip_www_authenticate_set_algorithm (osip_www_authenticate_t * header, 00183 char *value); 00188 #define osip_www_authenticate_set_algorithm_MD5(header) osip_www_authenticate_set_algorithm(header,osip_strdup("MD5")) 00189 00193 char *osip_www_authenticate_get_qop_options (osip_www_authenticate_t * header); 00199 void osip_www_authenticate_set_qop_options (osip_www_authenticate_t * header, 00200 char *value); 00201 00202 #ifdef __cplusplus 00203 } 00204 #endif 00205 00208 #endif