home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / g / gapcdrv6.zip / GAPSTRUC.H < prev    next >
C/C++ Source or Header  |  1992-05-12  |  16KB  |  325 lines

  1. /*
  2.    Copyright (C) 1988-1992 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. #pragma pack(1)                           // All structs must be packed
  17.  
  18.  
  19.    /******************************************************************/
  20.    /*  Record Structure For GAP'S USERS.DAT.                         */
  21.    /*                                                                */
  22.    /*  There are 4 indexes: IDX 1 = lname + fname (unique)           */
  23.    /*                       IDX 2 = lname + level (dupes allowed)    */
  24.    /*                       IDX 3 = handle (unique)                  */
  25.    /*                       IDX 4 = usernum (sequence #, unique)     */
  26.    /******************************************************************/
  27.  
  28.    struct GAP_USER
  29.       {
  30.       char fname     [16];                // first name
  31.       char lname     [16];                // last name
  32.       char handle    [16];                // handle for MPART!
  33.       char passwd    [13];                // password
  34.       char hphone    [16];   // *         // homephone
  35.       char bphone    [16];   // *         // work/data phone
  36.       char subscribe  [9];                // subscription date
  37.       short  level;                       // security - up to 255
  38.       long usernum;          // *         // user's sequence number
  39.       long timeson;                       // times on - over 2 billion
  40.       char lastdate   [9];                // last date on - mm/dd/yy
  41.       char lasttime   [6];                // last time on - hh:mm
  42.       long ttlmins;                       // total mins on - 2+ billion
  43.       short  minutes;                     // # of minutes last call
  44.       long uploads;                       // # of uploads - 2+ billion
  45.       long downloads;                     // # of downloads - 2+ billion
  46.       long ttlbytes;                      // total bytes downloaded
  47.       long curbytes;                      // bytes downloaded this call
  48.       char private;                       // allow on private nodes?
  49.       char protocol   [3];                // transfer protocol
  50.       short  page;                        // page length - to 23
  51.       char lastdir    [9];                // date last looked at dir
  52.       long lastmsg;                       // last message read - 99999 max
  53.       long mesread;                       // total msgs read - 2+ billion
  54.       long mesleft;                       // total messages left
  55.       long forum_joined;                  // total forums joined
  56.       long blts_read;                     // total bulletins read
  57.       long doors_opened;                  // total doors opened
  58.       unsigned short lastconf;            // last forum in
  59.       char expert;                        // novice = N, expert = Y
  60.       char sysop;                         // sysop record, 1 = Y, 0 = N
  61.       long upbytes;                       // total bytes uploaded
  62.       short curdown;                      // total files downed today
  63.       char birthdate  [9];                // user's birthdate
  64.       char comment   [51];                // comment about user
  65.  
  66.       // version 6 stuff
  67.  
  68.       char add1      [26];                // Company or address
  69.       char add2      [26];                // Address
  70.       char city      [26];                // City
  71.       char state     [11];                // State
  72.       char zip       [11];                // Zip
  73.       char country   [16];                // Country
  74.       char regis_date [9];                // Date 1st signed on
  75.       char enf_time;                      // Y = enforce time limit, N = dont
  76.       char editor;                        // V = visual, L = line, A = Ask
  77.       char chat;                          // Y/N if available for chat
  78.       char msgclr;                        // Y = clear screen between msgs
  79.       short newmsg;                       // > 0 if new mail in Main
  80.       short timecredit;                   // any time credits user might have
  81.       short expired;                      // Expired Subscription level
  82.       char pub_forums;                    // Y = when expired, remove from private forums
  83.       short discons;                      // number of disconnects (ALT-H)
  84.       long per_time;                      // time used during sub period
  85.       long nu;                            // to go with above at some point
  86.       char flags;                         // misc status flags
  87.       char nu1        [9];                // later additions
  88.       };                                  // 424 bytes
  89.  
  90.    struct PCBSYS14                        // structure of PCBOARD.SYS    
  91.       {
  92.       char display      [2];              // display on/off -1=on,0=off  
  93.       char printer      [2];              // printer on/off -1=on,0=off  
  94.       char pagebell     [2];              // page bell      -1=on,0=off  
  95.       char calleralarm  [2];              // caller alarm   -1=on,0=off  
  96.       char sysopnext;                     // sysop on next  N,X,space    
  97.       char errcorrect   [2];              // ecc modem      -1=yes,0=no  
  98.       char color;                         // color toggle   Y,N,7        
  99.       char nu;                            // node chat, not provided     
  100.       char baud         [5];              // com port bps rate           
  101.       char userbaud     [5];              // call bps rate               
  102.       int  userrec;                       // user record position        
  103.       char userfirst   [15];              // caller's first name         
  104.       char password    [12];              // users password              
  105.       int timeon;                         // time user logged on (mins)  
  106.       int timeused;                       // time user has used that day 
  107.       char ctime        [5];              // time user logged on hh:mm   
  108.       int timeallowed;                    // allowed time in minutes     
  109.       int ttlbytes;                       // total bytes available /1024 
  110.       char forumnum;                      // forum user was in "0" = main
  111.       char nu1          [5];              // areas been in, not provided 
  112.       char nu2          [5];              // areas scanned, not provided 
  113.       int timegiven;                      // highest forum time given    
  114.       int timecredit;                     // time credit in minutes      
  115.       char nu3          [4];              // language being used         
  116.       char username    [25];              // name of caller              
  117.       int minsleft;                       // minutes left for caller     
  118.       char node;                          // node number (short int)     
  119.       char event        [5];              // event time hh:mm            
  120.       char event_active [2];              // event active  -1=yes,0=no   
  121.       char slide_event  [2];              // slide event   -1=yes,0=no   
  122.       char nu4          [4];              // memorized mess #, not prov  
  123.       char port;                          // com port, '0','1','2'       
  124.       char nu5          [2];              // not used                    
  125.       };
  126.  
  127.  
  128.    //****************************************************************
  129.    //  you will need to consult the pcb documentation for a more     
  130.    //  detailed explanation of these fields.  Note that any          
  131.    //  double or float fields will have to be converted with the     
  132.    //  appropriate C conversion function.                            
  133.    //****************************************************************
  134.  
  135.    struct PCBUSER14                       // structure for PCB USERS     
  136.       {
  137.       char name         [25];             // users full name             
  138.       char city         [24];             // users home town             
  139.       char passwd       [12];             // users password              
  140.       char bphone       [13];             // users data phone number     
  141.       char hphone       [13];             // users home phone number     
  142.       char lastdate      [6];             // last date on as yymmdd (sic)
  143.       char lasttime      [5];             // last time on as hh:mm       
  144.       char expert;                        // expert mode                 
  145.       char protocol;                      // protol being used           
  146.       char nu;                            // not used                    
  147.       char lastdir       [6];             // last directory date yymmdd  
  148.       char level;                         // users level as short int    
  149.       int  timeson;                       // # of times on               
  150.       char page;                          // page length as short int    
  151.       int  uploads;                       // # of uploads                
  152.       int  downloads;                     // # of downloads              
  153.       double curdown;                     // current down bytes          
  154.       char comment1     [30];             // comment                     
  155.       char comment2     [30];             // comment                     
  156.       int elap;                           // elapsed time                  
  157.       char regisdate     [6];             // registration date yymmdd    
  158.       char exp_level;                     // expired security level      
  159.       char lastconf;                      // last forum in               
  160.       char forum_regis   [5];             // you figure it out cause     
  161.       char forum_exp     [5];             // these fields are definately 
  162.       char forum_scan    [5];             // NOT bit maps!               
  163.       double downbytes;                   // total downbytes             
  164.       double upbytes;                     // total upbytes               
  165.       char delete;                        // deleted user                
  166.       float lastmsg;                      // last msg read               
  167.       float lastmsg1    [39];             // last msg read in forums     
  168.       char nu1          [15];             // not used                    
  169.       };                                  // 400 bytes                   
  170.  
  171.  
  172. #define YES 1                             // used when calling show_mess()   
  173. #define NO  0
  174.  
  175.  
  176. #define TAB  9
  177. #define ESC  0x1b
  178.  
  179. #define F1  59 + 0x100
  180. #define F2  60 + 0x100
  181. #define F3  61 + 0x100
  182. #define F4  62 + 0x100
  183. #define F5  63 + 0x100
  184. #define F6  64 + 0x100
  185. #define F7  65 + 0x100
  186. #define F8  66 + 0x100
  187. #define F9  67 + 0x100
  188. #define F10 68 + 0x100
  189. #define F11 171 + 0x100
  190. #define F12 172 + 0x100
  191. #define CF10 103 + 0x100
  192.  
  193. #define HOME_KEY  71 + 0x100
  194. #define END_KEY   79 + 0x100
  195. #define PGUP      73 + 0x100
  196. #define PGDN      81 + 0x100
  197. #define CUR_LEFT  75 + 0x100
  198. #define CUR_RIGHT 77 + 0x100
  199. #define CUR_UP    72 + 0x100
  200. #define CUR_DOWN  80 + 0x100
  201.  
  202. #define CTRLK   11
  203. #define CTRLX   24
  204.  
  205. #define ON 1
  206. #define OFF 0
  207. #define TIMEOUT -10
  208.  
  209. //  ASCII Protocol Characters
  210.  
  211. #define NUL 0
  212. #define SOH 1
  213. #define STX 2
  214. #define ETX 3
  215. #define EOT 4
  216. #define ACK 6
  217. #define DLE 0x10
  218. #define DC1 0x11
  219. #define DC2 0x12
  220. #define DC3 0x13
  221. #define DC4 0x14
  222. #define NAK 0x15
  223. #define ETB 0x17
  224. #define CAN 0x18
  225. #define XON 0x11
  226. #define XOFF 0x13
  227.  
  228.  
  229.    // prototypes for GAPCDR functions 
  230.  
  231.    extern  void _pascal ansi(char *ansicolor);
  232.    extern  void _pascal backspace(short howmany);
  233.    extern  void _pascal do_chat(void );
  234.    extern  void _pascal update_clock(void );
  235.    extern  void _pascal clear_scrn(void );
  236.    extern  void _pascal elap_time(void );
  237.    extern  void _pascal time_left(void );
  238.    extern  void _pascal empty(unsigned char *str,short len);
  239.    extern  FILE * _pascal read_cnf(char *fname);
  240.    extern  short _pascal read_doorsys(void );
  241.    extern  short _pascal init_door(void );
  242.    extern  void _pascal no_carrier(void );
  243.    extern  void _pascal leave(short how);
  244.    extern  short _pascal read_gapuser(char *path );
  245.    extern  short _pascal write_gapuser(char *path );
  246.    extern  short _pascal getakey(void );
  247.    extern  void _pascal get_string(char *fld);
  248.    extern  void _pascal more(void );
  249.    extern  void _pascal nl(char howmany);
  250.    extern  void _pascal pagesysop(void );
  251.    extern  void _pascal pause(void );
  252.    extern  short _pascal read_pcbsys(void );
  253.    extern  short _pascal write_pcbsys(void );
  254.    extern  short _pascal read_pcbuser(char *path);
  255.    extern  short _pascal write_pcbuser(char *path );
  256.    extern  void _pascal write_score(char *datfile,unsigned long score);
  257.    extern  short _pascal read_score(char *datfile,char *message);
  258.    extern  void _pascal show_file(char *filename);
  259.    extern  void _pascal show_mess(char *vstring,char flag,char newline);
  260.    extern  void _pascal set_status(short update);
  261.    extern  void _pascal time_credit(short how);
  262.    extern  char *trim(char *str);
  263.    extern void _pascal cls(void);
  264.    extern void _pascal cls_all(void);
  265.    extern void  _pascal dv_pause(void);
  266.    extern short _pascal dv_here(void);
  267.  
  268.  
  269.    // prototypes for private GAPCDR functions 
  270.  
  271.    extern  void _pascal init_com(void );
  272.    extern  void _pascal wrap_word(void );
  273.    extern  void _pascal putkey(short c);
  274.    extern  short _pascal get_random(short low,short high);
  275.    extern void _pascal make_sound(unsigned short f, short dur);
  276.    extern short _pascal getkeyc(void);
  277.    extern short _pascal access1(char *fname);
  278.  
  279.    extern void _pascal gapputs(char *string);
  280.     extern void _pascal gapputc(short ch);
  281.    extern void _pascal lputs(char *str);
  282.    extern void _pascal lputc(short ch);
  283.    extern void _pascal curson(void);
  284.    extern void _pascal cursoff(void);
  285.    extern void _pascal timer(unsigned short tics);
  286.  
  287.    extern void _pascal init_ansi(void);
  288.    extern void _pascal fix_color(void);
  289.  
  290.    extern void _pascal set_int10(void);
  291.    extern void _pascal rest_int10(void);
  292.    extern void _pascal set_cord(unsigned char topr, unsigned char topc, unsigned char botr, unsigned char botc);
  293.    extern void _pascal set_attr(unsigned char forg, unsigned char back);
  294.    extern void _pascal get_attr(void);
  295.    extern void _pascal save_screen(short row1, short col1, short row2, short col2, unsigned short savemem);
  296.    extern void _pascal restore_screen(short row1, short col1, short row2, short col2, unsigned short savemem);
  297.    extern void _pascal set_int29(void);
  298.    extern void _pascal rest_int29(void);
  299.  
  300.  
  301.    extern void _pascal set_cbreak(void);
  302.    extern void _pascal rest_cbreak(void);
  303.  
  304.  
  305.    // prototypes for Communications routines
  306.  
  307.    short  _pascal setport(short  bufsize,short  irq,short  base);
  308.    void   _pascal reset_port(void);
  309.    short  _pascal init_port(short  parity,short  data);
  310.  
  311.    extern  short _pascal ckeypress(void );
  312.    extern  short _pascal comgetc(void );
  313.    extern  void _pascal near is_carrier(void );
  314.    extern  void _pascal clr_buf(void );
  315.    extern  short _pascal comgetd(short secs);
  316.    extern  void _pascal computc(unsigned char ch);
  317.    extern  void _pascal computs(const unsigned char *str);
  318.    extern  void _pascal computb(const unsigned char *str, short length);
  319.    extern  void _pascal dtr(short how);
  320.    extern  void _pascal rts(short how);
  321.    extern  short _pascal iscd(void );
  322.    extern  short _pascal isring(void );
  323.    extern  short _pascal rxempty(void );
  324.    extern  short _pascal near check_port(void );
  325.