(****************************************************************************) (* Structures document for QuickBBS version 2.64 *) (* Copyright 1990, The QuickBBS Group, Inc. All Rights Reserved. *) (****************************************************************************) Type FlagType = Array[1..4] of Byte; UserRecord = Record Name: String[35]; City: String[25]; Pwd: String[15]; DataPhone, HomePhone: String[12]; LastTime: String[5]; LastDate: String[8]; Attrib: Byte; Flags: FlagType; Credit, Pending, TimesPosted, HighMsgRead, SecLvl, Times, Ups, Downs, UpK, DownK, TodayK, Elapsed, Len: Integer; CombinedPtr: Word; (* Record number in COMBINED.BBS *) Age: Byte; (* Not yet implemented *) ExtraSpace: Array[1..5] of Byte; End; (* Attrib: Bit 0: Deleted Bit 1: Screen Clear Codes Bit 2: More Prompt Bit 3: ANSI Bit 4: No-Kill Bit 5: Ignore Download Hours Bit 6: ANSI Full Screen Editor Bit 7: [ Reserved ] *) { Nodelist Records *************************************************** } NodeIdxRecord = Record Zone, Net, Node: Integer; NodeType: Byte; End; NodelistRecord = Record NodeType: Byte; Zone, Net, Node: Integer; Name: String[20]; City: String[40]; Phone: String[40]; Password: String[8]; Flags: Integer; BaudRate: Integer; Cost: Integer; End; { Message Records ******************************************************} CombSelectType = Array[1..200] of Boolean; (* for COMBINED.BBS *) InfoRecord = Record LowMsg: Integer; { Lowest Message in File } HighMsg: Integer; { Highest Message in File } TotalActive: Integer; { Total Active Messages } ActiveMsgs: Array[1..200] of Integer; End; IdxRecord = Record MsgNum: Integer; Board: Byte; End; HdrRecord = Record MsgNum, ReplyTo, SeeAlsoNum, TRead: Integer; StartRec: Word; NumRecs, DestNet, DestNode, OrigNet, OrigNode: Integer; DestZone, OrigZone: Byte; Cost: Integer; MsgAttr, NetAttr, Board: Byte; PostTime: String[5]; PostDate: String[8]; WhoTo, WhoFrom: String[35]; Subj: String[72]; End; (* Msg Attributes: Bit 0: Deleted Bit 1: Unmoved Outgoing Net Message Bit 2: Is a Net Mail Message Bit 3: Private Bit 4: Received Bit 5: Unmoved Outgoing Echo Message Bit 6: Local Bit Bit 7: [ Reserved ] Net Attributes: Bit 0: Kill Message after it's been sent Bit 1: Sent OK Bit 2: File(s) Attached Bit 3: Crash Priority Bit 4: Request Receipt Bit 5: Audit Request Bit 6: Is a Return Receipt Bit 7: [ Reserved ] *) { Other Stuff *********************************************************** } SysInfoRecord = Record CallCount: LongInt; LastCaller: String[35]; ExtraSpace: Array[1..128] of Byte; End; TimeLogRecord = Record StartDate: String[8]; BusyPerHour: Array[0..23] of Integer; BusyPerDay: Array[0..6] of Integer; End; MenuRecord = Record Typ: Byte; Sec: Integer; Flags: FlagType; Str: String[75]; Key: Char; Data: String[80]; Fg, Bg: Byte; End; { Configuration Information ********************************************** } EventRecord = Record Status: Byte; { 0=Deleted 1=Enabled 2=Disabled } RunTime: String[5]; ErrorLevel: Byte; Days: Byte; Forced: Boolean; LastTimeRun: String[8]; End; BoardRecord = Record Name: String[16]; Typ: Byte; { 0=Standard 1=Net 3=Echo } Kinds: Byte; { 0=Both 1=Pvt 2=Pub 3=Read-Only } Combined: Boolean; Aliases: Boolean; ReadSecLvl: Integer; ReadFlags: FlagType; WriteSecLvl: Integer; WriteFlags: FlagType; SysopSecLvl: Integer; SysopFlags: FlagType; End; ConfigRecord = Record (* Modem Parameters *) CommPort: Integer; InitBaud, InitTimes, AnswerWait: Integer; ModemInitStr, ModemBusyStr: String[70]; ModemInitResp, ModemBusyResp, Resp300, Resp1200, Resp2400: String[40]; (* System Paths *) MenuPath, TextPath, NetPath: String[66]; (* Restriction Parameters *) MinBaud, GraphicsBaud, XferBaud: Integer; LowBaudStart, LowBaudEnd, DownloadStart, DownloadEnd, PagingStart, PagingEnd: String[5]; (* Matrix Information *) MatrixZone, MatrixNet, MatrixNode: Integer; AkaNet, AkaNode: Array[1..5] of Integer; NetMailBoard: Integer; (* Default Information for New Users *) DefaultSec: Integer; DefaultCredit: Integer; DefaultFlags: FlagType; (* Sysop Security Levels *) EditorCmdStr: String[70]; OriginLine: String[60]; SysopName: String[35]; AutoLogonChar, FastLogon, ScreenBlanking, UseLastRead, MonoMode, DirectWrite, SnowCheck, NetEchoExit, OneWordNames, CheckMail, AskHomePhone, AskDataPhone, GraphicsAvail: Boolean; InactiveTimeOut: Integer; LogonTime: Integer; DefFgColor: Integer; DefBgColor: Integer; PasswordTries: Integer; MaxPageTimes: Integer; PageBellLen: Integer; Use_Xmodem: Boolean; Use_Xmodem1k: Boolean; Use_Ymodem: Boolean; Use_YmodemG: Boolean; Use_Sealink: Boolean; { Changed for 2.04 } Use_Zmodem: Boolean; { " " } Inp_Fields: Boolean; { " " } QuoteStr: String[3]; UploadCredit: Integer; LoadingMessage: String[70]; SelectionPrompt: String[70]; VersionID: Word; { Added for 2.04: } Resp4800, Resp9600: String[40]; AkaZone: Array[1..5] of Integer; { Added for 2.60: } MatrixPoint: Integer; AkaPoint: Array[1..5] of Integer; UseAka: Array[1..200] of Byte; AskAge: Boolean; (* Not yet Implemented *) SystemName: String[40]; RegKey: Longint; ExtraSpace: Array[1..5] of Byte; EventRec: Array[1..30] of EventRecord; BoardRec: Array[1..200] of BoardRecord; End; GosubDataType = Array[1..20] of String[8]; ExitRecord = Record BaudRate: Integer; SysInfo: SysInfoRecord; TimeLogInfo: TimeLogRecord; UserInfo: UserRecord; EventInfo: EventRecord; NetMailEntered: Boolean; EchoMailEntered: Boolean; LoginTime: String[5]; LoginDate: String[8]; TmLimit: Integer; LoginSec: LongInt; Credit: LongInt; UserRecNum: Integer; ReadThru: Integer; PageTimes: Integer; DownLimit: Integer; WantChat: Boolean; GosubLevel: Byte; GosubData: GosubDataType; Menu: String[8]; End;