X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/57f6a8bf0de6c112cabc1d8e20ade2698bd886b7..0c8e184e9cbf4d3a1e907de9125f6d8210c169d6:/cgit.h?ds=sidebyside diff --git a/cgit.h b/cgit.h index 3938633..42036c3 100644 --- a/cgit.h +++ b/cgit.h @@ -25,10 +25,10 @@ #define CMD_COMMIT 2 #define CMD_DIFF 3 #define CMD_TREE 4 -#define CMD_VIEW 5 -#define CMD_BLOB 6 -#define CMD_SNAPSHOT 7 - +#define CMD_BLOB 5 +#define CMD_SNAPSHOT 6 +#define CMD_TAG 7 +#define CMD_REFS 8 /* * Dateformats used on misc. pages @@ -68,6 +68,7 @@ struct repoinfo { char *defbranch; char *group; char *module_link; + char *readme; int snapshots; int enable_log_filecount; int enable_log_linecount; @@ -98,7 +99,22 @@ struct taginfo { char *msg; }; -extern const char cgit_version[]; +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; extern struct repoinfo *cgit_repo; @@ -108,6 +124,7 @@ extern char *cgit_root_title; extern char *cgit_css; extern char *cgit_logo; extern char *cgit_index_header; +extern char *cgit_index_info; extern char *cgit_logo_link; extern char *cgit_module_link; extern char *cgit_agefile; @@ -118,6 +135,7 @@ extern char *cgit_repo_group; extern int cgit_nocache; extern int cgit_snapshots; +extern int cgit_enable_index_links; extern int cgit_enable_log_filecount; extern int cgit_enable_log_linecount; extern int cgit_max_lock_attempts; @@ -126,6 +144,9 @@ extern int cgit_cache_repo_ttl; extern int cgit_cache_dynamic_ttl; extern int cgit_cache_static_ttl; extern int cgit_cache_max_create_time; +extern int cgit_summary_log; +extern int cgit_summary_tags; +extern int cgit_summary_branches; extern int cgit_max_msg_len; extern int cgit_max_repodesc_len; @@ -138,6 +159,7 @@ extern char *cgit_querystring; extern char *cgit_query_repo; extern char *cgit_query_page; extern char *cgit_query_search; +extern char *cgit_query_grep; extern char *cgit_query_head; extern char *cgit_query_sha1; extern char *cgit_query_sha2; @@ -155,8 +177,16 @@ extern void cgit_querystring_cb(const char *name, const char *value); extern int chk_zero(int result, char *msg); extern int chk_positive(int result, char *msg); +extern int chk_non_negative(int result, char *msg); extern int hextoint(char c); +extern char *trim_end(const char *str, char c); +extern char *strlpart(char *txt, int maxlen); +extern char *strrpart(char *txt, int maxlen); + +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); @@ -166,7 +196,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); @@ -178,6 +208,7 @@ extern void html_txt(char *txt); extern void html_ntxt(int len, char *txt); extern void html_attr(char *txt); extern void html_hidden(char *name, char *value); +extern void html_option(char *value, char *text, char *selected_value); extern void html_link_open(char *url, char *title, char *class); extern void html_link_close(void); extern void html_filemode(unsigned short mode); @@ -197,9 +228,28 @@ 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_refs_link(char *name, char *title, char *class, char *head, + char *rev, char *path); +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); @@ -209,18 +259,24 @@ extern void cgit_print_pageheader(char *title, int show_search); extern void cgit_print_snapshot_start(const char *mimetype, const char *filename, struct cacheitem *item); +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_summary(); -extern void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *path); -extern void cgit_print_view(const char *hex, char *path); +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_tree(const char *rev, const char *hex, char *path); -extern void cgit_print_commit(const char *hex); -extern void cgit_print_diff(const char *head, const char *old_hex, const char *new_hex, - char *path); -extern void cgit_print_snapshot(struct cacheitem *item, const char *hex, - const char *format, const char *prefix, - const char *filename); +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_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 */