home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / EXE276G2.ZIP / STRUCT.276 < prev    next >
Text File  |  1992-06-07  |  15KB  |  447 lines

  1.   (****************************************************************************)
  2.   (*         Structures document for QuickBBS version 2.76 (Gamma-2)          *)
  3.   (*         Copyright 1991,1992   Pegasus Software                           *)
  4.   (*         All Rights Reserved.                                             *)
  5.   (****************************************************************************)
  6.  
  7. Const
  8.   MaxMsgAreas  = 200;
  9.   MaxFileAreas = 200;
  10.   MaxEvents    = 30;
  11.  
  12. type
  13.  
  14.   FlagType = array[1..4] of Byte;
  15.  
  16.   UserRecord = record
  17.                  Name        : String[35];
  18.                  City        : String[25];
  19.                  Pwd         : String[15];
  20.                  DataPhone,
  21.                  HomePhone   : String[12];
  22.                  LastTime    : String[5];
  23.                  LastDate    : String[8];
  24.                  Attrib      : Byte;
  25.                  Flags       : FlagType;
  26.                  Credit,
  27.                  Pending,
  28.                  TimesPosted,
  29.                  HighMsgRead,
  30.                  SecLvl,
  31.                  Times,
  32.                  Ups,
  33.                  Downs,
  34.                  UpK,
  35.                  DownK       : Word;
  36.                  TodayK      : Integer;
  37.                  Elapsed,
  38.                  Len         : Integer;
  39.                  CombinedPtr : Word; (* Record number in COMBINED.BBS *)
  40.                  AliasPtr    : Word; (* Record number in ALIAS.BBS *)
  41.                  Birthday    : Longint;
  42.                end;
  43.  
  44. (*  Attrib:
  45.  
  46.       Bit 0: Deleted
  47.       Bit 1: Screen Clear Codes
  48.       Bit 2: More Prompt
  49.       Bit 3: ANSI
  50.       Bit 4: No-Kill
  51.       Bit 5: Ignore Download Hours
  52.       Bit 6: ANSI Full Screen Editor
  53.       Bit 7: Sex (0=male, 1=female)
  54.  
  55. *)
  56.  
  57. type
  58.  
  59.   UserActivityType = (InMenu, InDoor, InCallback, 
  60.                       ReadingMessages, WritingMessage,
  61.                       ChattingWithSysop, ChattingWithUsers,
  62.                       AnsweringQuestionaire, ViewingTextFile, 
  63.                       DownloadingFile, UploadingFile, ViewingFileList, 
  64.                       DoingFileSearch, LoggingOn, LoggingOff);
  65.  
  66.  
  67.   USERONrecord   = record
  68.                      Name           : String[35];
  69.                      Alias          : String[35];
  70.                      Line           : Byte;
  71.                      Baud           : Word;
  72.                      City           : String[25];
  73.                      DoNotDisturb   : Boolean;
  74.                      Conference     : Byte;
  75.                      Activity       : UserActivityType;
  76.                      Spare          : Array[1..9] of Byte;
  77.                    end;
  78.  
  79.   AliasRecord = String[35]; (* for ALIAS.BBS *)
  80.  
  81.   MsgToIdxRecord = String[35];
  82.  
  83.   { Nodelist Records *************************************************** }
  84.  
  85.   NodeTypes      = (ntZone, ntRegion, ntNet, ntNode, ntPrefix);
  86.  
  87.   NodeIdxRecord  = record
  88.                        NodeType       : NodeTypes;
  89.                        Number,
  90.                        Cost           : Word;
  91.                        RawFile        : Byte;
  92.                        RawPos         : LongInt;
  93.                    end;
  94.  
  95.   FileNameType   = String[12];
  96.  
  97.   NodeIncRecord  = record
  98.                        FileName       : FileNameType;
  99.                        DateStamp      : LongInt;
  100.                    end;
  101.  
  102.   { Message Records ******************************************************}
  103.  
  104.   CombSelectType = array[1..MaxMsgAreas] of Boolean; (* for COMBINED.BBS *)
  105.  
  106.   InfoRecord = record
  107.                  LowMsg  : Integer; { Lowest Message in File }
  108.                  HighMsg : Integer; { Highest Message in File }
  109.  
  110.                  TotalActive : Integer; { Total Active Messages }
  111.  
  112.                  ActiveMsgs : array[1..MaxMsgAreas] of Integer;
  113.                end;
  114.  
  115.   IdxRecord = record
  116.                 MsgNum : Integer;
  117.                 Board  : Byte;
  118.               end;
  119.  
  120.   HdrRecord = record
  121.                 MsgNum,
  122.                 ReplyTo,
  123.                 SeeAlsoNum,
  124.                 TRead    : Integer;
  125.                 StartRec : Word;
  126.                 NumRecs,
  127.                 DestNet,
  128.                 DestNode,
  129.                 OrigNet,
  130.                 OrigNode : Integer;
  131.                 DestZone,
  132.                 OrigZone : Byte;
  133.                 Cost     : Integer;
  134.                 MsgAttr,
  135.                 NetAttr,
  136.                 Board    : Byte;
  137.                 PostTime : String[5];
  138.                 PostDate : String[8];
  139.                 WhoTo,
  140.                 WhoFrom  : String[35];
  141.                 Subj     : String[72];
  142.               end;
  143.  
  144.  
  145. (* Msg Attributes:
  146.  
  147.       Bit 0: Deleted
  148.       Bit 1: Unmoved Outgoing Net Message
  149.       Bit 2: Is a Net Mail Message
  150.       Bit 3: Private
  151.       Bit 4: Received
  152.       Bit 5: Unmoved Outgoing Echo Message
  153.       Bit 6: Local Bit
  154.       Bit 7: Group Message
  155.  
  156.    Net Attributes:
  157.  
  158.       Bit 0: Kill Message after it's been sent
  159.       Bit 1: Sent OK
  160.       Bit 2: File(s) Attached
  161.       Bit 3: Crash Priority
  162.       Bit 4: Request Receipt
  163.       Bit 5: Audit Request
  164.       Bit 6: Is a Return Receipt
  165.       Bit 7: Freq
  166.  
  167. *)
  168.  
  169.   { Other Stuff *********************************************************** }
  170.  
  171.   SysInfoRecord = record
  172.                     CallCount        : LongInt;
  173.                     LastCallerName   : String[35];
  174.                     LastCallerAlias  : String[35];
  175.                     ExtraSpace : array[1..92] of Byte;
  176.                   end;
  177.  
  178.   TodayRecord = record
  179.                      Name           : String[35];
  180.                      Alias          : String[35];
  181.                      Line           : Byte;
  182.                      City           : String[25];
  183.                      Date           : Longint;
  184.                      Time           : Longint;
  185.                    end;
  186.  
  187.   TimeLogRecord = record
  188.                     StartDate   : String[8];
  189.                     BusyPerHour : array[0..23] of Integer;
  190.                     BusyPerDay  : array[0..6] of Integer;
  191.                   end;
  192.  
  193.   LastReadType = Array[1..MaxMsgAreas] of Word;
  194.  
  195.   MenuRecord = record
  196.                  Typ   : Byte;
  197.                  Sec   : Integer;
  198.                  Flags : FlagType;
  199.                  Str   : String[75];
  200.                  Key   : Char;
  201.                  Data  : String[80];
  202.                  Fg,
  203.                  Bg    : Byte;
  204.                end;
  205.  
  206.   { Configuration Information ********************************************** }
  207.  
  208.   TypeMsgs  = (Standard,Netmail,FMail,EchoMail);
  209.   KindMsgs  = (Both,Private,Public,ROnly);
  210.   EventStat = (Deleted, Enabled, Disabled);
  211.   AskType   = (No, Maybe, Yes);
  212.   ProtocolEnableType = (Never, MNP_Only, Always);
  213.  
  214.   SecurityRecord = Record
  215.     Security : Word;
  216.     Flags    : FlagType;
  217.   End;
  218.  
  219.   FileAreaRecord = Record (* FILECFG.DAT *)
  220.     AreaName,
  221.     FilePath,
  222.     ListPath    : String[66];
  223.     AllowUploads,
  224.     IgnoreKlimit,
  225.     IgnoreRatio : Boolean;
  226.     DlSec       : SecurityRecord;
  227.     SearchSec   : SecurityRecord;
  228.     TemplateSec : SecurityRecord;
  229.     CheckDupes  : Boolean;
  230.     Spare       : Array[2..12] of Byte;
  231.   End;
  232.  
  233.   BoardRecord = record (* MSGCFG.DAT *)
  234.                   Name            : String[40];
  235.                   Typ             : TypeMsgs;
  236.                   Kinds           : KindMsgs;
  237.                   Combined        : Boolean;
  238.                   Aliases         : AskType;
  239.                   Aka             : Byte;
  240.                   OriginLine      : String[58];
  241.                   AllowDelete     : Boolean;
  242.                   KeepCnt,                (* Max # of Msgs to keep *)
  243.                   KillRcvd,               (* Kill received msgs after this many days *)
  244.                   KillOld         : Word; (* Kill msgs after this many days *)
  245.                   ReadSec         : SecurityRecord;
  246.                   WriteSec        : SecurityRecord;
  247.                   TemplateSec     : SecurityRecord;
  248.                   SysopSec        : SecurityRecord;
  249.                   FileArea        : Integer;  (* for Fmail *)
  250.                   Group           : Byte;
  251.                   Spare           : Array[4..12] of Byte;
  252.                 end;
  253.  
  254.    EventRecord = record (* EVENTCFG.DAT *)
  255.                   Status      : EventStat;
  256.                   RunTime     : LongInt;
  257.                   ErrorLevel  : Byte;
  258.                   Days        : Byte;
  259.                   Forced      : Boolean;
  260.                   LastTimeRun : LongInt;
  261.                   Spare       : Array[1..7] of Byte;
  262.                 end;
  263.  
  264.    ModemTranslationRecord = Record
  265.                    TranslateFrom : String[25];
  266.                    TranslateTo   : Word;
  267.                  End;
  268.  
  269.    ConfigRecord = record  (* QUICKCFG.DAT *)
  270.  
  271.                    VersionID : Word;
  272.  
  273.                    Node      : Byte;
  274.  
  275.                    (*  Modem Parameters  *)
  276.                    CommPort      : Integer;
  277.                    InitBaud      : Word;
  278.                    ModemDelay    : Word;
  279.                    InitTimes,
  280.                    AnswerWait    : Integer;
  281.                    ModemInitStr,
  282.                    ModemBusyStr  : String[70];
  283.                    ModemInitResp,
  284.                    ModemBusyResp : String[40];
  285.  
  286.                    ModemConnectResp :
  287.                      Array[1..8] of ModemTranslationRecord;
  288.  
  289.                    CBV_CallbackDelay,
  290.                    CBV_WakeupDelay : Word;
  291.  
  292.                    ARQ_String      : String[8];
  293.  
  294.                    ModemSpareInfo : Array[14..22] of Byte;
  295.  
  296.                    (*  System Paths  *)
  297.                    EditorCmdStr    : String[70];
  298.                    MenuPath,
  299.                    TextPath,
  300.                    NetPath,
  301.                    NodelistPath,
  302.                    MsgPath,
  303.                    SwapPath,
  304.                    OverlayPath     : String[66];
  305.  
  306.                    (* System misc strings *)
  307.                    LoadingMessage  : String[70];
  308.                    SelectionPrompt : String[70];
  309.                    NoMailString    : String[70];
  310.                    OriginLine      : String[58];
  311.                    QuoteStr        : String[3];
  312.  
  313.                    (*  User Restrictions *)
  314.                    LowBaudStart,
  315.                    LowBaudEnd,
  316.                    DownloadStart,
  317.                    DownloadEnd     : LongInt;
  318.                    MaxPageTimes,
  319.                    PageBellLen     : Integer;
  320.                    PagingStart,
  321.                    PagingEnd       : LongInt;
  322.                    MinBaud,
  323.                    GraphicsBaud,
  324.                    XferBaud        : Integer;
  325.  
  326.                    (*  Matrix Information  *)
  327.                    MatrixZone,
  328.                    MatrixNet,
  329.                    MatrixNode,
  330.                    MatrixPoint     : array[0..10] of Integer;
  331.                    NetMailBoard    : Integer;
  332.  
  333.                    (*  Default Information for New Users  *)
  334.                    DefaultSec      : SecurityRecord;
  335.                    MinimumSec      : SecurityRecord;
  336.                    DefaultCredit   : Integer;
  337.  
  338.                    (*  Sysop Security Etc. *)
  339.                    SysopSecurity   : SecurityRecord;
  340.                    SysopName       : String[35];
  341.                    SystemName      : String[40];
  342.                    RegKey          : LongInt;
  343.  
  344.                    (*  Misc System Parameters  *)
  345.  
  346.                    TextFileShells,
  347.                    AltJswap,
  348.                    Editorswap,
  349.                    AutoLogonChar,
  350.                    FastLogon,
  351.                    UseLastRead,
  352.                    MonoMode,
  353.                    DirectWrite,
  354.                    SnowCheck,
  355.                    NetEchoExit,
  356.                    OneWordNames,
  357.                    CheckMail,
  358.                    AskHomePhone,
  359.                    AskDataPhone,
  360.                    AskBirthday,
  361.                    AskSex,
  362.                    Use_Xmodem,
  363.                    Use_Xmodem1k,
  364.                    Use_Ymodem      : Boolean;
  365.                    Use_YmodemG     : ProtocolEnableType;
  366.                    Use_Kermit,
  367.                    Use_Zmodem,
  368.                    Inp_Fields,
  369.                    GraphicsAvail,
  370.                    ForceUS_Phone   : Boolean;
  371.                    InactiveTimeOut : Integer;
  372.                    LogonTime       : Integer;
  373.                    DefFgColor      : Integer;
  374.                    DefBgColor      : Integer;
  375.                    PasswordTries   : Integer;
  376.                    EntFldColor     : Byte; (* Color for entry fields *)
  377.                    BorderColor     : Byte; (* Color for menu borders *)
  378.                    WindowColor     : Byte;
  379.                    StatusBarColor  : Byte;
  380.                    UploadCredit    : Integer;
  381.                    ScreenBlank     : Byte;
  382.  
  383.                    (* Callback verifier *)
  384.                    VerifierInit    : string[35];
  385.                    DialString      : string[15];
  386.                    DialSuffix      : string[15];
  387.                    DupeCheck       : Boolean;
  388.                    NewUserSec,
  389.                    MemberSec       : Word;
  390.                    MemberFlags     : Array[1..4,1..8] of Char;
  391.                    LDcost          : Word;
  392.                    LDenable,
  393.                    ResumeLocal,
  394.                    ResumeLD        : Boolean;
  395.                    LDstart,
  396.                    LDend           : Longint;
  397.  
  398.                    ForgotPwdBoard  : Byte;
  399.                    SendATA         : Boolean;
  400.  
  401.                    Location        : String[60];
  402.  
  403.                    ArchiveNetMail  : Boolean;
  404.  
  405.                    IEMSI,
  406.                    IEMSI_New,
  407.                    AutoAnsi,
  408.                    MultiNode       : Boolean;
  409.                    
  410.                    ExtraSpace      : Array[69..400] of Byte;
  411.  
  412.                  end;
  413.  
  414.   GosubDataType = array[1..20] of String[8];
  415.  
  416.   ExitRecord = record
  417.                  BaudRate        : Integer;
  418.                  SysInfo         : SysInfoRecord;
  419.                  TimeLogInfo     : TimeLogRecord;
  420.                  UserInfo        : UserRecord;
  421.                  EventInfo       : EventRecord;
  422.                  NetMailEntered  : Boolean;
  423.                  EchoMailEntered : Boolean;
  424.                  LoginTime       : String[5];
  425.                  LoginDate       : String[8];
  426.                  TmLimit         : Integer;
  427.                  LoginSec        : LongInt;
  428.                  Credit          : LongInt;
  429.                  UserRecNum      : Integer;
  430.                  ReadThru        : Integer;
  431.                  PageTimes       : Integer;
  432.                  DownLimit       : Integer;
  433.                  WantChat        : Boolean;
  434.                  GosubLevel      : Byte;
  435.                  GosubData       : GosubDataType;
  436.                  Menu            : String[8];
  437.                  ScreenClear     : Boolean;
  438.                  MorePrompts     : Boolean;
  439.                  GraphicsMode    : Boolean;
  440.                  ExternEdit      : Boolean;
  441.                  ScreenLength    : Integer;
  442.                  MNP_Connect     : Boolean;
  443.                  ChatReason      : String[48];
  444.                  ExternLogoff    : Boolean;
  445.                  ANSI_Capable    : Boolean;
  446.                end;
  447.