/* * $Id$ * * LDAP Database Driver for SER * * Copyright (C) 2008 iptelorg GmbH * * This file is part of SER, a free SIP server. * * SER is free software; you can redistribute it and/or modify it under the * terms of the GNU General Public License as published by the Free Software * Foundation; either version 2 of the License, or (at your option) any later * version. * * SER is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #ifndef _LD_CON_H #define _LD_CON_H /** \addtogroup ldap * @{ */ /** \file * Implementation of LDAP per-connection related data structures and functions. */ #include "../../lib/srdb2/db_pool.h" #include "../../lib/srdb2/db_con.h" #include "../../lib/srdb2/db_uri.h" #include #include /** * Per-connection flags for LDAP connections. */ enum ld_con_flags { LD_CONNECTED = (1 << 0), /**< The connection has been connected successfully */ }; /** A structure representing a connection to a LDAP server. * This structure represents connections to LDAP servers. It contains * LDAP specific per-connection data, */ struct ld_con { db_pool_entry_t gen; /**< Generic part of the structure */ LDAP* con; /**< LDAP connection handle */ unsigned int flags; /**< Flags */ }; /** Create a new ld_con structure. * This function creates a new ld_con structure and attachs the structure to * the generic db_con structure in the parameter. * @param con A generic db_con structure to be extended with LDAP payload * @retval 0 on success * @retval A negative number on error */ int ld_con(db_con_t* con); /** Establish a new connection to server. * This function is called when a SER module calls db_connect to establish a * new connection to the database server. * @param con A structure representing database connection. * @retval 0 on success. * @retval A negative number on error. */ int ld_con_connect(db_con_t* con); /** Disconnected from LDAP server. * Disconnects a previously connected connection to LDAP server. * @param con A structure representing the connection to be disconnected. */ void ld_con_disconnect(db_con_t* con); /** @} */ #endif /* _LD_CON_H */