]> git.sur5r.net Git - openldap/blobdiff - libraries/libmdb/mdb.h
Error cleanup
[openldap] / libraries / libmdb / mdb.h
index dc9bf5f23661470855e12538b33d4964962909d7..39d9b6fb3aa60047a2015985b244d2732f327d5b 100644 (file)
 #define MDB_VERSION_MAJOR      0
 #define MDB_VERSION_MINOR      8
 #define MDB_VERSION_PATCH      0
-#define MDB_VERSION_FULL       ((MDB_VERSION_MAJOR << 24) | (MDB_VERSION_MINOR << 16) | MDB_VERSION_PATCH)
+#define MDB_VERINT(a,b,c)      ((a << 24) | (b << 16) | c)
+#define MDB_VERSION_FULL       \
+       MDB_VERINT(MDB_VERSION_MAJOR,MDB_VERSION_MINOR,MDB_VERSION_PATCH)
+#define MDB_VERSION_DATE       "August 11, 2011"
+#define MDB_VERSTR(a,b,c,d)    "MDB " #a "." #b "." #c ": (" #d ")"
+#define MDB_VERFOO(a,b,c,d)    MDB_VERSTR(a,b,c,d)
+#define        MDB_VERSION_STRING      \
+       MDB_VERFOO(MDB_VERSION_MAJOR,MDB_VERSION_MINOR,MDB_VERSION_PATCH,MDB_VERSION_DATE)
 
 struct MDB_cursor;
 struct MDB_txn;
@@ -75,11 +82,14 @@ typedef enum MDB_cursor_op {                /* cursor operations */
 } MDB_cursor_op;
 
 /* return codes */
+/* BerkeleyDB uses -30800 to -30999, we'll go under them */
 #define MDB_SUCCESS     0
-#define MDB_FAIL               -1
-#define MDB_KEYEXIST   -2
-#define MDB_NOTFOUND   -3
-#define MDB_VERSION_MISMATCH   -4
+#define MDB_KEYEXIST   -30799          /* key/data pair already exists */
+#define MDB_NOTFOUND   -30798          /* key/data pair not found (EOF) */
+#define MDB_PAGE_NOTFOUND      -30797  /* Requested page not found */
+#define MDB_CORRUPTED  -30796          /* Located page was wrong type */
+#define MDB_PANIC              -30795          /* Update of meta page failed, probably I/O error */
+#define MDB_VERSION_MISMATCH   -30794  /* Environment version mismatch */
 
 /* DB flags */
 #define MDB_REVERSEKEY 0x02            /* use reverse string keys */
@@ -103,10 +113,11 @@ typedef struct MDB_stat {
        unsigned long   ms_entries;
 } MDB_stat;
 
+char *mdb_version(int *major, int *minor, int *patch);
 int  mdb_env_create(MDB_env **env);
 int  mdb_env_open(MDB_env *env, const char *path, unsigned int flags, mode_t mode);
 int  mdb_env_stat(MDB_env *env, MDB_stat *stat);
-int  mdb_env_sync(MDB_env *env);
+int  mdb_env_sync(MDB_env *env, int force);
 void mdb_env_close(MDB_env *env);
 int  mdb_env_get_flags(MDB_env *env, unsigned int *flags);
 int  mdb_env_get_path(MDB_env *env, const char **path);