Updated DB interface. I'm NOT updating the libdb backend to keep up
authorSteve McIntyre <steve@einval.com>
Sun, 3 Apr 2005 22:07:15 +0000 (22:07 +0000)
committerSteve McIntyre <steve@einval.com>
Sun, 3 Apr 2005 22:07:15 +0000 (22:07 +0000)
any more, as sqlite is so much more useful...

jigdb.h

diff --git a/jigdb.h b/jigdb.h
index db4be76..49c2212 100644 (file)
--- a/jigdb.h
+++ b/jigdb.h
@@ -8,9 +8,10 @@
 
 enum filetype
 {
-    FT_LOCAL = 0,
-    FT_ISO,
-    FT_REMOTE
+    FT_LOCAL = 0,  /* We have the file directly-accessible in a local filesystem */
+    FT_ISO,        /* We have the file in an ISO image locally */
+    FT_REMOTE,     /* File is on a specified mirror */
+    FT_JIGDO       /* We need to go to the upstream jigdo mirror site */
 };
 
 typedef struct
@@ -21,16 +22,19 @@ typedef struct
     time_t             age;  /* UINT_MAX - time when added */
     unsigned long long file_size;
     char               filename[PATH_MAX];
+    char               extra[PATH_MAX];    /* empty for local files;
+                                            * path to ISO for local ISO loopbacks;
+                                            * base URL for remote files*/
 } db_entry_t;    
 
-JIGDB *db_open(void);
+JIGDB *db_open(char *db_name);
 int db_close(JIGDB *dbp);
 int db_store(JIGDB *dbp, db_entry_t *entry);
 int db_lookup_by_age(JIGDB *dbp, time_t added, db_entry_t **out);
 int db_lookup_older(JIGDB *dbp, db_entry_t **out);
 int db_lookup_by_md5(JIGDB *dbp, char *md5, db_entry_t **out);
 int db_lookup_by_name(JIGDB *dbp, char *filename, db_entry_t **out);
-int db_delete(JIGDB *dbp, char *md5);
+int db_delete(JIGDB *dbp, char *md5, enum filetype type, char *filename);
 int db_dump(JIGDB *dbp);
 
 #endif /* JIGDB_H */