diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2011-09-14 07:22:13 +0930 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2011-09-14 07:22:13 +0930 |
commit | a81bb8d7d1af9d8bfbd5e56f20001b777ce2d1ec (patch) | |
tree | 6db71a5c6c3bcca803842be0ebccc84875db2fff /lib/tdb2/tdb1_error.c | |
parent | 59527bcc7b465bfa2cdfb5a9f5e40d68e888ace9 (diff) | |
download | samba-a81bb8d7d1af9d8bfbd5e56f20001b777ce2d1ec.tar.gz samba-a81bb8d7d1af9d8bfbd5e56f20001b777ce2d1ec.tar.bz2 samba-a81bb8d7d1af9d8bfbd5e56f20001b777ce2d1ec.zip |
tdb2: import TDB1 code.
We import the entire codebase, putting a "tdb1_" prefix on the files
and changing the "tdb_" prefix to "tdb1_" everywhere.
The next patches will gradually merge it with the TDB2 code where
necessary.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(Imported from CCAN commit 19e6c1a250ade1e7204ada17163294855585e825)
Diffstat (limited to 'lib/tdb2/tdb1_error.c')
-rw-r--r-- | lib/tdb2/tdb1_error.c | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/lib/tdb2/tdb1_error.c b/lib/tdb2/tdb1_error.c new file mode 100644 index 0000000000..e5558059a9 --- /dev/null +++ b/lib/tdb2/tdb1_error.c @@ -0,0 +1,56 @@ + /* + 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 + + ** NOTE! The following LGPL license applies to the tdb + ** library. This does NOT imply that all of Samba is released + ** under the LGPL + + 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 + version 3 of the License, or (at your option) any later version. + + 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 + License along with this library; if not, see <http://www.gnu.org/licenses/>. +*/ + +#include "tdb1_private.h" + +_PUBLIC_ enum TDB1_ERROR tdb1_error(struct tdb1_context *tdb) +{ + return tdb->ecode; +} + +static struct tdb1_errname { + enum TDB1_ERROR ecode; const char *estring; +} emap[] = { {TDB1_SUCCESS, "Success"}, + {TDB1_ERR_CORRUPT, "Corrupt database"}, + {TDB1_ERR_IO, "IO Error"}, + {TDB1_ERR_LOCK, "Locking error"}, + {TDB1_ERR_OOM, "Out of memory"}, + {TDB1_ERR_EXISTS, "Record exists"}, + {TDB1_ERR_NOLOCK, "Lock exists on other keys"}, + {TDB1_ERR_EINVAL, "Invalid parameter"}, + {TDB1_ERR_NOEXIST, "Record does not exist"}, + {TDB1_ERR_RDONLY, "write not permitted"} }; + +/* Error string for the last tdb error */ +_PUBLIC_ const char *tdb1_errorstr(struct tdb1_context *tdb) +{ + uint32_t i; + for (i = 0; i < sizeof(emap) / sizeof(struct tdb1_errname); i++) + if (tdb->ecode == emap[i].ecode) + return emap[i].estring; + return "Invalid error code"; +} |