1013 lines
44 KiB
Plaintext
1013 lines
44 KiB
Plaintext
CONST
|
|
Build = '1.20';
|
|
|
|
{$IFDEF MSDOS}
|
|
OS = '/DOS';
|
|
{$ENDIF}
|
|
|
|
{$IFDEF WIN32}
|
|
OS = '/Win32';
|
|
{$ENDIF}
|
|
|
|
{$IFDEF OS/2}
|
|
OS = '/2';
|
|
{$ENDIF}
|
|
|
|
Ver = Build + OS;
|
|
MaxProtocols = 120;
|
|
MaxEvents = 10;
|
|
MaxArcs = 8;
|
|
MaxCmds = 200;
|
|
MaxMenus = 100;
|
|
MaxResultCodes = 20;
|
|
MaxExtDesc = 99;
|
|
MaxFileAreas = 32767;
|
|
MaxMsgAreas = 32767;
|
|
MaxConfigurable = 1024;
|
|
MaxVotes = 25;
|
|
MaxChoices = 25;
|
|
MaxSchemes = 255;
|
|
MaxValKeys = 92;
|
|
MaxConfKeys = 27;
|
|
|
|
User_String_Ask = ' '; {Ask for user string fields}
|
|
User_String_None = ''; {None for user string fields}
|
|
|
|
User_Date_Ask = -2145916799; {Ask for user date fields - 01/01/1902}
|
|
User_Date_None = -2146003199; {None for user date fields - 12/31/1901}
|
|
|
|
User_Word_Ask = 65535; {Ask for user word fields}
|
|
User_Word_None = 65534; {None for user word fields}
|
|
|
|
User_Char_Ask = '~'; {Ask for user character fields}
|
|
User_Char_None = ' '; {None for user character fields}
|
|
|
|
User_Phone_Ask = ' '; {Ask for user phone fields}
|
|
User_Phone_None = ''; {None for user phone fields}
|
|
|
|
TYPE
|
|
{$IFDEF MSDOS}
|
|
SmallInt = Integer;
|
|
SmallWord = Word;
|
|
{$ENDIF}
|
|
AStr = STRING[160];
|
|
Str1 = STRING[1];
|
|
Str2 = STRING[2];
|
|
Str3 = STRING[3];
|
|
Str4 = STRING[4];
|
|
Str5 = STRING[5];
|
|
Str7 = STRING[7];
|
|
Str8 = STRING[8];
|
|
Str9 = STRING[9];
|
|
Str11 = STRING[11];
|
|
Str10 = STRING[10];
|
|
Str12 = STRING[12];
|
|
Str15 = STRING[15];
|
|
Str20 = STRING[20];
|
|
Str26 = STRING[26];
|
|
Str30 = STRING[30];
|
|
Str35 = STRING[35];
|
|
Str36 = STRING[36];
|
|
Str40 = STRING[40];
|
|
Str50 = STRING[50];
|
|
Str52 = STRING[52];
|
|
Str65 = STRING[65];
|
|
Str74 = STRING[74];
|
|
Str78 = STRING[78];
|
|
Str160 = STRING[160];
|
|
|
|
UnixTime = LongInt; { Seconds since 1-1-70 }
|
|
|
|
ACString = STRING[20]; { Access Condition STRING }
|
|
|
|
ARFlagType = '@'..'Z'; {AR flags}
|
|
|
|
ARFlagSet = SET OF ARFlagType; {SET OF AR flags}
|
|
|
|
FlagType =
|
|
(RLogon, { L - Limited to one call a day }
|
|
RChat, { C - No SysOp paging }
|
|
RValidate, { V - Posts are unvalidated }
|
|
RUserList, { U - Can't list users }
|
|
RAMsg, { A - Can't leave automsg }
|
|
RPostAn, { * - Can't post anonymously }
|
|
RPost, { P - Can't post }
|
|
REmail, { E - Can't send email }
|
|
RVoting, { K - Can't use voting booth }
|
|
RMsg, { M - Force email deletion }
|
|
|
|
VT100, { Supports VT00 }
|
|
HotKey, { hotkey input mode }
|
|
Avatar, { Supports Avatar }
|
|
Pause, { screen pausing }
|
|
Novice, { user requires novice help }
|
|
ANSI, { Supports ANSI }
|
|
Color, { Supports color }
|
|
Alert, { Alert SysOp upon login }
|
|
SMW, { Short message(s) waiting }
|
|
NoMail, { Mailbox is closed }
|
|
|
|
FNoDLRatio, { 1 - No UL/DL ratio }
|
|
FNoPostRatio, { 2 - No post/call ratio }
|
|
FNoCredits, { 3 - No credits checking }
|
|
FNoDeletion); { 4 - Protected from deletion }
|
|
|
|
FlagSet = SET OF FlagType;
|
|
|
|
StatusFlagType =
|
|
(LockedOut, { if locked out }
|
|
Deleted, { if deleted }
|
|
TrapActivity, { if trapping users activity }
|
|
TrapSeparate, { if trap to seperate TRAP file }
|
|
ChatAuto, { if auto chat trapping }
|
|
ChatSeparate, { if separate chat file to trap to }
|
|
SLogSeparate, { if separate SysOp log }
|
|
CLSMsg, { if clear-screens }
|
|
RIP, { if RIP graphics can be used }
|
|
FSEditor, { if Full Screen Editor }
|
|
AutoDetect, { Use auto-detected emulation }
|
|
FileAreaLightBar,
|
|
MsgAreaLightBar,
|
|
UnUsedStatusFlag1,
|
|
UnUsedStatusFlag2,
|
|
UnUsedStatusFlag3
|
|
);
|
|
|
|
StatusFlagSet = SET OF StatusFlagType;
|
|
|
|
ANonTyp =
|
|
(ATNo, { Anonymous posts not allowed }
|
|
ATYes, { Anonymous posts are allowed }
|
|
ATForced, { Force anonymous }
|
|
ATDearAbby, { "Dear Abby" }
|
|
ATAnyName); { Post under any name }
|
|
|
|
NetAttr =
|
|
(Private,
|
|
Crash,
|
|
Recd,
|
|
NSent,
|
|
FileAttach,
|
|
Intransit,
|
|
Orphan,
|
|
KillSent,
|
|
Local,
|
|
Hold,
|
|
Unused,
|
|
FileRequest,
|
|
ReturnReceiptRequest,
|
|
IsReturnReceipt,
|
|
AuditRequest,
|
|
FileUpdateRequest);
|
|
|
|
NetAttribs = SET OF NetAttr;
|
|
|
|
SecurityRangeType = ARRAY [0..255] OF LongInt; { Access tables }
|
|
|
|
UserIDXRec = { USERS.IDX : Sorted names listing }
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
Name: STRING[36]; { the user's name }
|
|
Number, { user number }
|
|
Left, { Left node }
|
|
Right: SmallInt; { Right node }
|
|
RealName, { User's real name? }
|
|
Deleted: Boolean; { deleted or not }
|
|
END;
|
|
|
|
UserRecordType = { USERS.DAT : User records }
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
Name, { system name }
|
|
RealName: STRING[36]; { real name }
|
|
|
|
Street, { street address }
|
|
CityState: STRING[30]; { city, state }
|
|
|
|
CallerID: STRING[20]; { caller ID STRING }
|
|
|
|
ZipCode: STRING[10]; { zipcode }
|
|
|
|
PH: STRING[12]; { phone # }
|
|
|
|
ForgotPWAnswer: STRING[40];
|
|
|
|
UsrDefStr: ARRAY [1..3] OF STRING[35]; { definable strings }
|
|
|
|
Note: STRING[35]; { SysOp note }
|
|
|
|
LockedFile: STRING[8]; { print lockout msg }
|
|
|
|
Vote: ARRAY [1..25] OF Byte; { voting data }
|
|
|
|
Sex, { gender }
|
|
Subscription, { their subscription }
|
|
ExpireTo, { level to expire to }
|
|
LastConf, { last conference in }
|
|
UnUsedChar1,
|
|
UnUsedChar2: Char;
|
|
|
|
SL, { SL }
|
|
DSL, { DSL }
|
|
Waiting, { mail waiting }
|
|
LineLen, { line length }
|
|
PageLen, { page length }
|
|
OnToday, { # times on today }
|
|
Illegal, { # illegal logons }
|
|
DefArcType, { QWK archive type }
|
|
ColorScheme, { Color scheme # }
|
|
UserStartMenu, { menu to start at }
|
|
UnUsedByte1,
|
|
UnUsedByte2: Byte;
|
|
|
|
BirthDate, { Birth date }
|
|
FirstOn, { First On Date }
|
|
LastOn, { Last On Date }
|
|
TTimeOn, { total time on }
|
|
LastQWK, { last qwk packet }
|
|
Expiration, { Expiration date }
|
|
UnUsedUnixTime1,
|
|
UnUsedUnixTime2: UnixTime;
|
|
|
|
UserID, { Permanent userid }
|
|
TLToday, { # min left today }
|
|
ForUsr, { forward mail to }
|
|
LastMsgArea, { # last msg area }
|
|
LastFileArea, { # last file area }
|
|
UnUsedInteger1,
|
|
UnUsedInteger2: SmallInt;
|
|
|
|
PasswordChanged, { Numeric date pw changed - was UnixTime }
|
|
UnUsedWord1,
|
|
UnUsedWord2: SmallWord;
|
|
|
|
lCredit, { Amount OF credit }
|
|
Debit, { Amount OF debit }
|
|
PW, { password }
|
|
Uploads, { # OF DLs }
|
|
Downloads, { # OF DLs }
|
|
UK, { UL k }
|
|
DK, { DL k }
|
|
LoggedOn, { # times on }
|
|
MsgPost, { # message posts }
|
|
EmailSent, { # email sent }
|
|
FeedBack, { # feedback sent }
|
|
TimeBank, { # mins in bank }
|
|
TimeBankAdd, { # added today }
|
|
DLKToday, { # kbytes dl today }
|
|
DLToday, { # files dl today }
|
|
FilePoints,
|
|
TimeBankWith, { Time withdrawn }
|
|
UnUsedLongInt1,
|
|
UnUsedLongInt2: LongInt;
|
|
|
|
TeleConfEcho, { Teleconf echo? }
|
|
TeleConfInt, { Teleconf interrupt }
|
|
GetOwnQWK, { Get own messages }
|
|
ScanFilesQWK, { new files in qwk }
|
|
PrivateQWK, { private mail qwk }
|
|
UnUsedBoolean1,
|
|
UnUsedBoolean2: Boolean;
|
|
|
|
AR: ARFlagSet; { AR flags }
|
|
|
|
Flags: FlagSet; { flags }
|
|
|
|
SFlags: StatusFlagSet; { status flags }
|
|
END;
|
|
|
|
MsgStatusR =
|
|
(MDeleted,
|
|
Sent,
|
|
Unvalidated,
|
|
Permanent,
|
|
AllowMCI,
|
|
NetMail,
|
|
Prvt,
|
|
Junked);
|
|
|
|
FromToInfo = { from/to information for mheaderrec }
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
Anon: Byte;
|
|
UserNum: SmallWord; { user number }
|
|
A1S: STRING[36]; { posted as }
|
|
Real: STRING[36]; { real name }
|
|
Name: STRING[36]; { system name }
|
|
Zone,
|
|
Net,
|
|
Node,
|
|
Point: SmallWord;
|
|
END;
|
|
|
|
MHeaderRec =
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
From,
|
|
MTO: FromToInfo; { message from/to info }
|
|
Pointer: LongInt; { starting record OF text }
|
|
TextSize: SmallWord; { size OF text }
|
|
ReplyTo: SmallWord; { ORIGINAL + REPLYTO = CURRENT }
|
|
Date: UnixTime; { date/time PACKED STRING }
|
|
DayOfWeek: Byte; { message day OF week }
|
|
Status: SET OF MsgStatusR; { message status flags }
|
|
Replies: SmallWord; { times replied to }
|
|
Subject: STRING[40]; { subject OF message }
|
|
OriginDate: STRING[19]; { date OF echo/group msgs }
|
|
FileAttached: Byte; { 0=No, 1=Yes&Del, 2=Yes&Save }
|
|
NetAttribute: NetAttribs; { Netmail attributes }
|
|
Res: ARRAY [1..2] OF Byte; { reserved }
|
|
END;
|
|
|
|
HistoryRecordType = { HISTORY.DAT : Summary logs }
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
Date: UniXTime;
|
|
Active,
|
|
Callers,
|
|
NewUsers,
|
|
Posts,
|
|
Email,
|
|
FeedBack,
|
|
Errors,
|
|
Uploads,
|
|
Downloads,
|
|
UK,
|
|
DK: LongInt;
|
|
UserBaud: ARRAY [0..20] OF LongInt;
|
|
END;
|
|
|
|
FileArcInfoRecordType = { Archive configuration records }
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
Active: Boolean; { active or not }
|
|
Ext: STRING[3]; { file extension }
|
|
ListLine, { /x for internal; x: 1=ZIP, 2=ARC/PAK, 3=ZOO, 4=LZH }
|
|
ArcLine, { compression cmdline }
|
|
UnArcLine, { de-compression cmdline }
|
|
TestLine, { integrity test cmdline }
|
|
CmtLine: STRING[25]; { comment cmdline }
|
|
SuccLevel: SmallInt; { success errorlevel, -1=ignore results }
|
|
END;
|
|
|
|
ModemFlagType = { MODEM.DAT status flags }
|
|
(Lockedport, { COM port locked at constant rate }
|
|
XOnXOff, { XON/XOFF (software) flow control }
|
|
CTSRTS); { CTS/RTS (hardware) flow control }
|
|
|
|
MFlagSet = SET OF ModemFlagType;
|
|
|
|
LineRec =
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
InitBaud: LongInt; { initialization baud }
|
|
ComPort: Byte; { COM port number }
|
|
MFlags: MFlagSet; { status flags }
|
|
Init, { init STRING }
|
|
Answer, { answer STRING or blank }
|
|
Hangup, { hangup STRING }
|
|
Offhook: STRING[30]; { phone off-hook STRING }
|
|
DoorPath, { door drop files written to }
|
|
TeleConfNormal,
|
|
TeleConfAnon, { Teleconferencing strings }
|
|
TeleConfGlobal,
|
|
TeleConfPrivate: STRING[40];
|
|
Ok,
|
|
Ring,
|
|
Reliable,
|
|
CallerID,
|
|
NoCarrier: STRING[20];
|
|
Connect: ARRAY [1..22] OF STRING[20];
|
|
{ 300, 600, 1200, 2400, 4800, 7200, 9600, 12000, 14400, 16800, 19200,
|
|
21600, 24000, 26400, 28800, 31200, 33600, 38400, 57600, 115200 + 2 extra }
|
|
UseCallerID: Boolean; { Insert Caller ID into sysop note? }
|
|
LogonACS: ACString; { ACS STRING to logon this node }
|
|
IRQ,
|
|
Address: STRING[10]; { used only for functional MCI codes
|
|
%C = Comport address
|
|
%E = IRQ
|
|
}
|
|
AnswerOnRing: Byte; { Answer after how many rings? }
|
|
MultiRing: Boolean; { Answer Ringmaster or some other type
|
|
OF multiple-ring system ONLY }
|
|
NodeTelnetUrl: STRING[65];
|
|
END;
|
|
|
|
ValidationRecordType =
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
Key, { Key '!' to '~' }
|
|
ExpireTo: Char; { validation level to expire to }
|
|
Description: STRING[30]; { description }
|
|
UserMsg: STRING[78]; { Message sent to user upon validation }
|
|
NewSL, { new SL }
|
|
NewDSL, { new DSL }
|
|
NewMenu: Byte; { User start out menu }
|
|
Expiration: SmallWord; { days until expiration }
|
|
NewFP, { nothing }
|
|
NewCredit: LongInt; { new credit }
|
|
SoftAR, { TRUE=AR added to current, else replaces }
|
|
SoftAC: Boolean; { TRUE=AC " " " " " }
|
|
NewAR: ARFlagSet; { new AR }
|
|
NewAC: FlagSet; { new AC }
|
|
END;
|
|
|
|
GeneralRecordType =
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
ForgotPWQuestion: STRING[70];
|
|
|
|
QWKWelcome, { QWK welcome file name }
|
|
QWKNews, { QWK news file name }
|
|
QWKGoodbye, { QWK goodbye file name }
|
|
Origin: STRING[50]; { Default Origin line }
|
|
|
|
DataPath, { DATA path }
|
|
MiscPath, { MISC path }
|
|
LogsPath, { LOGS path }
|
|
MsgPath, { MSGS path }
|
|
NodePath, { NODE list path }
|
|
TempPath, { TEMP path }
|
|
ProtPath, { PROT path }
|
|
ArcsPath, { ARCS path }
|
|
lMultPath, { MULT path }
|
|
FileAttachPath, { directory for file attaches }
|
|
QWKLocalPath, { QWK path for local usage }
|
|
DefEchoPath, { default echomail path }
|
|
NetmailPath, { path to netmail }
|
|
BBSName: STRING[40]; { BBS name }
|
|
|
|
SysOpName: STRING[30]; { SysOp's name }
|
|
|
|
Version: STRING[20];
|
|
|
|
BBSPhone: STRING[12]; { BBS phone number }
|
|
|
|
LastDate: STRING[10]; { last system date }
|
|
|
|
PacketName, { QWK packet name }
|
|
BulletPrefix: STRING[8]; { default bulletins filename }
|
|
|
|
SysOpPW, { SysOp password }
|
|
NewUserPW, { newuser password }
|
|
MinBaudOverride, { override minimum baud rate }
|
|
QWKNetworkACS, { QWK network REP ACS }
|
|
LastOnDatACS,
|
|
SOP, { SysOp }
|
|
CSOP, { Co-SysOp }
|
|
MSOP, { Message SysOp }
|
|
FSOP, { File SysOp }
|
|
SPW, { SysOp PW at logon }
|
|
AddChoice, { Add voting choices acs }
|
|
NormPubPost, { make normal public posts }
|
|
NormPrivPost, { send normal e-mail }
|
|
|
|
AnonPubRead, { see who posted public anon }
|
|
AnonPrivRead, { see who sent anon e-mail }
|
|
AnonPubPost, { make anon posts }
|
|
AnonPrivPost, { send anon e-mail }
|
|
|
|
SeeUnval, { see unvalidated files }
|
|
DLUnval, { DL unvalidated files }
|
|
NoDLRatio, { no UL/DL ratio }
|
|
NoPostRatio, { no post/call ratio }
|
|
NoFileCredits, { no file credits checking }
|
|
ULValReq, { uploads require validation }
|
|
TeleConfMCI, { ACS access for MCI codes while teleconfin' }
|
|
OverrideChat, { override chat hours }
|
|
NetMailACS, { do they have access to netmail? }
|
|
Invisible, { Invisible mode? }
|
|
FileAttachACS, { ACS to attach files to messages }
|
|
ChangeVote, { ACS to change their vote }
|
|
UnUsedACS1,
|
|
UnUsedACS2: ACString;
|
|
|
|
MaxPrivPost, { max email can send per call }
|
|
MaxFBack, { max feedback per call }
|
|
MaxPubPost, { max posts per call }
|
|
MaxChat, { max sysop pages per call }
|
|
MaxWaiting, { max mail waiting }
|
|
CSMaxWaiting, { max mail waiting for Co-SysOp + }
|
|
MaxMassMailList,
|
|
MaxLogonTries, { tries allowed for PW's at logon }
|
|
SysOpColor, { SysOp color in chat mode }
|
|
UserColor, { user color in chat mode }
|
|
SliceTimer,
|
|
MaxBatchDLFiles,
|
|
MaxBatchULFiles,
|
|
Text_Color, { color OF standard text }
|
|
Quote_Color, { color OF quoted text }
|
|
Tear_Color, { color OF tear line }
|
|
Origin_Color, { color OF origin line }
|
|
BackSysOpLogs, { days to keep SYSOP##.LOG }
|
|
EventWarningTime, { minutes before event to warn user }
|
|
WFCBlankTime, { minutes before blanking WFC menu }
|
|
AlertBeep, { time between alert beeps - Was Integer }
|
|
FileCreditComp, { file credit compensation ratio }
|
|
FileCreditCompBaseSize, { file credit area compensation size }
|
|
ULRefund, { percent OF time to refund on ULs }
|
|
GlobalMenu,
|
|
AllStartMenu,
|
|
ShuttleLogonMenu,
|
|
NewUserInformationMenu,
|
|
FileListingMenu,
|
|
MessageReadMenu,
|
|
CurWindow, { type OF SysOp window in use }
|
|
SwapTo, { Swap where? }
|
|
UnUsedByte1,
|
|
UnUsedByte2: Byte;
|
|
|
|
lLowTime, { SysOp begin minute (in minutes) }
|
|
HiTime, { SysOp END time }
|
|
DLLowTime, { normal downloading hours begin.. }
|
|
DLHiTime, { ..and END }
|
|
MinBaudLowTime, { minimum baud calling hours begin.. }
|
|
MinBaudHiTime, { ..and END }
|
|
MinBaudDLLowTime, { minimum baud downloading hours begin.. }
|
|
MinBaudDLHiTime, { ..and END }
|
|
NewApp, { send new user application to # }
|
|
TimeOutBell, { minutes before timeout beep }
|
|
TimeOut, { minutes before timeout }
|
|
ToSysOpDir, { SysOp file area }
|
|
CreditMinute, { Credits per minute }
|
|
CreditPost, { Credits per post }
|
|
CreditEmail, { Credits per Email sent }
|
|
CreditFreeTime, { Amount OF "Free" time given to user at logon }
|
|
NumUsers, { number OF users }
|
|
PasswordChange, { change password at least every x days }
|
|
RewardRatio, { % OF file points to reward back }
|
|
CreditInternetMail, { cost for Internet mail }
|
|
BirthDateCheck, { check user's birthdate every xx logons }
|
|
UnUsedInteger1,
|
|
UnUsedInteger2: SmallInt;
|
|
|
|
MaxQWKTotal, { max msgs in a packet, period }
|
|
MaxQWKBase, { max msgs in a area }
|
|
DaysOnline, { days online }
|
|
UnUsedWord1,
|
|
UnUsedWord2: SmallWord;
|
|
|
|
MinimumBaud, { minimum baud rate to logon }
|
|
MinimumDLBaud, { minimum baud rate to download }
|
|
MaxDepositEver,
|
|
MaxDepositPerDay,
|
|
MaxWithdrawalPerDay,
|
|
CallerNum, { system caller number }
|
|
RegNumber, { registration number }
|
|
TotalCalls, { incase different from callernum }
|
|
TotalUsage, { total usage in minutes }
|
|
TotalPosts, { total number OF posts }
|
|
TotalDloads, { total number OF dloads }
|
|
TotalUloads, { total number OF uloads }
|
|
MinResume, { min K to allow resume-later }
|
|
MaxInTemp, { max K allowed in TEMP }
|
|
MinSpaceForPost, { minimum drive space left to post }
|
|
MinSpaceForUpload, { minimum drive space left to upload }
|
|
UnUsedLongInt1,
|
|
UnUsedLongInt2: LongInt;
|
|
|
|
AllowAlias, { allow handles? }
|
|
PhonePW, { phone number password in logon? }
|
|
LocalSec, { use local security? }
|
|
GlobalTrap, { trap everyone's activity? }
|
|
AutoChatOpen, { automatically open chat buffer? }
|
|
AutoMInLogon, { Auto-Message at logon? }
|
|
BullInLogon, { bulletins at logon? }
|
|
YourInfoInLogon, { "Your Info" at logon? }
|
|
OffHookLocalLogon, { phone off-hook for local logons? }
|
|
ForceVoting, { manditory voting? }
|
|
CompressBases, { "compress" file/msg area numbers? }
|
|
SearchDup, { search for dupes files when UL? }
|
|
ForceBatchDL,
|
|
ForceBatchUL,
|
|
LogonQuote,
|
|
UserAddQuote,
|
|
StripCLog, { strip colors from SysOp log? }
|
|
SKludge, { show kludge lines? }
|
|
SSeenby, { show SEEN-BY lines? }
|
|
SOrigin, { show origin line? }
|
|
AddTear, { show tear line? }
|
|
ShuttleLog, { Use Shuttle Logon? }
|
|
ClosedSystem, { Allow new users? }
|
|
SwapShell, { Swap on shell? }
|
|
UseEMS, { use EMS for overlay }
|
|
UseBios, { use BIOS for video output }
|
|
UseIEMSI, { use IEMSI }
|
|
ULDLRatio, { use UL/DL ratios? }
|
|
FileCreditRatio, { use auto file-credit compensation? }
|
|
ValidateAllFiles, { validate files automatically? }
|
|
FileDiz, { Search/Import file_id.diz }
|
|
SysOpPword, { check for sysop password? }
|
|
TrapTeleConf, { Trap teleconferencing to ROOMx.TRP? }
|
|
IsTopWindow, { is window at top OF screen? }
|
|
ReCompress, { recompress like archives? }
|
|
RewardSystem, { use file rewarding system? }
|
|
TrapGroup, { record group chats? }
|
|
QWKTimeIgnore, { ignore time remaining for qwk download? }
|
|
NetworkMode, { Network mode ? }
|
|
WindowOn, { is the sysop window on? }
|
|
ChatCall, { Whether system keeps beeping after chat}
|
|
DailyLimits, { Daily file limits on/off }
|
|
MultiNode, { enable multinode support }
|
|
PerCall, { time limits are per call or per day?}
|
|
TestUploads, { perform integrity tests on uploads? }
|
|
UseFileAreaLightBar,
|
|
UseMsgAreaLightBar,
|
|
UnUsedBoolean1,
|
|
UnUsedBoolean2: Boolean;
|
|
|
|
FileArcInfo:
|
|
ARRAY [1..MaxArcs] OF FileArcInfoRecordType; { archive specs }
|
|
|
|
FileArcComment:
|
|
ARRAY [1..3] OF STRING[40]; { BBS comment files for archives }
|
|
|
|
Aka: ARRAY [0..20] OF
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD { 20 Addresses }
|
|
Zone, { 21st is for UUCP address }
|
|
Net,
|
|
Node,
|
|
Point: SmallWord;
|
|
END;
|
|
|
|
NewUserToggles: ARRAY [1..20] OF Byte;
|
|
|
|
Macro: ARRAY [0..9] OF STRING[100]; { sysop macros }
|
|
|
|
Netattribute: NetAttribs; { default netmail attribute }
|
|
|
|
TimeAllow, { time allowance }
|
|
CallAllow, { call allowance }
|
|
DLRatio, { # ULs/# DLs ratios }
|
|
DLKRatio, { DLk/ULk ratios }
|
|
PostRatio, { posts per call ratio }
|
|
DLOneday, { Max number OF dload files in one day}
|
|
DLKOneDay: SecurityRangeType; { Max k downloaded in one day}
|
|
END;
|
|
|
|
ShortMessageRecordType = { SHORTMSG.DAT : One-line messages }
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
Msg: AStr;
|
|
Destin: SmallInt;
|
|
END;
|
|
|
|
VotingRecordType = { VOTING.DAT : Voting records }
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
Question1, { Voting Question 1 }
|
|
Question2: STRING[60]; { Voting Question 2 }
|
|
ACS: ACString; { ACS required to vote on this }
|
|
ChoiceNumber: Byte; { number OF choices }
|
|
NumVotedQuestion: SmallInt; { number OF votes on it }
|
|
CreatedBy: STRING[36]; { who created it }
|
|
AddAnswersACS: ACString; { ACS required to add choices }
|
|
Answers: ARRAY [1..25] OF
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
Answer1, { answer description }
|
|
Answer2: STRING[65]; { answer description #2 }
|
|
NumVotedAnswer: SmallInt; { # user's who picked this answer }
|
|
END;
|
|
END;
|
|
|
|
MessageAreaFlagType =
|
|
(MARealName, { whether real names are forced }
|
|
MAUnHidden, { whether *VISIBLE* to users w/o access }
|
|
MAFilter, { whether to filter ANSI/8-bit ASCII }
|
|
MAPrivate, { allow private messages }
|
|
MAForceRead, { force the reading of this area }
|
|
MAQuote, { Allow Quote/Tagline to messages posted in this area }
|
|
MASKludge, { strip IFNA kludge lines }
|
|
MASSeenBy, { strip SEEN-BY lines }
|
|
MASOrigin, { strip origin lines }
|
|
MAAddTear, { add tear/origin lines }
|
|
MAInternet, { if internet message area }
|
|
MAScanOut); { Needs to be scanned out by renemail }
|
|
|
|
MAFlagSet = SET OF MessageAreaFlagType;
|
|
|
|
MessageAreaRecordType = { MBASES.DAT : Message area records }
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
Name: STRING[40]; { message area description }
|
|
FileName: STRING[8]; { HDR/DAT data filename }
|
|
MsgPath: STRING[40]; {Not Used} { messages pathname }
|
|
ACS, { access requirement }
|
|
PostACS, { post access requirement }
|
|
MCIACS, { MCI usage requirement }
|
|
SysOpACS: ACString; { Message area sysop requirement }
|
|
MaxMsgs: SmallWord; { max message count }
|
|
Anonymous: AnonTyp; { anonymous type }
|
|
Password: STRING[20]; { area password }
|
|
MAFlags: MAFlagSet; { message area status vars }
|
|
MAType: SmallInt; { Area type (0=Local,1=Echo, 3=Qwk) }
|
|
Origin: STRING[50]; { origin line }
|
|
Text_Color, { color OF standard text }
|
|
Quote_Color, { color OF quoted text }
|
|
Tear_Color, { color OF tear line }
|
|
Origin_Color, { color OF origin line }
|
|
MessageReadMenu: Byte;
|
|
QuoteStart,
|
|
QuoteEnd: STRING[70];
|
|
PrePostFile: STRING[8];
|
|
AKA: Byte; { alternate address }
|
|
QWKIndex: SmallWord; { QWK indexing number }
|
|
END;
|
|
|
|
FileAreaFlagType =
|
|
(FANoRatio, { if <No Ratio> active }
|
|
FAUnHidden, { whether *VISIBLE* to users w/o access }
|
|
FADirDLPath, { if *.DIR file stored in DLPATH }
|
|
FAShowName, { show uploaders in listings }
|
|
FAUseGIFSpecs, { whether to use GifSpecs }
|
|
FACDROM, { Area is read only, no sorting or ul scanning }
|
|
FAShowDate, { show date uploaded in listings }
|
|
FANoDupeCheck); { No dupe check on this area }
|
|
|
|
FAFlagSet = SET OF FileAreaFlagType;
|
|
|
|
FileAreaRecordType = { FBASES.DAT : File area records }
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
AreaName: STRING[40]; { area description }
|
|
FileName: STRING[8]; { filename + ".DIR" }
|
|
DLPath, { download path }
|
|
ULPath: STRING[40]; { upload path }
|
|
MaxFiles: SmallInt; { max files allowed - VerbRec Limit would allow up to LongInt Value or Maximum 433835}
|
|
Password: STRING[20]; { password required }
|
|
ArcType, { wanted archive type (1..max,0=inactive) }
|
|
CmtType: Byte; { wanted comment type (1..3,0=inactive) }
|
|
ACS, { access requirements }
|
|
ULACS, { upload requirements }
|
|
DLACS: ACString; { download requirements }
|
|
FAFlags: FAFlagSet; { file area status vars }
|
|
END;
|
|
|
|
FileInfoFlagType =
|
|
(FINotVal, { If file is not validated }
|
|
FIIsRequest, { If file is REQUEST }
|
|
FIResumeLater, { If file is RESUME-LATER }
|
|
FIHatched, { Has file been hatched? }
|
|
FIOwnerCredited,
|
|
FIUnusedFlag1,
|
|
FIUnusedFlag2,
|
|
FIUnusedFlag3);
|
|
|
|
FIFlagSet = SET OF FileInfoFlagType;
|
|
|
|
FileInfoRecordType = { *.DIR : File records }
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
FileName: STRING[12]; { Filename }
|
|
Description: STRING[50]; { File description }
|
|
FilePoints: SmallInt; { File points }
|
|
Downloaded: LongInt; { Number DLs }
|
|
FileSize: LongInt; { File size in Bytes }
|
|
OwnerNum: SmallInt; { ULer OF file }
|
|
OwnerName: STRING[36]; { ULer's name }
|
|
FileDate: UnixTime; { Date ULed }
|
|
VPointer: LongInt; { Pointer to verbose descr, -1 if none }
|
|
VTextSize: SmallInt; { Verbose descr textsize - 50 Bytes x 99 Lines = 4950 max }
|
|
FIFlags: FIFlagSet; { File status }
|
|
END;
|
|
|
|
LastCallerRec = { LASTON.DAT : Last few callers records }
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
Node: Byte; { Node number }
|
|
UserName: STRING[36]; { User name OF caller }
|
|
Location: STRING[30]; { Location OF caller }
|
|
Caller, { system caller number }
|
|
UserID, { User ID # }
|
|
Speed: LongInt; { Speed OF caller 0=Local }
|
|
LogonTime, { time user logged on }
|
|
LogoffTime: UnixTime; { time user logged off }
|
|
NewUser, { was it a new user? }
|
|
Invisible: Boolean; { Invisible user? }
|
|
Uploads, { Uploads/Downloads during call }
|
|
Downloads,
|
|
MsgRead, { Messages Read }
|
|
MsgPost, { Messages Posted }
|
|
EmailSent, { Email sent }
|
|
FeedbackSent: SmallWord; { Feedback sent }
|
|
UK, { Upload/Download kbytes during call }
|
|
DK: LongInt;
|
|
Reserved: ARRAY [1..17] OF Byte; { Reserved }
|
|
END;
|
|
|
|
EventFlagType =
|
|
(EventIsExternal,
|
|
EventIsActive,
|
|
EventIsErrorLevel,
|
|
EventIsShell,
|
|
EventIsPackMsgAreas,
|
|
EventIsSortFiles,
|
|
EventIsFilesBBS,
|
|
EventIsLogon,
|
|
EventIsChat,
|
|
EventIsOffHook,
|
|
EventIsMonthly,
|
|
EventIsPermission,
|
|
EventIsSoft,
|
|
EventIsMissed,
|
|
BaudIsActive,
|
|
ACSIsActive,
|
|
TimeIsActive,
|
|
ARisActive,
|
|
SetARisActive,
|
|
ClearARisActive,
|
|
InRatioIsActive);
|
|
|
|
EFlagSet = SET OF EventFlagType;
|
|
|
|
EventDaysType = SET OF 0..6; {Set of event days}
|
|
|
|
EventRecordType = {Events - EVENTS.DAT}
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
EventDescription: STRING[30]; {Description of the Event}
|
|
EventDayOfMonth: BYTE; {If monthly, the Day of Month}
|
|
EventDays: EventDaysType; {If Daily, the Days Active}
|
|
EventStartTime, {Start Time in Min from Mid.}
|
|
EventFinishTime: SmallWord; {Finish Time}
|
|
EventQualMsg, {Msg/Path if he qualifies}
|
|
EventNotQualMsg: STRING[64]; {Msg/Path if he doesn't}
|
|
EventPreTime: BYTE; {Min. B4 event to rest. Call}
|
|
EventNode: Byte;
|
|
EventLastDate: UnixTime; {Last Date Executed}
|
|
EventErrorLevel: BYTE; {For Ext Event ErrorLevel}
|
|
EventShellPath: STRING[8]; {File for Ext Event Shell}
|
|
LoBaud, {Low baud rate limit}
|
|
HiBaud: LongInt; {High baud rate limit}
|
|
EventACS: ACString; {Event ACS}
|
|
MaxTimeAllowed: SmallWord; {Max Time per user this event}
|
|
SetARflag, {AR Flag to Set}
|
|
ClearARflag: CHAR; {AR Flag to Clear}
|
|
EFlags: EFlagSet; {Kinds of Events Supported} { Changed }
|
|
END;
|
|
|
|
ProtocolFlagType =
|
|
(ProtActive,
|
|
ProtIsBatch,
|
|
ProtIsResume,
|
|
ProtXferOkCode,
|
|
ProtBiDirectional,
|
|
ProtReliable);
|
|
|
|
PRFlagSet = SET OF ProtocolFlagType;
|
|
|
|
ProtocolCodeType = ARRAY [1..6] OF STRING[6];
|
|
|
|
ProtocolRecordType = { PROTOCOL.DAT records }
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
PRFlags: PRFlagSet; { Protocol Flags }
|
|
CKeys: STRING[14]; { Command Keys }
|
|
Description: STRING[40]; { Description }
|
|
ACS: ACString; { User Access STRING }
|
|
TempLog, { Utilized for Batch DL's - Temporary Log File }
|
|
DLoadLog, { Utilized for Batch DL's - Permanent Log Files }
|
|
ULoadLog, { Not Utilized }
|
|
DLFList: STRING[25]; { Utilized for Batch DL's - DL File Lists }
|
|
DLCmd, { DL Command Line }
|
|
ULCmd: STRING[76]; { UL Command Line }
|
|
DLCode, { DL Status/Return codes }
|
|
ULCode: ProtocolCodeType; { UL StAtus/Return codes }
|
|
EnvCmd: STRING[60]; { Environment Setup Cmd }
|
|
MaxChrs, { Utilized for Batch DL's - Max chrs in cmdline }
|
|
TempLogPF, { Utilized for Batch DL's - Position in log for DL Status }
|
|
TempLogPS: Byte; { Utilized for Batch DL's - Position in log for file data }
|
|
END;
|
|
|
|
ConferenceRecordType = { CONFRENC.DAT : Conference data }
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
Key: Char; { key '@' to 'Z' }
|
|
Name: STRING[30]; { name of conference }
|
|
ACS: ACString; { access requirement }
|
|
END;
|
|
|
|
NodeFlagType =
|
|
(NActive, { Is this node active? }
|
|
NAvail, { Is this node's user available? }
|
|
NUpdate, { This node should re-read it's user }
|
|
NHangup, { Hangup on this node }
|
|
NRecycle, { Recycle this node to the OS }
|
|
NInvisible); { This node is Invisible }
|
|
|
|
NodeFlagSet = SET OF NodeFlagType;
|
|
|
|
NodeRecordType = { MULTNODE.DAT }
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
User: SmallWord; { What user number }
|
|
UserName: STRING[36]; { User's name }
|
|
CityState: STRING[30]; { User's location }
|
|
Sex: Char; { User's sex }
|
|
Age: Byte; { User's age }
|
|
LogonTime: UnixTime; { What time they logged on }
|
|
GroupChat: Boolean; { Are we in MultiNode Chat }
|
|
ActivityDesc: STRING[50]; { Activity STRING }
|
|
Status: NodeFlagSet;
|
|
Room: Byte; { What room are they in? }
|
|
Channel: SmallWord; { What channel are they in? }
|
|
Invited, { Have they been invited ? }
|
|
Booted, { Have they been kicked off ? }
|
|
Forget: ARRAY [0..31] OF SET OF 0..7; { Who are they forgetting? }
|
|
END;
|
|
|
|
RoomRec = { ROOM.DAT }
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
Topic: STRING[40]; { Topic OF this room }
|
|
Anonymous: Boolean; { Is Room anonymous ? }
|
|
Private: Boolean; { Is Room private ? }
|
|
Occupied: Boolean; { Is anyone in here? }
|
|
Moderator: SmallWord; { Who's the moderator? }
|
|
END;
|
|
|
|
ScanRec = { *.SCN files / MESSAGES }
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
NewScan: Boolean; { Scan this area? }
|
|
LastRead: UnixTime; { Last date read }
|
|
END;
|
|
|
|
SchemeRec = { Scheme.dat }
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
Description: STRING[30]; { Description OF the color scheme }
|
|
Color: ARRAY [1..200] OF Byte; { Colors in scheme }
|
|
END;
|
|
|
|
{ 1 - 10 system colors
|
|
11 - file list colors
|
|
28 - msg list colors
|
|
45 - file area list colors
|
|
55 - msg area list colors
|
|
65 - user list colors
|
|
80 - who's online colors
|
|
100- last on colors
|
|
115- qwk colors
|
|
135- email colors
|
|
}
|
|
|
|
BBSListRecordType = { *.BBS file records }
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
RecordNum, { Number OF the Record For Edit }
|
|
UserID, { User ID OF person adding this }
|
|
MaxNodes : LongInt; { Maximum Number Of Nodes }
|
|
Port : Word; { Telnet Port }
|
|
BBSName : STRING[30]; { Name OF BBS }
|
|
SysOpName : STRING[30]; { SysOp OF BBS }
|
|
TelnetUrl : STRING[60]; { Telnet Urls }
|
|
WebSiteUrl : STRING[60]; { Web Site Url }
|
|
PhoneNumber : STRING[20]; { Phone number OF BBS }
|
|
Location : STRING[30]; { Location of BBS }
|
|
Software, { Software used by BBS }
|
|
SoftwareVersion : String[12]; { Software Version of BBS }
|
|
OS : STRING[20]; { Operating System of BBS }
|
|
Speed : STRING[8]; { Highest connect speed OF BBS }
|
|
Hours : STRING[20]; { Hours of Operation }
|
|
Birth : STRING[10]; { When the BBS Began }
|
|
Description : STRING[60]; { Description OF BBS }
|
|
Description2 : STRING[60]; { Second line OF descrition }
|
|
DateAdded : UnixTime; { Date entry was added }
|
|
DateEdited : UnixTime; { Date entry was last edited }
|
|
SDA : STRING[8]; { sysop definable A }
|
|
SDB : STRING[30]; { sysop definable B }
|
|
SDC : STRING[30]; { sysop definable C }
|
|
SDD : STRING[40]; { sysop definable D }
|
|
SDE : STRING[60]; { sysop definable E }
|
|
SDF : STRING[60]; { sysop definable F }
|
|
SDG : Word; { sysop definable G }
|
|
SDH, { sysop definable H }
|
|
SDI : Boolean; { sysop definable I }
|
|
|
|
END;
|
|
|
|
MenuFlagType =
|
|
(ClrScrBefore, { C: clear screen before menu display }
|
|
DontCenter, { D: don't center the menu titles! }
|
|
NoMenuTitle, { T: no menu title displayed }
|
|
NoMenuPrompt, { N: no menu prompt whatsoever? }
|
|
ForcePause, { P: force a pause before menu display? }
|
|
AutoTime, { A: is time displayed automatically? }
|
|
ForceLine, { F: Force full line input }
|
|
NoGenericAnsi, { 1: DO NOT generate generic prompt if ANSI }
|
|
NoGenericAvatar, { 2: DO NOT generate generic prompt if AVT }
|
|
NoGenericRIP, { 3: DO NOT generate generic prompt if RIP }
|
|
NoGlobalDisplayed, { 4: DO NOT display the global commands! }
|
|
NoGlobalUsed); { 5: DO NOT use global commands! }
|
|
|
|
MenuFlagSet = SET OF MenuFlagType;
|
|
|
|
CmdFlagType =
|
|
(Hidden, { H: is command ALWAYS hidden? }
|
|
UnHidden); { U: is command ALWAYS visible? }
|
|
|
|
CmdFlagSet = SET OF CmdFlagType;
|
|
|
|
MenuRec =
|
|
{$IFDEF WIN32} PACKED {$ENDIF} RECORD
|
|
LDesc: ARRAY [1..3] OF STRING[100]; { Menu Or Command Long Description ARRAY }
|
|
ACS: ACString; { Access Requirements }
|
|
NodeActivityDesc: STRING[50];
|
|
CASE Menu: Boolean OF { Menu Or Command - Variant section}
|
|
TRUE:
|
|
(MenuFlags: MenuFlagSet; { Menu Flag SET }
|
|
LongMenu: STRING[12]; { Displayed In Place OF Long Description }
|
|
MenuNum: Byte; { Menu Number }
|
|
MenuPrompt: STRING[120]; { Menu Prompt }
|
|
Password: STRING[20]; { Menu Password }
|
|
FallBack: Byte; { Menu Fallback Number }
|
|
Directive: STRING[12];
|
|
ForceHelpLevel: Byte; { Menu Forced Help Level }
|
|
GenCols: Byte; { Generic Menus: # OF Columns }
|
|
GCol: ARRAY [1..3] OF Byte); { Generic Menus: Colors }
|
|
FALSE:
|
|
(CmdFlags: CmdFlagSet; { Command Flag SET }
|
|
SDesc: STRING[35]; { Command Short Description }
|
|
CKeys: STRING[14]; { Command Execution Keys }
|
|
CmdKeys: STRING[2]; { Command Keys: Type OF Command }
|
|
Options: STRING[50]); { MString: Command Data }
|
|
END;
|