/* This file was automatically generated.  Do not edit! */
void wikidodel_page(void);
void wikidel_page(void);
void wikitoc_page(void);
void append_formatting_hints(void);
char *is_edit_allowed(const char *zOld,const char *zNew);
char *remove_blank_lines(const char *zOrig);
void db_execute(const char *zFormat,...);
void wikiedit_page(void);
void wiki_diff(void);
int attachment_html(const char *zPage,const char *zBefore,const char *zAfter);
void output_wiki(const char *zText,const char *zLinkSuffix,const char *zPageId);
void common_link_header(const char *zUrl,const char *zTitle,...);
int attachment_max(void);
void common_add_help_item(const char *zWikiPage);
void wiki_page(void);
void output_user(const char *zUser);
char *format_user(const char *zUser);
int is_home_page(const char *zPage);
int db_exists(const char *zFormat,...);
int is_user_page(const char *zId);
const char *cgi_append_content(const char *zData,int nAmt);
void cgi_set_content_type(const char *zType);
char *cgi_rfc822_datestamp(time_t now);
void cgi_append_header(const char *zLine);
void cgi_modified_since(time_t objectTime);
int is_wiki_name(const char *z);
void wiki_text_page(void);
void cgi_printf(const char *zFormat,...);
void diff_strings(int nContext,const char *zString1,const char *zString2);
int bprintf(char *zBuf,int nBuflen,const char *zFormat,...);
int write_to_temp(const char *zText,char *zFile,size_t nLen);
char *wiki_expand_name(const char *z);
void common_footer(void);
int execute_tool(const char *zTool,const char *zAction,const char *zContent,const char **azTSubst);
const char *quotable_string(const char *z);
void common_header(const char *zTitle,...);
void common_standard_menu(const char *zOmit,const char *zSrchUrl);
char *db_short_query(const char *zFormat,...);
void common_err(const char *zFormat,...);
void history_update(int isReread);
int throttle(int exitOnOverload,int needCaptcha);
void login_needed(void);
void login_check_credentials(void);
void cgi_redirect(const char *zURL);
const char *cgi_parameter(const char *zName,const char *zDefault);
#define PD(x,y)     cgi_parameter((x),(y))
#define P(x)        cgi_parameter((x),0)
void wikitool(void);
void common_add_action_item(const char *zUrl,const char *zName);
char *mprintf(const char *zFormat,...);
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 **db_query(const char *zFormat,...);
void db_add_functions(void);


syntax highlighted by Code2HTML, v. 0.9.1