libosip 3.6.0

osip_www_authenticate.h

Go to the documentation of this file.
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