]> gitweb.ps.run Git - ps-cgit/blobdiff - cgit.h
ui-summary: enable arbitrary paths below repo.readme
[ps-cgit] / cgit.h
diff --git a/cgit.h b/cgit.h
index ca01705953a489760cc6b625a13919af20e3e0db..f10ba054bc1a7b0d0e728e10983490347a9d9713 100644 (file)
--- a/cgit.h
+++ b/cgit.h
@@ -48,6 +48,15 @@ typedef void (*configfn)(const char *name, const char *value);
 typedef void (*filepair_fn)(struct diff_filepair *pair);
 typedef void (*linediff_fn)(char *line, int len);
 
+struct cgit_filter {
+       char *cmd;
+       char **argv;
+       int old_stdout;
+       int pipe_fh[2];
+       int pid;
+       int exitstatus;
+};
+
 struct cgit_repo {
        char *url;
        char *name;
@@ -64,6 +73,8 @@ struct cgit_repo {
        int enable_log_linecount;
        int max_stats;
        time_t mtime;
+       struct cgit_filter *commit_filter;
+       struct cgit_filter *source_filter;
 };
 
 struct cgit_repolist {
@@ -136,6 +147,7 @@ struct cgit_config {
        char *css;
        char *favicon;
        char *footer;
+       char *head_include;
        char *header;
        char *index_header;
        char *index_info;
@@ -173,6 +185,8 @@ struct cgit_config {
        int summary_branches;
        int summary_log;
        int summary_tags;
+       struct cgit_filter *commit_filter;
+       struct cgit_filter *source_filter;
 };
 
 struct cgit_page {
@@ -182,7 +196,10 @@ struct cgit_page {
        char *mimetype;
        char *charset;
        char *filename;
+       char *etag;
        char *title;
+       int status;
+       char *statusmsg;
 };
 
 struct cgit_context {
@@ -244,5 +261,8 @@ extern const char *cgit_repobasename(const char *reponame);
 
 extern int cgit_parse_snapshots_mask(const char *str);
 
+extern int cgit_open_filter(struct cgit_filter *filter);
+extern int cgit_close_filter(struct cgit_filter *filter);
+
 
 #endif /* CGIT_H */