summaryrefslogtreecommitdiffstats
path: root/remoterepository.h
diff options
context:
space:
mode:
Diffstat (limited to 'remoterepository.h')
-rw-r--r--remoterepository.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/remoterepository.h b/remoterepository.h
new file mode 100644
index 0000000..badfa3d
--- /dev/null
+++ b/remoterepository.h
@@ -0,0 +1,68 @@
+#ifndef REPREPRO_REMOTEREPOSITORY_H
+#define REPREPRO_REMOTEREPOSITORY_H
+
+#ifndef REPREPRO_ERROR_H
+#include "error.h"
+#warning "What's hapening here?"
+#endif
+#ifndef REPREPRO_APTMETHOD_H
+#include "aptmethod.h"
+#endif
+#ifndef REPREPRO_DONEFILE_H
+#include "donefile.h"
+#endif
+#ifndef REPREPRO_ATOMS_H
+#include "atoms.h"
+#endif
+
+struct remote_repository;
+struct remote_distribution;
+struct remote_index;
+
+/* register repository, strings as stored by reference */
+struct remote_repository *remote_repository_prepare(const char * /*name*/, const char * /*method*/, const char * /*fallback*/, const struct strlist * /*config*/);
+
+/* register remote distribution of the given repository */
+retvalue remote_distribution_prepare(struct remote_repository *, const char * /*suite*/, bool /*ignorerelease*/, bool /*getinrelease*/, const char * /*verifyrelease*/, bool /*flat*/, bool * /*ignorehashes*/, /*@out@*/struct remote_distribution **);
+
+void remote_repository_free(/*@only@*/struct remote_repository *);
+
+/* create aptmethods for all of yet created repositories */
+retvalue remote_startup(struct aptmethodrun *);
+
+retvalue remote_preparemetalists(struct aptmethodrun *, bool /*nodownload*/);
+retvalue remote_preparelists(struct aptmethodrun *, bool /*nodownload*/);
+
+struct encoding_preferences {
+ /* number of preferences, 0 means use default */
+ unsigned short count;
+ /* a list of compressions to use */
+ struct compression_preference {
+ bool diff;
+ bool force;
+ enum compression compression;
+ } requested[3*c_COUNT];
+};
+
+struct remote_index *remote_index(struct remote_distribution *, const char * /*architecture*/, const char * /*component*/, packagetype_t, const struct encoding_preferences *);
+struct remote_index *remote_flat_index(struct remote_distribution *, packagetype_t, const struct encoding_preferences *);
+
+/* returns the name of the prepared uncompressed file */
+/*@observer@*/const char *remote_index_file(const struct remote_index *);
+/*@observer@*/const char *remote_index_basefile(const struct remote_index *);
+/*@observer@*/struct aptmethod *remote_aptmethod(const struct remote_distribution *);
+
+bool remote_index_isnew(const struct remote_index *, struct donefile *);
+void remote_index_needed(struct remote_index *);
+void remote_index_markdone(const struct remote_index *, struct markdonefile *);
+
+char *genlistsfilename(/*@null@*/const char * /*type*/, unsigned int /*count*/, ...) __attribute__((sentinel));
+
+struct cachedlistfile;
+retvalue cachedlists_scandir(/*@out@*/struct cachedlistfile **);
+void cachedlistfile_need_index(struct cachedlistfile *, const char * /*repository*/, const char * /*suite*/, const char * /*architecture*/, const char * /*component*/, packagetype_t);
+void cachedlistfile_need_flat_index(struct cachedlistfile *, const char * /*repository*/, const char * /*suite*/, packagetype_t);
+void cachedlistfile_need(struct cachedlistfile *, const char * /*type*/, unsigned int /*count*/, ...) __attribute__((sentinel));
+void cachedlistfile_freelist(/*@only@*/struct cachedlistfile *);
+void cachedlistfile_deleteunneeded(const struct cachedlistfile *);
+#endif