summaryrefslogtreecommitdiffabout
path: root/cgit.h
Side-by-side diff
Diffstat (limited to 'cgit.h') (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.h52
1 files changed, 50 insertions, 2 deletions
diff --git a/cgit.h b/cgit.h
index 5f7af51..6c6c460 100644
--- a/cgit.h
+++ b/cgit.h
@@ -17,2 +17,3 @@
#include <archive.h>
+#include <string-list.h>
#include <xdiff-interface.h>
@@ -50,2 +51,11 @@ 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 {
@@ -57,5 +67,5 @@ struct cgit_repo {
char *defbranch;
- char *group;
char *module_link;
char *readme;
+ char *section;
char *clone_url;
@@ -66,4 +76,10 @@ struct cgit_repo {
time_t mtime;
+ struct cgit_filter *about_filter;
+ struct cgit_filter *commit_filter;
+ struct cgit_filter *source_filter;
};
+typedef void (*repo_config_fn)(struct cgit_repo *repo, const char *name,
+ const char *value);
+
struct cgit_repolist {
@@ -138,2 +154,3 @@ struct cgit_config {
char *footer;
+ char *head_include;
char *header;
@@ -144,3 +161,2 @@ struct cgit_config {
char *module_link;
- char *repo_group;
char *robots;
@@ -150,2 +166,3 @@ struct cgit_config {
char *script_name;
+ char *section;
char *virtual_root;
@@ -156,3 +173,6 @@ struct cgit_config {
int cache_root_ttl;
+ int cache_scanrc_ttl;
int cache_static_ttl;
+ int embedded;
+ int enable_filter_overrides;
int enable_index_links;
@@ -160,2 +180,3 @@ struct cgit_config {
int enable_log_linecount;
+ int enable_tree_linenumbers;
int local_time;
@@ -168,2 +189,4 @@ struct cgit_config {
int nocache;
+ int noplainemail;
+ int noheader;
int renamelimit;
@@ -173,2 +196,6 @@ struct cgit_config {
int summary_tags;
+ struct string_list mimetypes;
+ struct cgit_filter *about_filter;
+ struct cgit_filter *commit_filter;
+ struct cgit_filter *source_filter;
};
@@ -182,3 +209,19 @@ struct cgit_page {
char *filename;
+ char *etag;
char *title;
+ int status;
+ char *statusmsg;
+};
+
+struct cgit_environment {
+ char *cgit_config;
+ char *http_host;
+ char *https;
+ char *no_http;
+ char *path_info;
+ char *query_string;
+ char *request_method;
+ char *script_name;
+ char *server_name;
+ char *server_port;
};
@@ -186,2 +229,3 @@ struct cgit_page {
struct cgit_context {
+ struct cgit_environment env;
struct cgit_query qry;
@@ -244,2 +288,6 @@ 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);
+
+extern int readfile(const char *path, char **buf, size_t *size);