2006-07-11 22:01:26 +04:00
/*
Unix SMB / CIFS implementation .
trivial database library
Copyright ( C ) Andrew Tridgell 1999 - 2005
Copyright ( C ) Paul ` Rusty ' Russell 2000
Copyright ( C ) Jeremy Allison 2000 - 2003
2010-03-25 12:19:48 +03:00
2006-07-11 22:01:26 +04:00
* * NOTE ! The following LGPL license applies to the tdb
* * library . This does NOT imply that all of Samba is released
* * under the LGPL
2010-03-25 12:19:48 +03:00
2006-07-11 22:01:26 +04:00
This library is free software ; you can redistribute it and / or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation ; either
2007-07-10 05:44:42 +04:00
version 3 of the License , or ( at your option ) any later version .
2006-07-11 22:01:26 +04:00
This library 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
Lesser General Public License for more details .
You should have received a copy of the GNU Lesser General Public
2007-07-10 07:42:26 +04:00
License along with this library ; if not , see < http : //www.gnu.org/licenses/>.
2006-07-11 22:01:26 +04:00
*/
# include "tdb_private.h"
enum TDB_ERROR tdb_error ( struct tdb_context * tdb )
{
return tdb - > ecode ;
}
static struct tdb_errname {
enum TDB_ERROR ecode ; const char * estring ;
} emap [ ] = { { TDB_SUCCESS , " Success " } ,
{ TDB_ERR_CORRUPT , " Corrupt database " } ,
{ TDB_ERR_IO , " IO Error " } ,
{ TDB_ERR_LOCK , " Locking error " } ,
{ TDB_ERR_OOM , " Out of memory " } ,
{ TDB_ERR_EXISTS , " Record exists " } ,
{ TDB_ERR_NOLOCK , " Lock exists on other keys " } ,
{ TDB_ERR_EINVAL , " Invalid parameter " } ,
{ TDB_ERR_NOEXIST , " Record does not exist " } ,
{ TDB_ERR_RDONLY , " write not permitted " } } ;
/* Error string for the last tdb error */
const char * tdb_errorstr ( struct tdb_context * tdb )
{
2007-08-12 04:55:03 +04:00
uint32_t i ;
2006-07-11 22:01:26 +04:00
for ( i = 0 ; i < sizeof ( emap ) / sizeof ( struct tdb_errname ) ; i + + )
if ( tdb - > ecode = = emap [ i ] . ecode )
return emap [ i ] . estring ;
return " Invalid error code " ;
}