modules/db2_ldap/ld_con.h
1db521af
 /* 
  * $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
f9c15185
  * version.
1db521af
  *
  * 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
f9c15185
  * with this program; if not, write to the Free Software Foundation, Inc., 
9e1ff448
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
1db521af
  */
 
 #ifndef _LD_CON_H
 #define _LD_CON_H
 
 /** \addtogroup ldap
  * @{ 
  */
 
 /** \file 
  * Implementation of LDAP per-connection related data structures and functions.
  */
 
7a7f1a7b
 #include "../../lib/srdb2/db_pool.h"
 #include "../../lib/srdb2/db_con.h"
 #include "../../lib/srdb2/db_uri.h"
1db521af
 
 #include <time.h>
 #include <ldap.h>
 
 /** 
  * 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
f9c15185
  * new connection to the database server.
1db521af
  * @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 */