/***************************************************************************
 *                                                                         *
 *   BBSRPT.H                                                              *
 *                                                                         *
 *   Copyright (c) 1992-1997 Galacticomm, Inc.    All Rights Reserved.     *
 *                                                                         *
 *   Worldgroup Offline Report Utility header file.                        *
 *                                                                         *
 *                                                     E. Bush  2/17/92    *
 *                                                                         *
 ***************************************************************************/

#ifndef __BBSRPT_H
#define __BBSRPT_H

#ifdef __cplusplus
extern "C" {
#endif // __cplusplus

static VOID mnmenu(VOID);
static VOID endprg(VOID);
static VOID acclbl(VOID);
static GBOOL myvalid(INT c,CHAR *stg);
static INT cisazp(CHAR *stg);
static INT pcmtch(CHAR *input,CHAR *picstg);
INT cmtch(CHAR c,CHAR pc);
INT efflen(CHAR *stg);
VOID refmt(CHAR *stg,CHAR *rts);
INT alblank(CHAR *stg);
VOID accusr(VOID);
VOID foracs(VOID);
VOID prtqsc(VOID);
INT procqsc(VOID);
VOID prtleg(VOID);
VOID prtdln(VOID);
INT rdautl(USHORT forum);
INT fndakey(CHAR *lock,CHAR *keylist);
VOID loknky(VOID);
static VOID dspkey(CHAR *keyr,INT ring);
static INT getkey(CHAR *uid);
VOID remacs(VOID);
VOID prtrsy(VOID);
VOID procrsy(VOID);
VOID prtlst(VOID);
INT anyaxs(VOID);
INT axs4op(INT op);
VOID usrcls(VOID);
VOID swtch(VOID);
CHAR *fgvchk(VOID);
VOID forqsc(VOID);
VOID cycqsc(VOID);
INT prcusrs(USHORT forum);
VOID prtshdr(USHORT forum);
VOID audscn(VOID);
VOID audmenu(VOID);
VOID audumenu(VOID);
VOID auddat1(VOID);
VOID auddat2(VOID);
VOID setscn(CHAR *stg1,CHAR *stg2,CHAR *desc,INT addcrd);
VOID pwhere(VOID);
VOID foward(VOID);
GBOOL fwdchk(INT c,CHAR *stg);
VOID audprtmnu(VOID);
VOID audprtumnu(VOID);
VOID strsch(VOID);
VOID eofrpt(INT abt);
VOID norecs(VOID);
LONG scncrd(CHAR *stg);
VOID prtcen(INT y,CHAR *stg);
INT finup(VOID);
VOID finup2(VOID);
VOID gtuid(VOID);
static INT agetstr(VOID);
static GBOOL valsch(INT c);
INT stgsbs(CHAR *stg1,CHAR *stg2,INT cas);
INT whrout(VOID);
INT getfil(VOID);
GBOOL valfil(INT c);
VOID draw(INT cleanup);
VOID newpos(CHAR ch,INT cleanup);
INT getdat(VOID);
GBOOL chkdate(CHAR *stg);
INT cancel(VOID);
VOID baddat(VOID);
VOID endrpt(VOID);
VOID shtdwn(VOID);
VOID initgme(VOID);
VOID closgme(VOID);

#define home() locate(01,01)       /* where to hide the cursor             */

#define DATESIZ     11             /* Search Date Size                     */
#define RETKEY      13             /* Return key scan code                 */
#define ESCKEY      27             /* Escape key scan code                 */

#define NUMSCN       7             /* number of screen files for asm's     */

#define STGSIZ      40             /* Search String Size                   */
#define SCHSTG      35             /* Random Search String Size            */
#define NAMESIZ     40             /* Output file name size                */
#define CTRLS       19             /* Ctrl-S scan code                     */

#define MNMENU  1
#define ACCLBL  2
#define ACCUSR  3
#define FORACS  4
#define LOKNKY  5
#define REMACS  6
#define ENDPRG  7
#define USRCLS  8
#define FORQSC  9
#define AUDSCN 10

/* audscan area sub states */
#define AUDMENU     1
#define AUDPRTMNU   2
#define AUDPWHERE2  3
#define AUDWHERE2   4
#define AUDFOWARD   5
#define AUDGETUID   6
#define AUDGETDAT1  7
#define AUDGETDAT2  8
#define AUDSTRSCH   9
#define AUDCNTSCH   10
#define AUDUMENU    11
#define AUDPRTUMNU  12

#ifdef __cplusplus
}; // extern "C"
#endif // __cplusplus

#endif                             /* __BBSRPT_H                           */
