diff options
Diffstat (limited to 'cgit.h')
| -rw-r--r-- | cgit.h | 52 | 
1 files changed, 50 insertions, 2 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; @@ -55,17 +65,23 @@ struct cgit_repo {  	char *desc;  	char *owner;  	char *defbranch; -	char *group;  	char *module_link;  	char *readme; +	char *section;  	char *clone_url;  	int snapshots;  	int enable_log_filecount;  	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;  }; +typedef void (*repo_config_fn)(struct cgit_repo *repo, const char *name, +	      const char *value); +  struct cgit_repolist {  	int length;  	int count; @@ -136,28 +152,33 @@ struct cgit_config {  	char *css;  	char *favicon;  	char *footer; +	char *head_include;  	char *header;  	char *index_header;  	char *index_info;  	char *logo;  	char *logo_link;  	char *module_link; -	char *repo_group;  	char *robots;  	char *root_title;  	char *root_desc;  	char *root_readme;  	char *script_name; +	char *section;  	char *virtual_root;  	int cache_size;  	int cache_dynamic_ttl;  	int cache_max_create_time;  	int cache_repo_ttl;  	int cache_root_ttl; +	int cache_scanrc_ttl;  	int cache_static_ttl; +	int embedded; +	int enable_filter_overrides;  	int enable_index_links;  	int enable_log_filecount;  	int enable_log_linecount; +	int enable_tree_linenumbers;  	int local_time;  	int max_repo_count;  	int max_commit_count; @@ -166,11 +187,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 +207,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 +286,9 @@ 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); + +extern int readfile(const char *path, char **buf, size_t *size);  #endif /* CGIT_H */ | 
