summaryrefslogtreecommitdiffstats
path: root/filelist.h
diff options
context:
space:
mode:
Diffstat (limited to 'filelist.h')
-rw-r--r--filelist.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/filelist.h b/filelist.h
new file mode 100644
index 0000000..b1ab52a
--- /dev/null
+++ b/filelist.h
@@ -0,0 +1,33 @@
+#ifndef REPREPRO_FILELIST_H
+#define REPREPRO_FILELIST_H
+
+#ifndef REPREPRO_RELEASE_H
+#include "release.h"
+#endif
+
+struct filelist_list;
+struct package;
+
+retvalue filelist_init(struct filelist_list **list);
+
+retvalue filelist_addpackage(struct filelist_list *, struct package *);
+
+retvalue filelist_write(struct filelist_list *list, struct filetorelease *file);
+
+void filelist_free(/*@only@*/struct filelist_list *);
+
+retvalue fakefilelist(const char *filekey);
+retvalue filelists_translate(struct table *, struct table *);
+
+/* for use in routines reading the data: */
+struct filelistcompressor {
+ unsigned int offsets[256];
+ size_t size, len;
+ unsigned int dirdepth;
+ char *filelist;
+};
+retvalue filelistcompressor_setup(/*@out@*/struct filelistcompressor *);
+retvalue filelistcompressor_add(struct filelistcompressor *, const char *, size_t);
+retvalue filelistcompressor_finish(struct filelistcompressor *, /*@out@*/char **, /*@out@*/size_t *);
+void filelistcompressor_cancel(struct filelistcompressor *);
+#endif