aboutsummaryrefslogtreecommitdiffstats
path: root/src/directory.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/directory.h')
-rw-r--r--src/directory.h22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/directory.h b/src/directory.h
index e2ff3832a..eb1b35aa7 100644
--- a/src/directory.h
+++ b/src/directory.h
@@ -21,13 +21,15 @@
#include "song.h"
#include "songvec.h"
-#include "list.h"
-typedef List DirectoryList;
+struct dirvec {
+ struct _Directory **base;
+ size_t nr;
+};
typedef struct _Directory {
char *path;
- DirectoryList *subDirectories;
+ struct dirvec children;
struct songvec songs;
struct _Directory *parent;
ino_t inode;
@@ -39,13 +41,17 @@ void reap_update_task(void);
int isUpdatingDB(void);
-void directory_sigChldHandler(int pid, int status);
-
-int updateInit(int fd, List * pathList);
+/*
+ * returns the non-negative update job ID on success,
+ * -1 if busy, -2 if invalid argument
+ * @argv itself is safe to free once updateInit returns, but the
+ * string values contained by @argv MUST NOT be freed manually
+ */
+int updateInit(int argc, char *argv[]);
-void initMp3Directory(void);
+void directory_init(void);
-void closeMp3Directory(void);
+void directory_finish(void);
int isRootDirectory(const char *name);