X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/127f43d4e202ba3e63f72add44238c2686dd97f3..e397ff7024293223f48f235fcf072fc526cae7af:/cgit.h diff --git a/cgit.h b/cgit.h index 6937c42..75e919b 100644 --- a/cgit.h +++ b/cgit.h @@ -27,7 +27,7 @@ #define CMD_TREE 4 #define CMD_BLOB 5 #define CMD_SNAPSHOT 6 - +#define CMD_TAG 7 /* * Dateformats used on misc. pages @@ -98,6 +98,21 @@ struct taginfo { char *msg; }; +struct refinfo { + const char *refname; + struct object *object; + union { + struct taginfo *tag; + struct commitinfo *commit; + }; +}; + +struct reflist { + struct refinfo **refs; + int alloc; + int count; +}; + extern const char *cgit_version; extern struct repolist cgit_repolist; @@ -162,6 +177,10 @@ extern int chk_non_negative(int result, char *msg); extern int hextoint(char c); extern char *trim_end(const char *str, char c); +extern void cgit_add_ref(struct reflist *list, struct refinfo *ref); +extern int cgit_refs_cb(const char *refname, const unsigned char *sha1, + int flags, void *cb_data); + extern void *cgit_free_commitinfo(struct commitinfo *info); extern int cgit_diff_files(const unsigned char *old_sha1, @@ -170,7 +189,7 @@ extern int cgit_diff_files(const unsigned char *old_sha1, extern void cgit_diff_tree(const unsigned char *old_sha1, const unsigned char *new_sha1, - filepair_fn fn); + filepair_fn fn, const char *prefix); extern void cgit_diff_commit(struct commit *commit, filepair_fn fn); @@ -201,18 +220,26 @@ extern int cache_exist(struct cacheitem *item); extern int cache_expired(struct cacheitem *item); extern char *cgit_repourl(const char *reponame); +extern char *cgit_fileurl(const char *reponame, const char *pagename, + const char *filename, const char *query); extern char *cgit_pageurl(const char *reponame, const char *pagename, const char *query); +extern const char *cgit_repobasename(const char *reponame); + extern void cgit_tree_link(char *name, char *title, char *class, char *head, char *rev, char *path); extern void cgit_log_link(char *name, char *title, char *class, char *head, char *rev, char *path, int ofs); extern void cgit_commit_link(char *name, char *title, char *class, char *head, char *rev); +extern void cgit_snapshot_link(char *name, char *title, char *class, + char *head, char *rev, char *archivename); extern void cgit_diff_link(char *name, char *title, char *class, char *head, char *new_rev, char *old_rev, char *path); +extern void cgit_object_link(struct object *obj); + extern void cgit_print_error(char *msg); extern void cgit_print_date(time_t secs, char *format); extern void cgit_print_age(time_t t, time_t max_relative, char *format); @@ -229,9 +256,13 @@ extern void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char * extern void cgit_print_blob(struct cacheitem *item, 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_diff(const char *new_hex, const char *old_hex); -extern void cgit_print_snapshot(struct cacheitem *item, const char *hex, - const char *prefix, const char *filename); -extern void cgit_print_snapshot_links(const char *repo, const char *hex); +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_snapshot(struct cacheitem *item, 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); #endif /* CGIT_H */