00001 /* 00002 * $Id: ldap_exp_fn.h 5003 2008-09-26 11:01:51Z henningw $ 00003 * 00004 * Kamailio LDAP Module 00005 * 00006 * Copyright (C) 2007 University of North Carolina 00007 * 00008 * Original author: Christian Schlatter, cs@unc.edu 00009 * 00010 * 00011 * This file is part of Kamailio, a free SIP server. 00012 * 00013 * Kamailio is free software; you can redistribute it and/or modify 00014 * it under the terms of the GNU General Public License as published by 00015 * the Free Software Foundation; either version 2 of the License, or 00016 * (at your option) any later version 00017 * 00018 * Kamailio is distributed in the hope that it will be useful, 00019 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00020 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00021 * GNU General Public License for more details. 00022 * 00023 * You should have received a copy of the GNU General Public License 00024 * along with this program; if not, write to the Free Software 00025 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00026 * 00027 * History: 00028 * -------- 00029 * 2007-02-18: Initial version 00030 */ 00031 00032 00033 #ifndef LDAP_EXP_FN_H 00034 #define LDAP_EXP_FN_H 00035 00036 00037 #include "../../str.h" 00038 #include "../../pvar.h" 00039 #include "../../parser/msg_parser.h" 00040 #include "../../re.h" 00041 00042 struct ldap_result_params 00043 { 00044 str ldap_attr_name; 00045 int dst_avp_val_type; /* 0: str, 1: int */ 00046 pv_spec_t dst_avp_spec; 00047 }; 00048 00049 struct ldap_result_check_params 00050 { 00051 str ldap_attr_name; 00052 pv_elem_p check_str_elem_p; 00053 }; 00054 00055 int ldap_search_impl( 00056 struct sip_msg* _msg, 00057 pv_elem_t* _ldap_url); 00058 00059 int ldap_write_result( 00060 struct sip_msg* _msg, 00061 struct ldap_result_params* _lrp, 00062 struct subst_expr* _se); 00063 00064 int ldap_result_next(void); 00065 00066 int ldap_filter_url_encode( 00067 struct sip_msg* _msg, 00068 pv_elem_t* _filter_component, 00069 pv_spec_t* _dst_avp_spec); 00070 00071 int rfc2254_escape( 00072 struct sip_msg* _msg, 00073 char* _value, 00074 char* _avp_name); 00075 00076 int ldap_result_check( 00077 struct sip_msg* _msg, 00078 struct ldap_result_check_params* _lrp, 00079 struct subst_expr* _se); 00080 00081 #endif /* LDAP_EXP_FN_H */
1.5.6