add a 'blob' query parameter which is used for content when editing
[webgit] / src / webgit.h
1 /*
2     cehtehs git web frontend
3
4   Copyright (C)
5     2007,               Christian Thaeter <ct@pipapo.org>
6
7   This program is free software; you can redistribute it and/or
8   modify it under the terms of the GNU General Public License as
9   published by the Free Software Foundation; either version 2 of the
10   License, or (at your option) any later version.
11
12   This program is distributed in the hope that it will be useful,
13   but WITHOUT ANY WARRANTY; without even the implied warranty of
14   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   GNU General Public License for more details.
16
17   You should have received a copy of the GNU General Public License
18   along with this program; if not, write to the Free Software
19   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 */
21 #ifndef WEBGIT_H
22 #define WEBGIT_H
23
24 #include "cwa.h"
25
26 #include "llist.h"
27
28 extern Html error_log;
29
30 struct webgit_query
31 {
32   Cgi request;
33   time_t now;
34
35   int deref_to_tree;
36
37   char* content_type;
38
39   /* confiuration parameters */
40   char* stylesheet;
41   int count_def;
42   char* rxpd_name;
43   unsigned rxpd_port;
44   //int cache_read;
45   //int cache_write;
46   //int cache_expire;
47
48   /* cgi parameters*/
49   char* repo;
50   char* action;
51   char* object;
52   char* head;
53   char* path;
54   char* blob;
55   size_t blob_size;
56   int count;
57
58   /* list of repositories */
59   llist repos;
60 };
61
62
63 struct webgit_repo_info
64 {
65   llist node;
66
67   struct webgit_query* query;
68
69   char* path;
70   char* name;
71   char* owner;
72   char* description;
73   char* url;
74   char* readme;
75
76   char* last_commit;
77   char* last_tree;
78   char* last_head;
79   char* last_committer_name;
80   char* last_committer_email;
81   char* last_author_name;
82   char* last_author_email;
83
84   unsigned long age;
85 };
86
87
88 Html
89 webgit_email_link (Html name, Html email);
90
91 char*
92 webgit_mimetype (const char* name);
93
94 void
95 webgit_err (const char *err, ...);
96
97 void
98 webgit_warn (const char *err, ...);
99
100
101 #endif