]> arthur.barton.de Git - netatalk.git/blobdiff - libatalk/cnid/cnid.c
New MySQL CNID backend
[netatalk.git] / libatalk / cnid / cnid.c
index 0a977e6ae8a5f4f469b48b7b037e1811d370ba76..9212caccafa73ad1ef0c7585d4bdfa6a29782ed7 100644 (file)
@@ -92,7 +92,7 @@ static int cnid_dir(const char *dir, mode_t mask)
 
 /* Opens CNID database using particular back-end */
 struct _cnid_db *cnid_open(const char *volpath, mode_t mask, char *type, int flags,
-                           const char *cnidsrv, const char *cnidport)
+                           const char *cnidsrv, const char *cnidport, const void *obj, char *uuid)
 {
     struct _cnid_db *db;
     cnid_module *mod = NULL;
@@ -128,7 +128,7 @@ struct _cnid_db *cnid_open(const char *volpath, mode_t mask, char *type, int fla
         }
     }
 
-    struct cnid_open_args args = {volpath, mask, flags, cnidsrv, cnidport};
+    struct cnid_open_args args = {volpath, mask, flags, cnidsrv, cnidport, obj, uuid};
     db = mod->cnid_open(&args);
 
     if ((mod->flags & CNID_FLAG_SETUID) && !(flags & CNID_FLAG_MEMORY)) {
@@ -338,3 +338,15 @@ cnid_t ret;
     unblock_signal(cdb->flags);
     return ret;
 }
+
+/* --------------- */
+int cnid_wipe(struct _cnid_db *cdb)
+{
+    int ret = 0;
+
+    block_signal(cdb->flags);
+    if (cdb->cnid_wipe)
+        ret = cdb->cnid_wipe(cdb);
+    unblock_signal(cdb->flags);
+    return ret;
+}