/* This file was automatically generated.  Do not edit! */
int db_exists(const char *zFormat,...);
void db_add_functions(void);
char *is_edit_allowed(const char *zOld,const char *zNew);
char *db_short_query(const char *zFormat,...);
int is_url(const char *z);
void captcha_page(void);
void common_add_nav_item(const char *zUrl,const char *zName);
const char *cgi_parameter(const char *zName,const char *zDefault);
#define PD(x,y)     cgi_parameter((x),(y))
void login_needed(void);
void throttle_info(void);
void stopper(void);
void common_add_help_item(const char *zWikiPage);
void common_add_action_item(const char *zUrl,const char *zName);
void login_check_credentials(void);
void honeypot(void);
void cgi_redirect(const char *zURL);
void db_execute(const char *zFormat,...);
char **db_query(const char *zFormat,...);
#define P(x)        cgi_parameter((x),0)
const char *db_config(const char *zName,const char *zDefault);
int throttle(int exitOnOverload,int needCaptcha);
void cgi_reply(void);
void cgi_set_status(int iStat,const char *zStat);
void cgi_append_header(const char *zLine);
void common_footer(void);
void cgi_printf(const char *zFormat,...);
void common_header(const char *zTitle,...);
void common_standard_menu(const char *zOmit,const char *zSrchUrl);
void cgi_reset_content(void);
void cgi_set_cookie(const char *zName,const char *zValue,const char *zPath,int lifetime);
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,...);


syntax highlighted by Code2HTML, v. 0.9.1