/* This file was automatically generated. Do not edit! */ void db_query_free(char **az); void output_formatted(const char *zText,const char *zPageId); void db_execute(const char *zFormat,...); void attachment_delete(void); int ok_to_delete_attachment(int addTime,const char *zUser); void login_needed(void); void attachment_get(void); void db_callback_query(int(*xCallback)(void *,int,char **,char **),void *pArg,const char *zFormat,...); void attachment_output(int atn); const char *cgi_append_content(const char *zData,int nAmt); char *cgi_rfc822_datestamp(time_t now); void cgi_append_header(const char *zLine); void cgi_modified_since(time_t objectTime); void cgi_set_content_type(const char *zType); void common_footer(void); void append_formatting_hints(void); int attachment_html(const char *zPage,const char *zBefore,const char *zAfter); void cgi_printf(const char *zFormat,...); char *wiki_expand_name(const char *z); char *db_short_query(const char *zFormat,...); void common_header(const char *zTitle,...); void ticket_notify(int tn,int first_change,int last_change,int atn); char **db_query(const char *zFormat,...); void db_err(const char *zReason,const char *zQuery,const char *zFormat,...); sqlite3 *db_open(void); void common_add_action_item(const char *zUrl,const char *zName); void common_add_help_item(const char *zWikiPage); int is_wiki_name(const char *z); int is_home_page(const char *zPage); int is_user_page(const char *zId); void cgi_redirect(const char *zURL); typedef struct Global Global; typedef struct Scm Scm; struct Scm { const char *zSCM; /* Which SCM subsystem is supported (i.e. "cvs") */ const char *zName; /* User-readable SCM name (i.e. "Subversion") */ int canFilterModules; /* non-zero if the SCM can filter modules */ int (*pxHistoryUpdate)(int isReread); int (*pxDiffVersions)(const char *zOldVersion, const char *zNewVersion, const char *zFile); int (*pxDiffChng)(int cn, int bRaw); int (*pxIsFileAvailable)(const char *zFile); int (*pxDumpVersion)(const char *zVers, const char *zFile, int bRaw); int (*pxUserRead)(); int (*pxUserWrite)(const char *zOmit); }; #define MX_AUX 10 struct Global { int argc; char **argv; /* Command-line arguments to the program */ struct Scm scm; /* SCM-specific variables, callbacks, etc */ const char *zName; /* Base name of the program */ const char *zUser; /* Name of the user */ const char *zHumanName; /* Human readable name of the user */ char *zBaseURL; /* Absolute base URL for any CVSTrac page */ char *zLinkURL; /* URL prefixed to all output URLs */ char *zPath; /* The URL for the current page */ char *zExtra; /* Additional path information following g.zPath */ int okCheckout; /* True if the user has CVS checkout permission */ int okCheckin; /* True if the user has CVS checkin permission */ int okNewTkt; /* True if the user can create new tickets */ int okRead; /* True if the user may view tickets */ int okPassword; /* True if the user may change his password */ int okWrite; /* True if the user can edit tickets */ int okAdmin; /* True if the user has administrative permission */ int okSetup; /* True if the user has setup permission */ int okRdWiki; /* True if the user can read wiki pages */ int okWiki; /* True if the user can write wiki pages */ int okDelete; /* True if able to delete wiki or tickets */ int okQuery; /* True if able to create new reports */ int isAnon; /* Anonymous user (not logged in) */ int isConst; /* True if the page is constant and cacheable. */ int okTicketLink; /* True for ticket info link titles */ int okCheckinLink; /* True for chng info link titles */ int noFollow; /* Output links with rel="nofollow" */ /* Storage for the aux() and/or option() SQL function arguments */ int nAux; /* Number of distinct aux() or option() values */ const char *azAuxName[MX_AUX]; /* Name of each aux() or option() value */ char *azAuxParam[MX_AUX]; /* Param of each aux() or option() value */ const char *azAuxVal[MX_AUX]; /* Value of each aux() or option() value */ const char **azAuxOpt[MX_AUX]; /* Options of each option() value */ int anAuxCols[MX_AUX]; /* Number of columns for option() values */ }; extern Global g; char *mprintf(const char *zFormat,...); int throttle(int exitOnOverload,int needCaptcha); void login_check_credentials(void); void common_err(const char *zFormat,...); const char *cgi_parameter(const char *zName,const char *zDefault); #define P(x) cgi_parameter((x),0) #define PD(x,y) cgi_parameter((x),(y)) void attachment_add(void); const char *db_config(const char *zName,const char *zDefault); int attachment_max(void);