home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / GAPCDR.ZIP / GAPSTRUC.H < prev   
Encoding:
Text File  |  1989-03-17  |  16.8 KB  |  322 lines

  1. /*
  2.    Copyright (C) 1988,1989 The GAP Development Company
  3.  
  4.    All Rights Reserved
  5.    
  6.    This source code is considered to be confidential information proprietary
  7.    to The GAP Development Company.  It is prohibited and punishable by law
  8.    to use or duplicate any part of this information.
  9.  
  10.  
  11.    GAPSTRUC.H
  12.  
  13.    Header file for GAPCDR modules
  14.  
  15.  
  16. */
  17.  
  18.  
  19.             /*****************************************************/
  20.             /*          GAPBBS.CNF  Configuration File           */
  21.             /*****************************************************/
  22.  
  23.    struct
  24.       {
  25.       char sysname        [16];            /* sysop name                   */
  26.       char syspas         [13];            /* sysop local password         */
  27.       char sys_read       [4];             /* level to read private mail   */
  28.       char sys_edit       [4];             /* level to edit msg headers    */
  29.       char sys_level1     [4];             /* level to view callers log    */
  30.       char sys_level2     [4];             /* level to view users          */
  31.       char sys_level7     [4];             /* level to recover messages    */
  32.       char overwrite      [4];             /* level to overwrite uploads   */
  33.       char sys_level3     [4];             /* level to view a file         */
  34.       char sys_level4     [4];             /* level to maintain user file  */
  35.       char sub_days       [4];             /* # of days in subscrip period */
  36.       char sys_level5     [4];             /* level to exit to dos         */
  37.       char sys_level5a    [4];             /* level to execute dos funcs   */
  38.       char sys_level6     [4];             /* level to view other nodes    */
  39.       char sys_level6a    [4];             /* level to log off other node  */
  40.  
  41.       char answer         [8];             /* questionnaire answers file   */
  42.       char caller         [7];             /* caller file                  */
  43.       char doors          [9];             /* doors.dat file               */
  44.       char forumdat       [9];             /* name of forum (.DAT) file    */
  45.       char entry_news     [8];             /* news file                    */
  46.       char exit_news      [8];             /* exit news file               */
  47.       char pwrd           [9];             /* time / security file         */
  48.       char fsec           [9];             /* files security file          */
  49.       char msgs           [9];             /* messages file                */
  50.       char new_welcome    [8];             /* new user welcome file        */
  51.       char answer_regis   [8];             /* not used                     */
  52.       char remote         [9];             /* remote.sys file              */
  53.       char tcan           [9];             /* trashcan file                */
  54.       char users          [9];             /* users file                   */
  55.       char welcome        [8];             /* welcome file                 */
  56.  
  57.       char uploads        [26];            /* upload directory             */
  58.       char gen            [26];            /* general directory            */
  59.       char maindir        [26];            /* main directory               */
  60.       char help           [26];            /* help directory               */
  61.       char up_dir         [26];            /* upload DIR listing path      */
  62.       } config;
  63.  
  64.  
  65.  
  66.    struct GAP_USER
  67.       {
  68.       char fname     [16];                 /* first name                    */
  69.       char lname     [16];                 /* last name                     */
  70.       char handle    [16];                 /* handle for MPART!             */
  71.       char city      [30];                 /* city, state                   */
  72.       char passwd    [13];                 /* password                      */
  73.       char hphone    [14];                 /* homephone                     */
  74.       char bphone    [14];                 /* work/data phone               */
  75.       char subscribe  [9];                 /* subscription date             */
  76.       int  level;                          /* security - up to 255          */
  77.       long timeson;                        /* times on - over 2 billion     */
  78.       char lastdate   [9];                 /* last date on - mm/dd/yy       */
  79.       char lasttime   [6];                 /* last time on - hh:mm          */
  80.       long ttlmins;                        /* total mins on - 2+ billion    */
  81.       int  minutes;                        /* # of minutes last call        */
  82.       long uploads;                        /* # of uploads - 2+ billion     */
  83.       long downloads;                      /* # of downloads - 2+ billion   */
  84.       long ttlbytes;                       /* total bytes downloaded        */ 
  85.       long curbytes;                       /* bytes downloaded this call    */
  86.       char private;                        /* allow on private nodes?       */
  87.       char protocol   [3];                 /* transfer protocol             */
  88.       int  page;                           /* page length - to 23           */
  89.       char lastdir    [9];                 /* date last looked at dir       */
  90.       long lastmsg;                        /* last message read - 99999 max */
  91.       long mesread;                        /* total msgs read - 2+ billion  */
  92.       long mesleft;                        /* total messages left           */
  93.       long forum_joined;                   /* total forums joined           */
  94.       long blts_read;                      /* total bulletins read          */
  95.       long doors_opened;                   /* total doors opened            */
  96.       int  lastconf;                       /* last forum in                 */
  97.       char expert;                         /* novice = N, expert = Y        */
  98.       char sysop;                          /* sysop record, 1 = Y, 0 = N    */
  99.       long upbytes;                        /* total bytes uploaded          */
  100.       int curdown;                         /* total files downed today      */
  101.       char mem1       [40];                /* member of this forum?         */
  102.       long mes1       [40];                /* last message read for each cnf */
  103.       }user;                               /* total of 420 bytes for user record */
  104.  
  105.  
  106.  
  107.    /******************************************************************/
  108.    /*   Record Structure For GAPDOS.DAT                              */
  109.    /*                                                                */
  110.    /*   Contains information on remote sysop exit to dos, and user   */
  111.    /*   exit thru a door.                                            */
  112.    /******************************************************************/
  113.  
  114.    struct GAPDOS                     /* structure of GAPDOS.DAT        */
  115.       {
  116.       char userfirst  [16];          /* user's first name              */
  117.       char username   [32];          /* user's full name               */
  118.       char userindex  [45];          /* user's index into User file    */
  119.       long callbytes;                /* bytes available to dwnload     */
  120.       long starttime;                /* time user logged on            */
  121.       int minavail;                  /* total mins available           */
  122.       int timecredit;                /* time credits (minutes)         */
  123.       int forumnum;                  /* forum number in                */
  124.       int baud;                      /* our bps rate                   */
  125.       int port;                      /* com port used                  */
  126.       int color;                     /* color flag  0 = no, 1 = yes    */
  127.       int local;                     /* 0 = user,1 = sysop,2 = local   */
  128.       int givetime;                  /* non zero if received xtra time */
  129.       long joined;                   /* bit flags for forums joined    */
  130.       int maxfiles;                  /* max files can dwnload per day  */
  131.       int userbaud;                  /* user's baud rate               */
  132.       char exitdos;                  /* 1 = exiting to DOS after call  */
  133.       char didnew;                   /* 1 = did a new files scan       */
  134.       }gapdos;
  135.  
  136.  
  137.    struct PCBSYS14                       /* structure of PCBOARD.SYS    */
  138.       {
  139.       char display      [2];             /* display on/off -1=on,0=off  */
  140.       char printer      [2];             /* printer on/off -1=on,0=off  */
  141.       char pagebell     [2];             /* page bell      -1=on,0=off  */
  142.       char calleralarm  [2];             /* caller alarm   -1=on,0=off  */
  143.       char sysopnext;                    /* sysop on next  N,X,space    */
  144.       char errcorrect   [2];             /* ecc modem      -1=yes,0=no  */
  145.       char color;                        /* color toggle   Y,N,7        */
  146.       char nu;                           /* node chat, not provided     */
  147.       char baud         [5];             /* com port bps rate           */
  148.       char userbaud     [5];             /* call bps rate               */
  149.       int  userrec;                      /* user record position        */
  150.       char userfirst   [15];             /* caller's first name         */
  151.       char password    [12];             /* users password              */
  152.       int timeon;                        /* time user logged on (mins)  */
  153.       int timeused;                      /* time user has used that day */
  154.       char ctime        [5];             /* time user logged on hh:mm   */
  155.       int timeallowed;                   /* allowed time in minutes     */
  156.       int ttlbytes;                      /* total bytes available /1024 */
  157.       char forumnum;                     /* forum user was in "0" = main*/
  158.       char nu1          [5];             /* areas been in, not provided */
  159.       char nu2          [5];             /* areas scanned, not provided */
  160.       int timegiven;                     /* highest forum time given    */
  161.       int timecredit;                    /* time credit in minutes      */
  162.       char nu3          [4];             /* language being used         */
  163.       char username    [25];             /* name of caller              */
  164.       int minsleft;                      /* minutes left for caller     */
  165.       char node;                         /* node number (short int)     */
  166.       char event        [5];             /* event time hh:mm            */
  167.       char event_active [2];             /* event active  -1=yes,0=no   */
  168.       char slide_event  [2];             /* slide event   -1=yes,0=no   */
  169.       char nu4          [4];             /* memorized mess #, not prov  */
  170.       char port;                         /* com port, '0','1','2'       */
  171.       char nu5          [2];             /* not used                    */
  172.       }pcbsys;
  173.  
  174.  
  175.    /******************************************************************/
  176.    /*  you will need to consult the pcb documentation for a more     */
  177.    /*  detailed explanation of these fields.  Note that any          */
  178.    /*  double or float fields will have to be converted with the     */
  179.    /*  appropriate C conversion function.                            */
  180.    /******************************************************************/
  181.  
  182.    struct PCBUSER14                      /* structure for PCB USERS     */
  183.       {
  184.       char name         [25];            /* users full name             */
  185.       char city         [24];            /* users home town             */
  186.       char passwd       [12];            /* users password              */
  187.       char bphone       [13];            /* users data phone number     */
  188.       char hphone       [13];            /* users home phone number     */
  189.       char lastdate      [6];            /* last date on as yymmdd (sic)*/
  190.       char lasttime      [5];            /* last time on as hh:mm       */
  191.       char expert;                       /* expert mode                 */
  192.       char protocol;                     /* protol being used           */
  193.       char nu;                           /* not used                    */
  194.       char lastdir       [6];            /* last directory date yymmdd  */
  195.       char level;                        /* users level as short int    */
  196.       int  timeson;                      /* # of times on               */
  197.       char page;                         /* page length as short int    */
  198.       int  uploads;                      /* # of uploads                */
  199.       int  downloads;                    /* # of downloads              */
  200.       double curdown;                    /* current down bytes          */
  201.       char comment1     [30];            /* comment                     */
  202.       char comment2     [30];            /* comment                     */
  203.       int elap;                          /* elapsed time                */  
  204.       char regisdate     [6];            /* registration date yymmdd    */
  205.       char exp_level;                    /* expired security level      */
  206.       char lastconf;                     /* last forum in               */
  207.       char forum_regis   [5];            /* you figure it out cause     */
  208.       char forum_exp     [5];            /* these fields are definately */
  209.       char forum_scan    [5];            /* NOT bit maps!               */
  210.       double downbytes;                  /* total downbytes             */
  211.       double upbytes;                    /* total upbytes               */
  212.       char delete;                       /* deleted user                */
  213.       float lastmsg;                     /* last msg read               */
  214.       float lastmsg1    [39];            /* last msg read in forums     */
  215.       char nu1          [15];            /* not used                    */
  216.       } pcbuser;                         /* 400 bytes                   */
  217.  
  218.  
  219. #define YES 1                        /* used when calling show_mess()   */
  220. #define NO  0
  221.  
  222.  
  223. #ifndef FBIT
  224. #define FBIT 0x100
  225. #define TAB  9
  226. #define ESC  0x1b
  227. #endif
  228.  
  229. #define F1  59 + FBIT
  230. #define F2  60 + FBIT
  231. #define F3  61 + FBIT
  232. #define F4  62 + FBIT
  233. #define F5  63 + FBIT
  234. #define F6  64 + FBIT
  235. #define F7  65 + FBIT
  236. #define F8  66 + FBIT
  237. #define F9  67 + FBIT
  238. #define F10 68 + FBIT
  239. #define F11 171 + FBIT
  240. #define F12 172 + FBIT
  241. #define CF10 103 + FBIT
  242.  
  243. #define HOME_KEY  71 + FBIT
  244. #define END_KEY   79 + FBIT
  245. #define PGUP      73 + FBIT
  246. #define PGDN      81 + FBIT
  247. #define CUR_LEFT  75 + FBIT
  248. #define CUR_RIGHT 77 + FBIT
  249. #define CUR_UP    72 + FBIT
  250. #define CUR_DOWN  80 + FBIT
  251.  
  252. #define CTRLK   11
  253. #define CTRLX   24
  254.  
  255.  
  256.    /* prototypes for GAPCDR functions */
  257.  
  258.    extern  FILE * pascal read_cnf(char *fname);
  259.    extern  int pascal read_doorsys(void );
  260.    extern  int pascal open_gap(void );
  261.    extern  int pascal init_door(void );
  262.    extern  void pascal empty(unsigned char *str,int len);
  263.    extern  char *trim(char *str);
  264.    extern  void pascal get_string(char *fld);
  265.    extern  void pascal backspace(int howmany);
  266.    extern  void pascal nl(char howmany);
  267.    extern  void pascal pause(void );
  268.    extern  void pascal ansi(char *ansicolor);
  269.    extern  void pascal elap_time(void );
  270.    extern  void pascal time_left(void );
  271.    extern  int pascal getakey(void );
  272.    extern  void pascal putachar(int c);
  273.    extern  void pascal show_file(char *filename);
  274.    extern  void pascal update_clock(void );
  275.    extern  void pascal set_status(int update);
  276.    extern  void pascal more(void );
  277.    extern  void pascal show_mess(char *vstring,char flag,char newline);
  278.    extern  int pascal ckeypress(void );
  279.    extern  void pascal no_carrier(void );
  280.    extern  void pascal clear_scrn(void );
  281.    extern  void pascal do_chat(void );
  282.    extern  void pascal time_credit(int how);
  283.    extern  void pascal pagesysop(void );
  284.    extern  int pascal read_gapdos(void );
  285.    extern  int pascal read_gapuser(void );
  286.    extern  int pascal read_pcbsys(void );
  287.    extern  int pascal read_pcbuser(void );
  288.    extern  int pascal write_gapdos(void );
  289.    extern  int pascal write_gapuser(void );
  290.    extern  int pascal write_pcbsys(void );
  291.    extern  int pascal write_pcbuser(void );
  292.    extern  void pascal write_score(char * datfile,unsigned long score);
  293.    extern  int pascal read_score(char * datfile,char * message);
  294.    extern  void pascal leave(int how);
  295.  
  296.  
  297.    /* prototypes for private GAPCDR functions */
  298.  
  299.    extern  void pascal init_com(void );
  300.    extern  void pascal wrap_word(void );
  301.    extern  void pascal putkey(int c);
  302.    extern  int pascal get_random(int low,int high);
  303.    extern  void pascal sound(unsigned int f, int dur);
  304.  
  305.    extern  void pascal cls(void);
  306.    extern  void pascal scroll(void);
  307.    extern  int pascal getkeyc(void);
  308.    extern  int pascal cursor(char status);
  309.    extern  int pascal access1(char *);
  310.  
  311.    /*  GAPCDR com function prototypes */
  312.  
  313.    extern  int pascal com1(int);
  314.    extern  int pascal com2(int,int);
  315.    extern  int pascal com4(int);
  316.    extern  unsigned int pascal com8(int,char *,int);
  317.    extern  int pascal com9(int,int);
  318.    extern  unsigned int pascal com10(int);
  319.    extern  unsigned int pascal com11(int);
  320.    extern  int pascal com12(int);
  321.  
  322.