]> 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 5ef0bc5336f3099ba003b85b5b5eeb84806f9f21..75e919b739ad1b95ee7321b87a624fa8f2a6b2d8 100644 (file)
--- a/cgit.h
+++ b/cgit.h
@@ -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,
@@ -238,7 +257,7 @@ 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_tag(char *revname);
-extern void cgit_print_diff(const char *new_hex, const char *old_hex);
+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);