home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 September / PCO_0998.ISO / filesbbs / dos / sbbs_src.exe / SBBS / VARS.C < prev    next >
Encoding:
C/C++ Source or Header  |  1997-04-13  |  7.5 KB  |  155 lines

  1. /* VARS.C */
  2.  
  3. /* Developed 1990-1997 by Rob Swindell; PO Box 501, Yorba Linda, CA 92885 */
  4.  
  5. /*************************************************************/
  6. /* External (Global/Public) Variables for use only with SBBS */
  7. /*************************************************************/
  8.  
  9. #include <stdio.h>
  10. #include <dos.h>
  11.  
  12. #ifndef GLOBAL
  13. #define GLOBAL
  14. unsigned _stklen=22000;             /* Set stack size in code, not header */
  15.                                     /* 20k, NOT enough */
  16. #endif
  17.  
  18. #include "sbbsdefs.h"
  19. #include "smbdefs.h"
  20. #include "text.h"
  21.  
  22. GLOBAL char     *envp[128];     /* Original environment */
  23.  
  24. GLOBAL char     menu_dir[128];    /* Over-ride default menu dir */
  25. GLOBAL char     menu_file[128]; /* Over-ride menu file */
  26.  
  27. GLOBAL user_t    useron;         /* User currently online */
  28. GLOBAL node_t    thisnode;        /* Node information */
  29. GLOBAL smb_t    smb;            /* Currently open message base */
  30.  
  31.                                 /* Batch download queue */
  32. GLOBAL char     **batdn_name;    /* Filenames */
  33. GLOBAL ushort    *batdn_alt;     /* Alternate path */
  34. GLOBAL uint     *batdn_dir,     /* Directory for each file */
  35.                 batdn_total;    /* Total files */
  36. GLOBAL long     *batdn_offset;    /* Offset for data */
  37. GLOBAL ulong    *batdn_size;    /* Size of file in bytes */
  38. GLOBAL ulong    *batdn_cdt;     /* Credit value of file */
  39.  
  40.                                 /* Batch upload queue */
  41. GLOBAL char     **batup_desc,    /* Description for each file */
  42.                 **batup_name,    /* Filenames */
  43.                 *batup_misc;    /* Miscellaneous bits */
  44. GLOBAL ushort    *batup_alt;     /* Alternate path */
  45. GLOBAL uint     *batup_dir,     /* Directory for each file */
  46.                 batup_total;    /* Total files */
  47.  
  48. /*********************************/
  49. /* Color Configuration Variables */
  50. /*********************************/
  51. GLOBAL char     *text[TOTAL_TEXT];            /* Text from CTRL\TEXT.DAT */
  52. GLOBAL char     *text_sav[TOTAL_TEXT];        /* Text from CTRL\TEXT.DAT */
  53. GLOBAL int        directvideo;    /* Turbo C's video flag - direct or bios */
  54. GLOBAL char     qoc;            /* Quit after one caller */
  55. GLOBAL long     freedosmem;     /* Amount of free DOS memory */
  56. GLOBAL char     orgcmd[129];    /* Original command to execute bbs */
  57. GLOBAL char     dszlog[127];    /* DSZLOG enviornment variable */
  58. GLOBAL char     debug;            /* Flag to allow debug writes */
  59. GLOBAL int        keybuftop,keybufbot;    /* Keyboard input buffer pointers */
  60. GLOBAL char     keybuf[KEY_BUFSIZE];    /* Keyboard input buffer */
  61. GLOBAL char     connection[LEN_MODEM+1];/* Connection Description */
  62. GLOBAL ulong    cur_rate;        /* Current Connection (DCE) Rate */
  63. GLOBAL ulong    cur_cps;        /* Current Average Transfer CPS */
  64. GLOBAL ulong    dte_rate;        /* Current COM Port (DTE) Rate */
  65. GLOBAL time_t     timeout;        /* User inactivity timeout reference */
  66. GLOBAL char     timeleft_warn;    /* low timeleft warning flag */
  67. GLOBAL char     curatr;         /* Current Text Attributes Always */
  68. GLOBAL long     lncntr;         /* Line Counter - for PAUSE */
  69. GLOBAL long     tos;            /* Top of Screen */
  70. GLOBAL long     rows;            /* Current Rows for User */
  71. GLOBAL long     autoterm;        /* Autodetected terminal type */
  72. GLOBAL char     slbuf[SAVE_LINES][LINE_BUFSIZE+1]; /* Saved for redisplay */
  73. GLOBAL char     slatr[SAVE_LINES];    /* Starting attribute of each line */
  74. GLOBAL char     slcnt;            /* Number of lines currently saved */
  75. GLOBAL char     lbuf[LINE_BUFSIZE+1];/* Temp storage for each line output */
  76. GLOBAL int        lbuflen;        /* Number of characters in line buffer */
  77. GLOBAL char     latr;            /* Starting attribute of line buffer */
  78. GLOBAL ulong    console;        /* Defines current Console settings */
  79. GLOBAL char     tmp[256];        /* Used all over as temp string */
  80. GLOBAL char     *nulstr;        /* Null string pointer */
  81. GLOBAL char     *crlf;            /* CRLF string pointer */
  82. GLOBAL char     wordwrap[81];    /* Word wrap buffer */
  83. GLOBAL time_t    now,            /* Used to store current time in Unix format */
  84.                 answertime,     /* Time call was answered */
  85.                 logontime,        /* Time user logged on */
  86.                 starttime,        /* Time stamp to use for time left calcs */
  87.                 ns_time,        /* File new-scan time */
  88.                 last_ns_time;    /* Most recent new-file-scan this call */
  89. GLOBAL uchar     action;            /* Current action of user */
  90. GLOBAL char     statline;        /* Current Status Line number */
  91. GLOBAL long     online;         /* Remote/Local or not online */
  92. GLOBAL long     sys_status;     /* System Status */
  93. GLOBAL char     *sub_misc;        /* Save misc and ptrs for subs */
  94. GLOBAL ulong    *sub_ptr;        /* for fast pointer update */
  95. GLOBAL ulong    *sub_last;        /* last read message pointer */
  96.  
  97. GLOBAL ulong    logon_ulb,        /* Upload Bytes This Call */
  98.                 logon_dlb,        /* Download Bytes This Call */
  99.                 logon_uls,        /* Uploads This Call */
  100.                 logon_dls,        /* Downloads This Call */
  101.                 logon_posts,    /* Posts This Call */
  102.                 logon_emails,    /* Emails This Call */
  103.                 logon_fbacks;    /* Feedbacks This Call */
  104. GLOBAL uchar    logon_ml;        /* ML of the user apon logon */
  105.  
  106. GLOBAL int         node_disk;        /* Number of Node's disk */
  107. GLOBAL uint     main_cmds;        /* Number of Main Commands this call */
  108. GLOBAL uint     xfer_cmds;        /* Number of Xfer Commands this call */
  109. GLOBAL ulong    posts_read;     /* Number of Posts read this call */
  110. GLOBAL char     temp_uler[31];  /* User who uploaded the files to temp dir */
  111. GLOBAL char     temp_file[41];    /* Origin of extracted temp files */
  112. GLOBAL long     temp_cdt;        /* Credit value of file that was extracted */
  113. GLOBAL char     autohang;        /* Used for auto-hangup after transfer */
  114. GLOBAL char     cap_fname[41];    /* Capture filename - default is CAPTURE.TXT */
  115. GLOBAL FILE     *capfile;        /* File string to use for capture file */
  116. GLOBAL int         inputfile;        /* File handle to use for input */
  117. GLOBAL int         logfile;         /* File handle for node.log */
  118. GLOBAL int         nodefile;        /* File handle for node.dab */
  119. GLOBAL int        node_ext;        /* File handle for node.exb */
  120. GLOBAL char     logcol;         /* Current column of log file */
  121. GLOBAL uint     criterrs;         /* Critical error counter */
  122. GLOBAL struct date date;        /* Used for DOS compatible date pointer */
  123. GLOBAL struct time curtime;     /* Used for DOS compatible time pointer */
  124.  
  125. GLOBAL uint     curgrp,         /* Current group */
  126.                 *cursub,        /* Current sub-board for each group */
  127.                 curlib,         /* Current library */
  128.                 *curdir;        /* Current directory for each library */
  129. GLOBAL uint     *usrgrp,        /* Real group numbers */
  130.                 usrgrps;        /* Number groups this user has access to */
  131. GLOBAL uint     *usrlib,        /* Real library numbers */
  132.                 usrlibs;        /* Number of libs this user can access */
  133. GLOBAL uint     **usrsub,        /* Real sub numbers */
  134.                 *usrsubs;        /* Num of subs with access for each grp */
  135. GLOBAL uint     **usrdir,        /* Real dir numbers */
  136.                 *usrdirs;        /* Num of dirs with access for each lib */
  137. GLOBAL int        cursubnum;        /* For ARS */
  138. GLOBAL int        curdirnum;        /* For ARS */
  139. GLOBAL long     timeleft;        /* Number of seconds user has left online */
  140. GLOBAL uchar    sbbsnode[81];    /* Environment var to contain node dir path */
  141. GLOBAL uchar    sbbsnnum[81];    /* Environment var to contain node num */
  142. GLOBAL char     *comspec;        /* Pointer to environment variable COMSPEC */
  143. GLOBAL ushort    altul;            /* Upload to alternate path flag */
  144. GLOBAL uint     inDV;            /* DESQview version, or 0 if not under DV */
  145. GLOBAL uchar    lastnodemsg;    /* Number of node last message was sent to */
  146. GLOBAL char     color[TOTAL_COLORS];    /* Different colors for the BBS */
  147. GLOBAL time_t    next_event;     /* Next event time - from front-end */
  148. GLOBAL char     lastuseron[LEN_ALIAS+1];  /* Name of user last online */
  149. GLOBAL char     cid[LEN_CID+1]; /* Caller ID of current caller */
  150. GLOBAL uint     emshandle;        /* EMS handle for overlay swap */
  151. GLOBAL char     emsver;         /* Version of EMS installed */
  152. GLOBAL char     *noaccess_str;    /* Why access was denied via ARS */
  153. GLOBAL long     noaccess_val;    /* Value of parameter not met in ARS */
  154. GLOBAL int        errorlevel;     /* Error level of external program */
  155.