chiark / gitweb /
update CHANGES.html
[disorder] / lib / trackdb-int.h
index 1d31cfe83cc646d13cdab3aff7cf1ffda7ea4b5f..32a6ca4fc2436490ead8ef76fb196b861e6767d6 100644 (file)
 #ifndef TRACKDB_INT_H
 #define TRACKDB_INT_H
 
+#include <db.h>
+
+#include "kvp.h"
+
+struct vector;                          /* forward declaration */
+
 extern DB_ENV *trackdb_env;
 
 extern DB *trackdb_tracksdb;
@@ -30,6 +36,7 @@ extern DB *trackdb_tagsdb;
 extern DB *trackdb_noticeddb;
 extern DB *trackdb_globaldb;
 extern DB *trackdb_usersdb;
+extern DB *trackdb_scheduledb;
 
 DBC *trackdb_opencursor(DB *db, DB_TXN *tid);
 /* open a transaction */
@@ -100,6 +107,7 @@ int trackdb_delkeydata(DB *db,
 int trackdb_scan(const char *root,
                  int (*callback)(const char *track,
                                  struct kvp *data,
+                                 struct kvp *prefs,
                                  void *u,
                                  DB_TXN *tid),
                  void *u,
@@ -108,8 +116,9 @@ int trackdb_scan(const char *root,
  * 0).  Return 0 or DB_LOCK_DEADLOCK.  CALLBACK should return 0 on success or
  * EINTR to cancel the scan. */
 
-/* fill KEY in with S, returns KEY */
+int trackdb_listkeys(DB *db, struct vector *v, DB_TXN *tid);
 
+/* fill KEY in with S, returns KEY */
 static inline DBT *make_key(DBT *key, const char *s) {
   memset(key, 0, sizeof *key);
   key->data = (void *)s;
@@ -141,6 +150,9 @@ int trackdb_get_global_tid(const char *name,
                            DB_TXN *tid,
                            const char **rp);
 
+char **parsetags(const char *s);
+int tag_intersection(char **a, char **b);
+
 #endif /* TRACKDB_INT_H */
 
 /*