home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Black Box 4
/
BlackBox.cdr
/
bbs_ra
/
ra2fls.arj
/
STRUCT.110
< prev
Wrap
Text File
|
1991-11-05
|
18KB
|
516 lines
(* File "STRUCT.110" *)
(* Structures document for RemoteAccess 1.10/Noncommercial. *)
(* May be freely distributed in unmodified form and used *)
(* by third-party developers. This document is Copyright *)
(* (C) 1991 Andrew Milner and Continental Software. *)
type
AskType = (Yes, No, Ask, Only);
VideoType = (Auto, Short, Long);
MsgType = (LocalMail, NetMail, EchoMail);
MsgKindsType = (Both, Private, Public, ROnly);
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;
LANGUAGErecord = record
Name : String[20];
Attribute : Byte;
DefName,
MenuPath,
TextPath,
QuesPath : String[60];
FreeSpace : Array[1..200] of Byte;
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,
Handle : MSGTOIDXrecord;
Line : Byte;
Baud : Word;
City : String[25];
DoNotDisturb : Boolean;
Status : Byte;
Attribute : 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
6 : System ready (0=busy)
Attribute - Bit 0 : Hidden }
LASTCALLrecord = record
Line : Byte;
Name,
Handle : MSGTOIDXrecord;
City : String[25];
Baud : Word;
Times : LongInt;
LogOn : String[5];
LogOff : String[5];
Attribute : Byte;
end;
{ Attribute - Bit 0 : Hidden }
LASTREADrecord = array[1..200] of Word;
COMBINEDrecord = array[1..25] of Byte;
USERSIDXrecord = record
NameCRC32,
HandleCRC32 : LongInt;
end;
USERSXIrecord = record
Handle : String[35];
Comment : String[80];
FirstDate : Date;
CombinedInfo : COMBINEDrecord;
BirthDate,
SubDate : Date;
ScreenWidth,
MsgArea,
FileArea,
Language,
DateFormat : Byte;
ForwardTo : String[35];
ExtraSpace : Array[1..43] 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;
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;
MESSAGErecord = record
Name : String[40];
Typ : MsgType;
MsgKinds : MsgKindsType;
Attribute : Byte;
{ Bit 0 : Enable EchoInfo
1 : Combined access
2 : File attaches
3 : Allow aliases
4 : Use SoftCRs as characters
5 : Force handle
6 : Allow deletes }
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;
{ Bit 0 : Include in new files scan
1 : Include in upload dupe scan
2 : Permit long descriptions }
FilePath : String[40];
FreeSpace : Array[1..35] of Byte;
UploadSecurity : Word;
UploadFlags : FlagType;
Security : Word;
Flags : FlagType;
ListSecurity : Word;
ListFlags : 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 : Time;
PageStart : Array[0..6] of Time;
PageEnd : Array[0..6] of Time;
{} FreeSpace1 : Array[1..70] of Byte;
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,
FreezeChat : 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;
{} FreeSpace2 : Array[1..11] of Byte;
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;
GroupMailSec : Word;
ConfirmMsgDeletes : Boolean;
FreeSpace3 : Array[1..163] of Byte;
NewUserGroup : Byte;
AVATAR : AskType;
BadPwdArea : Byte;
Location : String[40];
DoAfterAction : Byte; {0 = wait for CR, > 0 = wait for x seconds}
FileLine : String[40];
CRfore,
CRback : Byte;
LangHdr : String[40];
SendBreak : Boolean;
ListPath : String[60];
FullMsgView : AskType;
EMSI_Enable : AskType;
EMSI_NewUser : Boolean;
EchoChar : String[1];
Connect7200,
Connect12000,
Connect14400 : String[40];
Exit7200,
Exit12000,
Exit14400 : Byte;
ChatCommand : String[60];
ExtEd : AskType;
NewuserLanguage : Byte;
LanguagePrompt : String[40];
VideoMode : VideoType;
AutoDetectANSI : Boolean;
OffHook : Boolean;
NewUserDateFormat : Byte;
KeyboardPwd : String[15];
CapLocation : Boolean;
NewuserSub : Byte;
PrinterName : String[4];
HilitePromptFore,
HiLitePromptBack : Byte;
InitStr2 : String[70];
AltJSwap : Boolean;
SemPath : String[60];
AutoChatCapture : Boolean;
FutureExpansion : Array[1..97] 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;
(* End of file "STRUCT.110" *)