summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--cache.h1
-rw-r--r--cgit.h1
-rw-r--r--html.h3
3 files changed, 5 insertions, 0 deletions
diff --git a/cache.h b/cache.h
index ac9276b..5cfdb4f 100644
--- a/cache.h
+++ b/cache.h
@@ -1,37 +1,38 @@
1/* 1/*
2 * Since git has it's own cache.h which we include, 2 * Since git has it's own cache.h which we include,
3 * lets test on CGIT_CACHE_H to avoid confusion 3 * lets test on CGIT_CACHE_H to avoid confusion
4 */ 4 */
5 5
6#ifndef CGIT_CACHE_H 6#ifndef CGIT_CACHE_H
7#define CGIT_CACHE_H 7#define CGIT_CACHE_H
8 8
9typedef void (*cache_fill_fn)(void *cbdata); 9typedef void (*cache_fill_fn)(void *cbdata);
10 10
11 11
12/* Print cached content to stdout, generate the content if necessary. 12/* Print cached content to stdout, generate the content if necessary.
13 * 13 *
14 * Parameters 14 * Parameters
15 * size max number of cache files 15 * size max number of cache files
16 * path directory used to store cache files 16 * path directory used to store cache files
17 * key the key used to lookup cache files 17 * key the key used to lookup cache files
18 * ttl max cache time in seconds for this key 18 * ttl max cache time in seconds for this key
19 * fn content generator function for this key 19 * fn content generator function for this key
20 * cbdata user-supplied data to the content generator function 20 * cbdata user-supplied data to the content generator function
21 * 21 *
22 * Return value 22 * Return value
23 * 0 indicates success, everyting else is an error 23 * 0 indicates success, everyting else is an error
24 */ 24 */
25extern int cache_process(int size, const char *path, const char *key, int ttl, 25extern int cache_process(int size, const char *path, const char *key, int ttl,
26 cache_fill_fn fn, void *cbdata); 26 cache_fill_fn fn, void *cbdata);
27 27
28 28
29/* List info about all cache entries on stdout */ 29/* List info about all cache entries on stdout */
30extern int cache_ls(const char *path); 30extern int cache_ls(const char *path);
31 31
32/* Print a message to stdout */ 32/* Print a message to stdout */
33__attribute__((format (printf,1,2)))
33extern void cache_log(const char *format, ...); 34extern void cache_log(const char *format, ...);
34 35
35extern unsigned long hash_str(const char *str); 36extern unsigned long hash_str(const char *str);
36 37
37#endif /* CGIT_CACHE_H */ 38#endif /* CGIT_CACHE_H */
diff --git a/cgit.h b/cgit.h
index 4090cd4..8f84281 100644
--- a/cgit.h
+++ b/cgit.h
@@ -200,114 +200,115 @@ struct cgit_config {
200 int max_repodesc_len; 200 int max_repodesc_len;
201 int max_blob_size; 201 int max_blob_size;
202 int max_stats; 202 int max_stats;
203 int nocache; 203 int nocache;
204 int noplainemail; 204 int noplainemail;
205 int noheader; 205 int noheader;
206 int renamelimit; 206 int renamelimit;
207 int remove_suffix; 207 int remove_suffix;
208 int snapshots; 208 int snapshots;
209 int summary_branches; 209 int summary_branches;
210 int summary_log; 210 int summary_log;
211 int summary_tags; 211 int summary_tags;
212 int ssdiff; 212 int ssdiff;
213 struct string_list mimetypes; 213 struct string_list mimetypes;
214 struct cgit_filter *about_filter; 214 struct cgit_filter *about_filter;
215 struct cgit_filter *commit_filter; 215 struct cgit_filter *commit_filter;
216 struct cgit_filter *source_filter; 216 struct cgit_filter *source_filter;
217}; 217};
218 218
219struct cgit_page { 219struct cgit_page {
220 time_t modified; 220 time_t modified;
221 time_t expires; 221 time_t expires;
222 size_t size; 222 size_t size;
223 char *mimetype; 223 char *mimetype;
224 char *charset; 224 char *charset;
225 char *filename; 225 char *filename;
226 char *etag; 226 char *etag;
227 char *title; 227 char *title;
228 int status; 228 int status;
229 char *statusmsg; 229 char *statusmsg;
230}; 230};
231 231
232struct cgit_environment { 232struct cgit_environment {
233 char *cgit_config; 233 char *cgit_config;
234 char *http_host; 234 char *http_host;
235 char *https; 235 char *https;
236 char *no_http; 236 char *no_http;
237 char *path_info; 237 char *path_info;
238 char *query_string; 238 char *query_string;
239 char *request_method; 239 char *request_method;
240 char *script_name; 240 char *script_name;
241 char *server_name; 241 char *server_name;
242 char *server_port; 242 char *server_port;
243}; 243};
244 244
245struct cgit_context { 245struct cgit_context {
246 struct cgit_environment env; 246 struct cgit_environment env;
247 struct cgit_query qry; 247 struct cgit_query qry;
248 struct cgit_config cfg; 248 struct cgit_config cfg;
249 struct cgit_repo *repo; 249 struct cgit_repo *repo;
250 struct cgit_page page; 250 struct cgit_page page;
251}; 251};
252 252
253struct cgit_snapshot_format { 253struct cgit_snapshot_format {
254 const char *suffix; 254 const char *suffix;
255 const char *mimetype; 255 const char *mimetype;
256 write_archive_fn_t write_func; 256 write_archive_fn_t write_func;
257 int bit; 257 int bit;
258}; 258};
259 259
260extern const char *cgit_version; 260extern const char *cgit_version;
261 261
262extern struct cgit_repolist cgit_repolist; 262extern struct cgit_repolist cgit_repolist;
263extern struct cgit_context ctx; 263extern struct cgit_context ctx;
264extern const struct cgit_snapshot_format cgit_snapshot_formats[]; 264extern const struct cgit_snapshot_format cgit_snapshot_formats[];
265 265
266extern struct cgit_repo *cgit_add_repo(const char *url); 266extern struct cgit_repo *cgit_add_repo(const char *url);
267extern struct cgit_repo *cgit_get_repoinfo(const char *url); 267extern struct cgit_repo *cgit_get_repoinfo(const char *url);
268extern void cgit_repo_config_cb(const char *name, const char *value); 268extern void cgit_repo_config_cb(const char *name, const char *value);
269 269
270extern int chk_zero(int result, char *msg); 270extern int chk_zero(int result, char *msg);
271extern int chk_positive(int result, char *msg); 271extern int chk_positive(int result, char *msg);
272extern int chk_non_negative(int result, char *msg); 272extern int chk_non_negative(int result, char *msg);
273 273
274extern char *trim_end(const char *str, char c); 274extern char *trim_end(const char *str, char c);
275extern char *strlpart(char *txt, int maxlen); 275extern char *strlpart(char *txt, int maxlen);
276extern char *strrpart(char *txt, int maxlen); 276extern char *strrpart(char *txt, int maxlen);
277 277
278extern void cgit_add_ref(struct reflist *list, struct refinfo *ref); 278extern void cgit_add_ref(struct reflist *list, struct refinfo *ref);
279extern int cgit_refs_cb(const char *refname, const unsigned char *sha1, 279extern int cgit_refs_cb(const char *refname, const unsigned char *sha1,
280 int flags, void *cb_data); 280 int flags, void *cb_data);
281 281
282extern void *cgit_free_commitinfo(struct commitinfo *info); 282extern void *cgit_free_commitinfo(struct commitinfo *info);
283 283
284extern int cgit_diff_files(const unsigned char *old_sha1, 284extern int cgit_diff_files(const unsigned char *old_sha1,
285 const unsigned char *new_sha1, 285 const unsigned char *new_sha1,
286 unsigned long *old_size, unsigned long *new_size, 286 unsigned long *old_size, unsigned long *new_size,
287 int *binary, int context, int ignorews, 287 int *binary, int context, int ignorews,
288 linediff_fn fn); 288 linediff_fn fn);
289 289
290extern void cgit_diff_tree(const unsigned char *old_sha1, 290extern void cgit_diff_tree(const unsigned char *old_sha1,
291 const unsigned char *new_sha1, 291 const unsigned char *new_sha1,
292 filepair_fn fn, const char *prefix, int ignorews); 292 filepair_fn fn, const char *prefix, int ignorews);
293 293
294extern void cgit_diff_commit(struct commit *commit, filepair_fn fn); 294extern void cgit_diff_commit(struct commit *commit, filepair_fn fn);
295 295
296__attribute__((format (printf,1,2)))
296extern char *fmt(const char *format,...); 297extern char *fmt(const char *format,...);
297 298
298extern struct commitinfo *cgit_parse_commit(struct commit *commit); 299extern struct commitinfo *cgit_parse_commit(struct commit *commit);
299extern struct taginfo *cgit_parse_tag(struct tag *tag); 300extern struct taginfo *cgit_parse_tag(struct tag *tag);
300extern void cgit_parse_url(const char *url); 301extern void cgit_parse_url(const char *url);
301 302
302extern const char *cgit_repobasename(const char *reponame); 303extern const char *cgit_repobasename(const char *reponame);
303 304
304extern int cgit_parse_snapshots_mask(const char *str); 305extern int cgit_parse_snapshots_mask(const char *str);
305 306
306extern int cgit_open_filter(struct cgit_filter *filter); 307extern int cgit_open_filter(struct cgit_filter *filter);
307extern int cgit_close_filter(struct cgit_filter *filter); 308extern int cgit_close_filter(struct cgit_filter *filter);
308 309
309extern int readfile(const char *path, char **buf, size_t *size); 310extern int readfile(const char *path, char **buf, size_t *size);
310 311
311extern char *expand_macros(const char *txt); 312extern char *expand_macros(const char *txt);
312 313
313#endif /* CGIT_H */ 314#endif /* CGIT_H */
diff --git a/html.h b/html.h
index 16d55ec..1135fb8 100644
--- a/html.h
+++ b/html.h
@@ -1,24 +1,27 @@
1#ifndef HTML_H 1#ifndef HTML_H
2#define HTML_H 2#define HTML_H
3 3
4extern int htmlfd; 4extern int htmlfd;
5 5
6extern void html_raw(const char *txt, size_t size); 6extern void html_raw(const char *txt, size_t size);
7extern void html(const char *txt); 7extern void html(const char *txt);
8
9__attribute__((format (printf,1,2)))
8extern void htmlf(const char *format,...); 10extern void htmlf(const char *format,...);
11
9extern void html_status(int code, const char *msg, int more_headers); 12extern void html_status(int code, const char *msg, int more_headers);
10extern void html_txt(const char *txt); 13extern void html_txt(const char *txt);
11extern void html_ntxt(int len, const char *txt); 14extern void html_ntxt(int len, const char *txt);
12extern void html_attr(const char *txt); 15extern void html_attr(const char *txt);
13extern void html_url_path(const char *txt); 16extern void html_url_path(const char *txt);
14extern void html_url_arg(const char *txt); 17extern void html_url_arg(const char *txt);
15extern void html_hidden(const char *name, const char *value); 18extern void html_hidden(const char *name, const char *value);
16extern void html_option(const char *value, const char *text, const char *selected_value); 19extern void html_option(const char *value, const char *text, const char *selected_value);
17extern void html_link_open(const char *url, const char *title, const char *class); 20extern void html_link_open(const char *url, const char *title, const char *class);
18extern void html_link_close(void); 21extern void html_link_close(void);
19extern void html_fileperm(unsigned short mode); 22extern void html_fileperm(unsigned short mode);
20extern int html_include(const char *filename); 23extern int html_include(const char *filename);
21 24
22extern int http_parse_querystring(const char *txt, void (*fn)(const char *name, const char *value)); 25extern int http_parse_querystring(const char *txt, void (*fn)(const char *name, const char *value));
23 26
24#endif /* HTML_H */ 27#endif /* HTML_H */