/*
* The valid cgit repo-commands
*/
-#define CMD_LOG = 1;
-#define CMD_COMMIT = 1;
-#define CMD_DIFF = 1;
-#define CMD_TREE = 1;
-#define CMD_VIEW = 1;
-#define CMD_BLOB = 1;
-#define CMD_SNAPSHOT = 1;
+#define CMD_LOG 1
+#define CMD_COMMIT 2
+#define CMD_DIFF 3
+#define CMD_TREE 4
+#define CMD_VIEW 5
+#define CMD_BLOB 6
+#define CMD_SNAPSHOT 7
+
+
+/*
+ * Dateformats used on misc. pages
+ */
+#define FMT_LONGDATE "%Y-%m-%d %H:%M:%S"
+#define FMT_SHORTDATE "%Y-%m-%d"
+
+
+/*
+ * Limits used for relative dates
+ */
+#define TM_MIN 60
+#define TM_HOUR (TM_MIN * 60)
+#define TM_DAY (TM_HOUR * 24)
+#define TM_WEEK (TM_DAY * 7)
+#define TM_YEAR (TM_DAY * 365)
+#define TM_MONTH (TM_YEAR / 12.0)
+
typedef void (*configfn)(const char *name, const char *value);
typedef void (*filepair_fn)(struct diff_filepair *pair);
char *desc;
char *owner;
char *defbranch;
+ char *group;
char *module_link;
int snapshots;
int enable_log_filecount;
extern struct repolist cgit_repolist;
extern struct repoinfo *cgit_repo;
+extern int cgit_cmd;
extern char *cgit_root_title;
extern char *cgit_css;
extern char *cgit_logo;
+extern char *cgit_index_header;
extern char *cgit_logo_link;
extern char *cgit_module_link;
+extern char *cgit_agefile;
extern char *cgit_virtual_root;
extern char *cgit_script_name;
extern char *cgit_cache_root;
+extern char *cgit_repo_group;
extern int cgit_nocache;
extern int cgit_snapshots;
extern void html_link_open(char *url, char *title, char *class);
extern void html_link_close(void);
extern void html_filemode(unsigned short mode);
+extern int html_include(const char *filename);
extern int cgit_read_config(const char *filename, configfn fn);
extern int cgit_parse_query(char *txt, configfn fn);
extern struct commitinfo *cgit_parse_commit(struct commit *commit);
extern struct taginfo *cgit_parse_tag(struct tag *tag);
+extern void cgit_parse_url(const char *url);
extern char *cache_safe_filename(const char *unsafe);
extern int cache_lock(struct cacheitem *item);
const char *query);
extern void cgit_print_error(char *msg);
-extern void cgit_print_date(unsigned long secs);
+extern void cgit_print_date(time_t secs, char *format);
+extern void cgit_print_age(time_t t, time_t max_relative, char *format);
extern void cgit_print_docstart(char *title, struct cacheitem *item);
extern void cgit_print_docend();
extern void cgit_print_pageheader(char *title, int show_search);