{ RemoteAccess 1.00 file structures, may be used freely by third party software developers. This document is (C) Copyright 1991 Continental Software. } type MsgType = (LocalMail, NetMail, EchoMail); OrphanType = (Ignore, Create, Kill); FlagType = array[1..4] of Byte; Time = String[5]; Date = String[8]; LongDate = String[9]; NetAddress = record Zone, Net, Node, Point : Word; end; MSGINFOrecord = record LowMsg, HighMsg, TotalMsgs : Word; TotalOnBoard : array[1..200] of Word; end; MSGIDXrecord = record MsgNum : Integer; Board : Byte; end; MSGTOIDXrecord = String[35]; MSGHDRrecord = record MsgNum : Integer; PrevReply, NextReply, TimesRead : Word; StartBlock : Word; NumBlocks, DestNet, DestNode, OrigNet, OrigNode : Word; DestZone, OrigZone : Byte; Cost : Word; MsgAttr, NetAttr, Board : Byte; PostTime : Time; PostDate : Date; WhoTo, WhoFrom : MSGTOIDXrecord; Subject : String[72]; end; MSGTXTrecord = String[255]; USERONrecord = record Name : MSGTOIDXrecord; Line : Byte; Baud : Word; City : String[25]; DoNotDisturb : Boolean; Status : Byte; end; { Status byte - 0 : Browsing (in a menu) 1 : Uploading/downloading 2 : Reading/posting messages 3 : In a door/external utility 4 : Chatting with sysop 5 : Answering questionnaire } LASTCALLrecord = record Line : Byte; Name : MSGTOIDXrecord; City : String[25]; Baud : Word; Times : LongInt; LogOn : String[5]; LogOff : String[5]; end; LASTREADrecord = array[1..200] of Word; COMBINEDrecord = array[1..25] of Byte; USERSXIrecord = record Handle : String[35]; Comment : String[80]; FirstDate : Date; CombinedInfo : COMBINEDrecord; BirthDate : Date; SubDate : Date; ScreenWidth : Byte; ExtraSpace : Array[1..83] of Byte; end; USERSrecord = record Name : MSGTOIDXrecord; Location : String[25]; Password : String[15]; DataPhone, VoicePhone : String[12]; LastTime : Time; LastDate : Date; Attribute : Byte; { Bit 0 : Deleted 1 : Clear screen 2 : More prompt 3 : ANSI 4 : No-kill 5 : Xfer priority 6 : Full screen msg editor 7 : Quiet mode } Flags : FlagType; Credit, Pending : Word; MsgsPosted, LastRead, Security, NoCalls, Uploads, Downloads, UploadsK, DownloadsK : Word; TodayK, Elapsed : Integer; ScreenLength : Word; LastPwdChange, Attribute2, { Bit 0 : Hot-keys 1 : AVT/0 2 : Full screen message viewer 3 : Hidden from userlist } Group : Byte; XIrecord : Word; ExtraSpace : array[1..3] of Byte; end; SYSINFOrecord = record TotalCalls : LongInt; LastCaller : MSGTOIDXrecord; ExtraSpace : array[1..128] of Byte; end; TIMELOGrecord = record StartDate : Date; BusyPerHour : array[0..23] of Word; BusyPerDay : array[0..6] of Word; end; MNUrecord = record Typ : Byte; Security : Word; Flags : FlagType; Display : String[75]; HotKey : Char; MiscData : String[80]; Foreground, Background : Byte; end; AskType = (Yes, No, Ask); EVENTrecord = record Status : Byte; { 0=Deleted 1=Enabled 2=Disabled } StartTime : Time; ErrorLevel : Byte; Days : Byte; Forced : Boolean; LastTimeRun : Date; end; EVENTrecordArray = array[1..20] of EVENTrecord; MsgKindsType = (Both, Private, Public, ROnly); MESSAGErecord = record Name : String[40]; Typ : MsgType; MsgKinds : MsgKindsType; Attribute : Byte; { Bit 0 : Enable EchoInfo 1 : Combined access 2 : File attaches 3 : Allow aliases 5 : Force handle } DaysKill, { Kill older than 'x' days } RecvKill : Byte; { Kill recv msgs, recv for more than 'x' days } CountKill : Word; ReadSecurity : Word; ReadFlags : FlagType; WriteSecurity : Word; WriteFlags : FlagType; SysopSecurity : Word; SysopFlags : FlagType; OriginLine : String[60]; AkaAddress : Byte; end; FILESrecord = record Name : String[30]; Attrib : Byte; FilePath : String[40]; FreeSpace : Array[1..41] of Byte; Security : Word; Flags : FlagType; PrivateSecurity: Word; PrivateFlags : FlagType; end; CONFIGrecord = Record VersionID : Word; CommPort : Byte; Baud : LongInt; InitTries : Byte; InitStr, BusyStr : String[70]; InitResp, BusyResp, Connect300, Connect1200, Connect2400, Connect4800, Connect9600, Connect19k, Connect38k : String[40]; AnswerPhone : Boolean; Ring, AnswerStr : String[20]; FlushBuffer : Boolean; ModemDelay : Integer; MinimumBaud, GraphicsBaud, TransferBaud : Integer; SlowBaudTimeStart, SlowBaudTimeEnd, DownloadTimeStart, DownloadTimeEnd, PagingTimeStart, PagingTimeEnd : Time; LoadingMsg, ListPrompt : String[70]; PwdExpiry : Word; MenuPath, TextPath, AttachPath, NodelistPath, MsgBasePath, SysPath, ExternalEdCmd : String[60]; Address : Array[0..9] of NetAddress; SystemName : String[30]; NewSecurity : Word; NewCredit : Word; NewFlags : FlagType; OriginLine : String[60]; QuoteString : String[15]; Sysop : String[35]; LogFileName : String[60]; FastLogon, AllowSysRem, MonoMode, StrictPwdChecking, DirectWrite, SnowCheck : Boolean; CreditFactor : Integer; UserTimeOut, LogonTime, PasswordTries, MaxPage, PageLength : Word; CheckForMultiLogon, ExcludeSysopFromList, OneWordNames : Boolean; CheckMail : AskType; AskVoicePhone, AskDataPhone, DoFullMailCheck, AllowFileShells, FixUploadDates, ShowFileDates : Boolean; ANSI, { ANSI: Yes, no, or ask new users } ClearScreen, { Clear: " } MorePrompt : AskType; { More: " } UploadMsgs : Boolean; KillSent : AskType; { Kill/Sent " } CrashAskSec : Word; { Min sec# to ask 'Crash Mail ?' } CrashAskFlags : FlagType; CrashSec : Word; { Min sec# to always send crash mail. } CrashFlags : FlagType; FAttachSec : Word; { " ask 'File Attach ?' } FAttachFlags : FlagType; NormFore, NormBack, StatFore, StatBack, HiBack, HiFore, WindFore, WindBack, ExitLocal, Exit300, Exit1200, Exit2400, Exit4800, Exit9600, Exit19k, Exit38k : Byte; MultiLine : Boolean; MinPwdLen : Byte; MinUpSpace : Word; HotKeys : AskType; BorderFore, BorderBack, BarFore, BarBack, LogStyle, MultiTasker, PwdBoard : Byte; BufferSize : Word; FKeys : Array[1..10] of String[60]; WhyPage : Boolean; LeaveMsg : Byte; ShowMissingFiles : Boolean; MissingString : String[10]; AllowNetmailReplies : Boolean; LogonPrompt : String[40]; CheckNewFiles : AskType; ReplyHeader : String[60]; BlankSecs : byte; ProtocolAttrib : Array[1..6] of Byte; ErrorFreeString : String[15]; DefaultCombined : COMBINEDrecord; RenumThreshold : Word; LeftBracket, RightBracket : Char; AskForHandle : Boolean; AskForBirthDate : Boolean; Unused : Word; ConfirmMsgDeletes : Boolean; LocationPrompt : String[60]; PagePrompt : String[60]; UserfilePrompt : String[40]; NewUserGroup : Byte; AVATAR : AskType; BadPwdArea : Byte; Location : String[40]; DoAfterAction : Byte; {0 = wait for CR, > 0 = wait for x seconds} CRprompt : String[40]; CRfore, CRback : Byte; ContinuePrompt : String[40]; SendBreak : Boolean; ListPath : String[60]; FullMsgView : AskType; EMSI_Enable, EMSI_NewUser : Boolean; FutureExpansion : Array[1..492] of Byte; end; EXITINFOrecord = record Baud : Word; SysInfo : SYSINFOrecord; TimeLogInfo : TIMELOGrecord; UserInfo : USERSrecord; EventInfo : EVENTrecord; NetMailEntered, EchoMailEntered : Boolean; LoginTime : Time; LoginDate : Date; TimeLimit : Word; LoginSec, Credit : LongInt; UserRecord : Integer; ReadThru, NumberPages, DownloadLimit : Word; TimeOfCreation : Time; LogonPassword : String[15]; WantChat : Boolean; DeductedTime : Integer; MenuStack : Array[1..50] of String[8]; MenuStackPointer : Byte; UserXIinfo : USERSXIrecord; ErrorFreeConnect, SysopNext : Boolean; EMSI_Session : Boolean; { These fields hold } EMSI_Crtdef, { data related to an } EMSI_Protocols, { EMSI session } EMSI_Capabilities, EMSI_Requests, EMSI_Software : String[40]; Hold_Attr1, Hold_Attr2, Hold_Len : Byte; ExtraSpace : Array[1..100] of Byte; end; PROTOCOLrecord = record Name : String[15]; ActiveKey : Char; OpusTypeCtlFile, BatchAvailable : Boolean; Attribute : Byte; { 0=Disabled, 1=Enabled } LogFileName, CtlFileName, DnCmdString, DnCtlString, UpCmdString, UpCtlString : String[80]; UpLogKeyword, DnLogKeyword : String[20]; XferDescWordNum, XferNameWordNum : Byte; end;