home *** CD-ROM | disk | FTP | other *** search
- /*
- Copyright (C) 1988,1989 The GAP Development Company
-
- All Rights Reserved
-
- This source code is considered to be confidential information proprietary
- to The GAP Development Company. It is prohibited and punishable by law
- to use or duplicate any part of this information.
-
-
- GAPSTRUC.H
-
- Header file for GAPCDR modules
-
-
- */
-
-
- /*****************************************************/
- /* GAPBBS.CNF Configuration File */
- /*****************************************************/
-
- struct
- {
- char sysname [16]; /* sysop name */
- char syspas [13]; /* sysop local password */
- char sys_read [4]; /* level to read private mail */
- char sys_edit [4]; /* level to edit msg headers */
- char sys_level1 [4]; /* level to view callers log */
- char sys_level2 [4]; /* level to view users */
- char sys_level7 [4]; /* level to recover messages */
- char overwrite [4]; /* level to overwrite uploads */
- char sys_level3 [4]; /* level to view a file */
- char sys_level4 [4]; /* level to maintain user file */
- char sub_days [4]; /* # of days in subscrip period */
- char sys_level5 [4]; /* level to exit to dos */
- char sys_level5a [4]; /* level to execute dos funcs */
- char sys_level6 [4]; /* level to view other nodes */
- char sys_level6a [4]; /* level to log off other node */
-
- char answer [8]; /* questionnaire answers file */
- char caller [7]; /* caller file */
- char doors [9]; /* doors.dat file */
- char forumdat [9]; /* name of forum (.DAT) file */
- char entry_news [8]; /* news file */
- char exit_news [8]; /* exit news file */
- char pwrd [9]; /* time / security file */
- char fsec [9]; /* files security file */
- char msgs [9]; /* messages file */
- char new_welcome [8]; /* new user welcome file */
- char answer_regis [8]; /* not used */
- char remote [9]; /* remote.sys file */
- char tcan [9]; /* trashcan file */
- char users [9]; /* users file */
- char welcome [8]; /* welcome file */
-
- char uploads [26]; /* upload directory */
- char gen [26]; /* general directory */
- char maindir [26]; /* main directory */
- char help [26]; /* help directory */
- char up_dir [26]; /* upload DIR listing path */
- } config;
-
-
-
- struct GAP_USER
- {
- char fname [16]; /* first name */
- char lname [16]; /* last name */
- char handle [16]; /* handle for MPART! */
- char city [30]; /* city, state */
- char passwd [13]; /* password */
- char hphone [14]; /* homephone */
- char bphone [14]; /* work/data phone */
- char subscribe [9]; /* subscription date */
- int level; /* security - up to 255 */
- long timeson; /* times on - over 2 billion */
- char lastdate [9]; /* last date on - mm/dd/yy */
- char lasttime [6]; /* last time on - hh:mm */
- long ttlmins; /* total mins on - 2+ billion */
- int minutes; /* # of minutes last call */
- long uploads; /* # of uploads - 2+ billion */
- long downloads; /* # of downloads - 2+ billion */
- long ttlbytes; /* total bytes downloaded */
- long curbytes; /* bytes downloaded this call */
- char private; /* allow on private nodes? */
- char protocol [3]; /* transfer protocol */
- int page; /* page length - to 23 */
- char lastdir [9]; /* date last looked at dir */
- long lastmsg; /* last message read - 99999 max */
- long mesread; /* total msgs read - 2+ billion */
- long mesleft; /* total messages left */
- long forum_joined; /* total forums joined */
- long blts_read; /* total bulletins read */
- long doors_opened; /* total doors opened */
- int lastconf; /* last forum in */
- char expert; /* novice = N, expert = Y */
- char sysop; /* sysop record, 1 = Y, 0 = N */
- long upbytes; /* total bytes uploaded */
- int curdown; /* total files downed today */
- char mem1 [40]; /* member of this forum? */
- long mes1 [40]; /* last message read for each cnf */
- }user; /* total of 420 bytes for user record */
-
-
-
- /******************************************************************/
- /* Record Structure For GAPDOS.DAT */
- /* */
- /* Contains information on remote sysop exit to dos, and user */
- /* exit thru a door. */
- /******************************************************************/
-
- struct GAPDOS /* structure of GAPDOS.DAT */
- {
- char userfirst [16]; /* user's first name */
- char username [32]; /* user's full name */
- char userindex [45]; /* user's index into User file */
- long callbytes; /* bytes available to dwnload */
- long starttime; /* time user logged on */
- int minavail; /* total mins available */
- int timecredit; /* time credits (minutes) */
- int forumnum; /* forum number in */
- int baud; /* our bps rate */
- int port; /* com port used */
- int color; /* color flag 0 = no, 1 = yes */
- int local; /* 0 = user,1 = sysop,2 = local */
- int givetime; /* non zero if received xtra time */
- long joined; /* bit flags for forums joined */
- int maxfiles; /* max files can dwnload per day */
- int userbaud; /* user's baud rate */
- char exitdos; /* 1 = exiting to DOS after call */
- char didnew; /* 1 = did a new files scan */
- }gapdos;
-
-
- struct PCBSYS14 /* structure of PCBOARD.SYS */
- {
- char display [2]; /* display on/off -1=on,0=off */
- char printer [2]; /* printer on/off -1=on,0=off */
- char pagebell [2]; /* page bell -1=on,0=off */
- char calleralarm [2]; /* caller alarm -1=on,0=off */
- char sysopnext; /* sysop on next N,X,space */
- char errcorrect [2]; /* ecc modem -1=yes,0=no */
- char color; /* color toggle Y,N,7 */
- char nu; /* node chat, not provided */
- char baud [5]; /* com port bps rate */
- char userbaud [5]; /* call bps rate */
- int userrec; /* user record position */
- char userfirst [15]; /* caller's first name */
- char password [12]; /* users password */
- int timeon; /* time user logged on (mins) */
- int timeused; /* time user has used that day */
- char ctime [5]; /* time user logged on hh:mm */
- int timeallowed; /* allowed time in minutes */
- int ttlbytes; /* total bytes available /1024 */
- char forumnum; /* forum user was in "0" = main*/
- char nu1 [5]; /* areas been in, not provided */
- char nu2 [5]; /* areas scanned, not provided */
- int timegiven; /* highest forum time given */
- int timecredit; /* time credit in minutes */
- char nu3 [4]; /* language being used */
- char username [25]; /* name of caller */
- int minsleft; /* minutes left for caller */
- char node; /* node number (short int) */
- char event [5]; /* event time hh:mm */
- char event_active [2]; /* event active -1=yes,0=no */
- char slide_event [2]; /* slide event -1=yes,0=no */
- char nu4 [4]; /* memorized mess #, not prov */
- char port; /* com port, '0','1','2' */
- char nu5 [2]; /* not used */
- }pcbsys;
-
-
- /******************************************************************/
- /* you will need to consult the pcb documentation for a more */
- /* detailed explanation of these fields. Note that any */
- /* double or float fields will have to be converted with the */
- /* appropriate C conversion function. */
- /******************************************************************/
-
- struct PCBUSER14 /* structure for PCB USERS */
- {
- char name [25]; /* users full name */
- char city [24]; /* users home town */
- char passwd [12]; /* users password */
- char bphone [13]; /* users data phone number */
- char hphone [13]; /* users home phone number */
- char lastdate [6]; /* last date on as yymmdd (sic)*/
- char lasttime [5]; /* last time on as hh:mm */
- char expert; /* expert mode */
- char protocol; /* protol being used */
- char nu; /* not used */
- char lastdir [6]; /* last directory date yymmdd */
- char level; /* users level as short int */
- int timeson; /* # of times on */
- char page; /* page length as short int */
- int uploads; /* # of uploads */
- int downloads; /* # of downloads */
- double curdown; /* current down bytes */
- char comment1 [30]; /* comment */
- char comment2 [30]; /* comment */
- int elap; /* elapsed time */
- char regisdate [6]; /* registration date yymmdd */
- char exp_level; /* expired security level */
- char lastconf; /* last forum in */
- char forum_regis [5]; /* you figure it out cause */
- char forum_exp [5]; /* these fields are definately */
- char forum_scan [5]; /* NOT bit maps! */
- double downbytes; /* total downbytes */
- double upbytes; /* total upbytes */
- char delete; /* deleted user */
- float lastmsg; /* last msg read */
- float lastmsg1 [39]; /* last msg read in forums */
- char nu1 [15]; /* not used */
- } pcbuser; /* 400 bytes */
-
-
- #define YES 1 /* used when calling show_mess() */
- #define NO 0
-
-
- #ifndef FBIT
- #define FBIT 0x100
- #define TAB 9
- #define ESC 0x1b
- #endif
-
- #define F1 59 + FBIT
- #define F2 60 + FBIT
- #define F3 61 + FBIT
- #define F4 62 + FBIT
- #define F5 63 + FBIT
- #define F6 64 + FBIT
- #define F7 65 + FBIT
- #define F8 66 + FBIT
- #define F9 67 + FBIT
- #define F10 68 + FBIT
- #define F11 171 + FBIT
- #define F12 172 + FBIT
- #define CF10 103 + FBIT
-
- #define HOME_KEY 71 + FBIT
- #define END_KEY 79 + FBIT
- #define PGUP 73 + FBIT
- #define PGDN 81 + FBIT
- #define CUR_LEFT 75 + FBIT
- #define CUR_RIGHT 77 + FBIT
- #define CUR_UP 72 + FBIT
- #define CUR_DOWN 80 + FBIT
-
- #define CTRLK 11
- #define CTRLX 24
-
-
- /* prototypes for GAPCDR functions */
-
- extern FILE * pascal read_cnf(char *fname);
- extern int pascal read_doorsys(void );
- extern int pascal open_gap(void );
- extern int pascal init_door(void );
- extern void pascal empty(unsigned char *str,int len);
- extern char *trim(char *str);
- extern void pascal get_string(char *fld);
- extern void pascal backspace(int howmany);
- extern void pascal nl(char howmany);
- extern void pascal pause(void );
- extern void pascal ansi(char *ansicolor);
- extern void pascal elap_time(void );
- extern void pascal time_left(void );
- extern int pascal getakey(void );
- extern void pascal putachar(int c);
- extern void pascal show_file(char *filename);
- extern void pascal update_clock(void );
- extern void pascal set_status(int update);
- extern void pascal more(void );
- extern void pascal show_mess(char *vstring,char flag,char newline);
- extern int pascal ckeypress(void );
- extern void pascal no_carrier(void );
- extern void pascal clear_scrn(void );
- extern void pascal do_chat(void );
- extern void pascal time_credit(int how);
- extern void pascal pagesysop(void );
- extern int pascal read_gapdos(void );
- extern int pascal read_gapuser(void );
- extern int pascal read_pcbsys(void );
- extern int pascal read_pcbuser(void );
- extern int pascal write_gapdos(void );
- extern int pascal write_gapuser(void );
- extern int pascal write_pcbsys(void );
- extern int pascal write_pcbuser(void );
- extern void pascal write_score(char * datfile,unsigned long score);
- extern int pascal read_score(char * datfile,char * message);
- extern void pascal leave(int how);
-
-
- /* prototypes for private GAPCDR functions */
-
- extern void pascal init_com(void );
- extern void pascal wrap_word(void );
- extern void pascal putkey(int c);
- extern int pascal get_random(int low,int high);
- extern void pascal sound(unsigned int f, int dur);
-
- extern void pascal cls(void);
- extern void pascal scroll(void);
- extern int pascal getkeyc(void);
- extern int pascal cursor(char status);
- extern int pascal access1(char *);
-
- /* GAPCDR com function prototypes */
-
- extern int pascal com1(int);
- extern int pascal com2(int,int);
- extern int pascal com4(int);
- extern unsigned int pascal com8(int,char *,int);
- extern int pascal com9(int,int);
- extern unsigned int pascal com10(int);
- extern unsigned int pascal com11(int);
- extern int pascal com12(int);
-
-