diff options
Diffstat (limited to 'cgit.h')
| -rw-r--r-- | cgit.h | 41 | 
1 files changed, 41 insertions, 0 deletions
| @@ -15,6 +15,7 @@  #include <revision.h>  #include <log-tree.h>  #include <archive.h> +#include <string-list.h>  #include <xdiff-interface.h>  #include <xdiff/xdiff.h>  #include <utf8.h> @@ -48,6 +49,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 +74,9 @@ struct cgit_repo {  	int enable_log_linecount;  	int max_stats;  	time_t mtime; +	struct cgit_filter *about_filter; +	struct cgit_filter *commit_filter; +	struct cgit_filter *source_filter;  };  struct cgit_repolist { @@ -136,6 +149,7 @@ struct cgit_config {  	char *css;  	char *favicon;  	char *footer; +	char *head_include;  	char *header;  	char *index_header;  	char *index_info; @@ -155,6 +169,7 @@ struct cgit_config {  	int cache_repo_ttl;  	int cache_root_ttl;  	int cache_static_ttl; +	int embedded;  	int enable_index_links;  	int enable_log_filecount;  	int enable_log_linecount; @@ -166,11 +181,17 @@ struct cgit_config {  	int max_repodesc_len;  	int max_stats;  	int nocache; +	int noplainemail; +	int noheader;  	int renamelimit;  	int snapshots;  	int summary_branches;  	int summary_log;  	int summary_tags; +	struct string_list mimetypes; +	struct cgit_filter *about_filter; +	struct cgit_filter *commit_filter; +	struct cgit_filter *source_filter;  };  struct cgit_page { @@ -180,10 +201,27 @@ struct cgit_page {  	char *mimetype;  	char *charset;  	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;  };  struct cgit_context { +	struct cgit_environment env;  	struct cgit_query qry;  	struct cgit_config cfg;  	struct cgit_repo *repo; @@ -242,5 +280,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 */ | 
