chiark / gitweb /
disorder-choose now supports everything that the old track picker does.
[disorder] / lib / trackdb-int.h
index 1d31cfe83cc646d13cdab3aff7cf1ffda7ea4b5f..ac2d3eae95c7e7630db605011d9341bc51d3707c 100644 (file)
@@ -21,6 +21,8 @@
 #ifndef TRACKDB_INT_H
 #define TRACKDB_INT_H
 
+struct vector;                          /* forward declaration */
+
 extern DB_ENV *trackdb_env;
 
 extern DB *trackdb_tracksdb;
@@ -100,6 +102,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 +111,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 +145,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 */
 
 /*