home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / BBS_UTIL / BFE3100P.ZIP / BFE3100P.EXE / DEVKIT / STRUCTS.H < prev   
Text File  |  1994-03-12  |  12KB  |  246 lines

  1. /*╓────────────────────────────────────────────────────────────────────────┐
  2.   ║  BFE - BBS Front End System - Developer's Kit                          │
  3.   ║  Copyright 1993, Cairo Research Labs, All Rights Reserved.             │
  4.   ╟────────────────────────────────────────────────────────────────────────┤
  5.   ║  Revision: 3.10.0                                                      │
  6.   ╟────────────────────────────────────────────────────────────────────────┤
  7.   ║  This C header file contains all pertinent structures used within the  │
  8.   ║  BFE package.   These are subject to change from version to version,   │
  9.   ║  but new elements to each structure will be appended after the last    │
  10.   ║  element, so that third party utilities will not be outdated. New      │
  11.   ║  elements can be simply "tacked" on to the end.                        │
  12.   ╙────────────────────────────────────────────────────────────────────────┘*/
  13.  
  14. // QUICK POOR MAN'S FILE LAYOUTS :-)
  15. //
  16. //   .CTL files: 1 VID record
  17. //               50 TAG records
  18. //               1  MNUOPT record
  19. //  GLOBALS.CFG: 1 VID record
  20. //               1 SETUP record
  21. // PROTOCOL.BFE: 10 PROTOCOL records
  22. // MSGAREAS.BFE: 15 MSGAREA records
  23. //      WFC.BFE: 1 WFC record
  24. //     USER.BFE: variable # of USER records
  25.  
  26. // VID structure - Holds version information
  27.  
  28. typedef struct _vid {
  29.  
  30.         long              vid;                  // Version ID
  31.         long         reserved;                  // **RESERVED**
  32.  
  33. } _VID;
  34.  
  35. // TAG structure - Holds information on each menu item
  36.  
  37. typedef struct _tag {                           // Menu option tag elements
  38.  
  39.         char         desc[80];                  // Description of menu item
  40.         char           hotkey;                  // Hotkey to use
  41.         int            flavor;                  // Flavor of this menu item
  42.         char             type;                  // Menu option type
  43.         long         security;                  // Security level needed
  44.         long        portspeed;                  // Portspeed setting (T/L)
  45.         int         passparms;                  // Passparms? (T/F)
  46.         char     password[25];                  // Password needed to access
  47.         char       prompt[80];                  // Custom user prompt field
  48.         char     secfield[80];                  // Secondary data field
  49.         char      process[80];                  // Process data field
  50.         char   showbefore[80];                  // ** RESERVED **
  51.         char    showafter[80];                  // File to show after
  52.         int     password_flag;                  // Password protected?
  53.         int       coloverride;                  // Color override code
  54.         int          dropfile;                  // Dropfile type to create
  55.         char dropfilepath[80];                  // Path to create dropfile
  56.         int        ToTimes[7];                  // "to" times for task
  57.         int      FromTimes[7];                  // "from" times for task 
  58.  
  59. } _TAG;
  60.  
  61. // MNUOPT structure - Holds custom information on each BFE menu
  62.  
  63. typedef struct _mnuopt {
  64.  
  65.         char RegMessage[80];                    // Custom Registration Msg
  66.         char   UserMenu[80];                    // Custom User Menu
  67.         
  68.         int     MnuTitleCol;                    // Custom Menu Colors
  69.         int    MnuHotkeyCol;
  70.         int   MnuBracketCol;
  71.         int      MnuLineCol;
  72.         int   MnuDescripCol;
  73.         int    MnuPromptCol;
  74.         int      MnuUserCol;
  75.         int       MnuRegCol;
  76.         long       reserved;                    // **RESERVED**
  77.         char     Prompt[35];                    // Custom user prompt
  78.  
  79. } _MNUOPT;
  80.  
  81. // SETUP structure - Global Setup Object
  82.  
  83. typedef struct _setup {                         // Global Setup Object
  84.         
  85.                                                 // *************************
  86.                                                 // Sysop/system information
  87.                                                 // *************************
  88.  
  89.          char SysopName[40];                    // Sysop Name
  90.          char SystemName[40];                   // System Name
  91.          char RegCode[16];                      // Registration key  
  92.          int  Node;                             // Node Number
  93.          long LockedBPS;                        // LockedBPS value
  94.          int  FossilPort;                       // FossilPort setting
  95.  
  96.                                                 // *************************
  97.                                                 // Pager information
  98.                                                 // *************************
  99.  
  100.          char ToPagingHours[7][5];              // "to" Paging Hours
  101.          char FromPagingHours[7][5];            // "from" Paging Hours
  102.          int  PageDuration;                     // Page Duration
  103.  
  104.                                                 // *************************
  105.                                                 // Pertinent path information
  106.                                                 // *************************
  107.  
  108.          char DoorDir[80];                      // DoorDir             
  109.          char BbsDir[80];                       // BBSdir
  110.          char SwappingPath[80];                 // Swapping Path
  111.          char LogonFile[80];                    // Logon file path/name
  112.          char NewUserFile[80];                  // Newuser file path/name
  113.          char WelcomeScreen[80];                // Welcome screen path/name
  114.          char LogFileName[80];                  // Logfile path/name
  115.          char ExternalEditor[80];               // External Editor Path/name
  116.  
  117.                                                 // *************************
  118.                                                 // FILES.BBS colors
  119.                                                 // *************************
  120.          int  ChatUCol;
  121.          int  ChatSCol;
  122.          int  FileTitleCol;
  123.          int  FileNameCol;
  124.          int  FileSizeCol;
  125.          int  FileDescCol;
  126.          int  FileOfflCol;
  127.  
  128.                                                 // *************************
  129.                                                 // Internal default mnu cols
  130.                                                 // *************************
  131.          int  MnuTitleCol;
  132.          int  MnuHotkeyCol;
  133.          int  MnuBracketCol;
  134.          int  MnuLineCol;
  135.          int  MnuDescripCol;
  136.          int  MnuPromptCol;
  137.          int  MnuUserCol;
  138.          int  MnuRegCol;         
  139.                                                 // *************************
  140.                                                 // System behavior info
  141.                                                 // *************************
  142.  
  143.          int  UserSystem;                       // Use the user system?
  144.          int  Personality;                      // Personality selection
  145.          long TimeLimit;                        // Default TimeLimit
  146.          int  FreezeTime;                       // FreezeTime flag
  147.          int  InactivityTimeout;                // Inactivity Timeout
  148.          int  PassAttempts;                     // Password attempts limit
  149.          int  BadPassOpt;                       // Hang upon user if pwd bad?
  150.          int  DetectGraphics;                   // Autodetect graphic modes?
  151.          int  swapinfo;                         // Memory swapping behavior
  152.  
  153.                                                 // *************************
  154.                                                 // Miscellaneous information
  155.                                                 // *************************
  156.  
  157.          int  HidePasswords;                    // Hide pw in BFE/Setup? T/F
  158.          long ScrollerDelay;                    // Scroller Delay Value
  159.          char StartupScript[80];                // Startup script file
  160.          char ExitScript[80];                   // Exit script file
  161.  
  162.          long reserved;                         // **RESERVED**
  163.  
  164.                                                 // *************************
  165.                                                 // Private Entry Information
  166.                                                 // *************************
  167.  
  168.          int  PvtStartTime[7];                  // Start times
  169.          int  PvtEndTime[7];                    // End times
  170.          char PvtPassword[25];                  // Pvt Entry password
  171.          
  172.                                                 // **********************
  173.                                                 // Things hacked on later
  174.                                                 // **********************
  175.  
  176.         char ReEntryScript[80];                 // Re-entry mode script
  177.          
  178.  } _SETUP;
  179.  
  180. // MSGAREA structure - used to hold message area information
  181. // (Will change in the future)
  182.  
  183. typedef struct _msgarea {
  184.  
  185.         char  desc[36];                         // Description of area
  186.         char  areapath[36];                     // Path to area
  187.         char  type[2];                          // Type (Unused)
  188.         char  destaddr[16];                     // Destination address
  189.         char  origaddr[16];                     // Origination address
  190.         char  pvtbit[2];                        // Private bit
  191.         char  crabit[2];                        // Crash bit
  192.         char  hldbit[2];                        // Hold bit
  193.         char  kilbit[2];                        // Kill/Send bit
  194.         char  fa_bit[2];                        // File attach bit
  195.         char  fr_bit[2];                        // File request bit
  196.         char  def_to[36];                       // TO field
  197.         char  def_from[36];                     // FROM field
  198.         char  def_subj[36];                     // SUBJ field
  199.         char  externaledit[36];                 // External Editor
  200.         char  echotag[36];                      // echo tag (unused)
  201.         char  origin[70];                       // Origin line
  202. } _MSGAREA;
  203.  
  204. // WFC structure - used for the WFC module
  205.  
  206. typedef struct _wfc {
  207.     char resp[16][40];
  208. } _WFC;
  209.  
  210. // USER structure - used to hold user information for the user subsystem
  211.  
  212. typedef struct _user {
  213.         char name[36];                          // User's name
  214.         char location[26];                      // user's location
  215.         char password[16];                      // User's password
  216.         long security;                          // User's security level
  217.         long flags;                             // RESERVED flags element
  218. } _USER;
  219.  
  220. // PVTENTRY structure - used internally when reading in PVTENTRY.BFE
  221.  
  222. typedef struct _pvtentry {
  223.  
  224.         int daycode;                            // Day of week -> 0-6
  225.         int pvt_start;                          // Starting time
  226.         int pvt_end;                            // Ending time
  227.  
  228. } _PVTENTRY;
  229.  
  230. // EVENT structure - used to hold the linked list of WFC events (WFC.EVT)
  231.  
  232. typedef struct _event
  233. {
  234.    char tag[16];                                 // Event Tag Name (15 bytes)
  235.    int days;                                     // Bit field for which days
  236.                          // to execute
  237.  
  238.    int hour;                           // Starting Hour (24 Hour)
  239.    int min;                            // Starting Minutes
  240.  
  241.    int errlvl;                                   // Errorlevel to exit on
  242.  
  243.    struct _event *next;                          // ptr to next event     
  244. } _EVENT;
  245.  
  246.