X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/f3c1a187fe2bc33f8423cd535d5045899699995b..f34478cbe0214a201e7ecef3e79ed6c957b7beee:/cgit.h diff --git a/cgit.h b/cgit.h index 8ab8e07..e2d5126 100644 --- a/cgit.h +++ b/cgit.h @@ -19,19 +19,6 @@ #include -/* - * The valid cgit repo-commands - */ -#define CMD_LOG 1 -#define CMD_COMMIT 2 -#define CMD_DIFF 3 -#define CMD_TREE 4 -#define CMD_BLOB 5 -#define CMD_SNAPSHOT 6 -#define CMD_TAG 7 -#define CMD_REFS 8 -#define CMD_PATCH 9 - /* * Dateformats used on misc. pages */ @@ -190,14 +177,21 @@ struct cgit_context { struct cgit_page page; }; +struct cgit_snapshot_format { + const char *suffix; + const char *mimetype; + write_archive_fn_t write_func; + int bit; +}; + extern const char *cgit_version; extern struct cgit_repolist cgit_repolist; extern struct cgit_context ctx; +extern const struct cgit_snapshot_format cgit_snapshot_formats[]; extern int cgit_cmd; extern void cgit_prepare_context(struct cgit_context *ctx); -extern int cgit_get_cmd_index(const char *cmd); extern struct cgit_repo *cgit_get_repoinfo(const char *url); extern void cgit_global_config_cb(const char *name, const char *value); extern void cgit_repo_config_cb(const char *name, const char *value); @@ -278,20 +272,20 @@ extern void cgit_print_filemode(unsigned short mode); extern void cgit_print_branches(int maxcount); extern void cgit_print_tags(int maxcount); -extern void cgit_print_repolist(struct cacheitem *item); +extern void cgit_print_repolist(); extern void cgit_print_summary(); extern void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern, char *path, int pager); -extern void cgit_print_blob(struct cacheitem *item, const char *hex, char *path); +extern void cgit_print_blob(const char *hex, char *path); extern void cgit_print_tree(const char *rev, char *path); extern void cgit_print_commit(char *hex); extern void cgit_print_refs(); extern void cgit_print_tag(char *revname); extern void cgit_print_diff(const char *new_hex, const char *old_hex, const char *prefix); -extern void cgit_print_patch(char *hex, struct cacheitem *item); -extern void cgit_print_snapshot(struct cacheitem *item, const char *head, - const char *hex, const char *prefix, - const char *filename, int snapshot); +extern void cgit_print_patch(char *hex); +extern void cgit_print_snapshot(const char *head, const char *hex, + const char *prefix, const char *filename, + int snapshot); extern void cgit_print_snapshot_links(const char *repo, const char *head, const char *hex, int snapshots); extern int cgit_parse_snapshots_mask(const char *str);