]> gitweb.ps.run Git - ps-cgit/blobdiff - cgit.h
Add functions and types for ref lists
[ps-cgit] / cgit.h
diff --git a/cgit.h b/cgit.h
index ea61be7446e0b005c2c6161dae6e35f949e4d687..75e919b739ad1b95ee7321b87a624fa8f2a6b2d8 100644 (file)
--- 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);
 
@@ -214,9 +233,13 @@ 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);
@@ -233,11 +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,
-                               int snapshot);
-extern void cgit_print_snapshot_links(const char *repo, const char *hex,int snapshots);
+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 */