#ifndef VOLGIT_SYSTEM_PART_H #define VOLGIT_SYSTEM_PART_H VOLGIT_SYSTEM_PART_H #include #include #include #include #include #include #include #define NO_TREE_CUTOFF -1 #define MAX_CUTOFF 1024 extern const char *const default_header; extern const char *const default_footer; extern struct Volgit_State { const char *input_path; const char *output_path; /*pointers to the actual text from the header and footer files*/ const char *header; const char *footer; int output_dir_fd; int tree_cutoff; /*-1 means no cutoff*/ _Bool output_is_tree_like; }state; void die(const char *format, ...); void parse_options(int argc,char **argv); char* read_file(const char *filename); int create_branch_dir(const char *branch_name); FILE* create_file(int branch_dir,const char *filename); void close_file(FILE *file); int create_dir(int base_dir,const char *dir_name); void push_html_link_for_blob(FILE *out,const char *filename,const char *oid); void push_html_link_for_tree(FILE *out,const char *filename,const char *oid); #endif