419 lines
11 KiB
C++
419 lines
11 KiB
C++
// This may look like C code, but it is really -*- C++ -*-
|
|
|
|
// ------------------------------------------------------------------
|
|
// The Goldware Library
|
|
// Copyright (C) 1990-1999 Odinn Sorensen
|
|
// ------------------------------------------------------------------
|
|
// This library is free software; you can redistribute it and/or
|
|
// modify it under the terms of the GNU Library General Public
|
|
// License as published by the Free Software Foundation; either
|
|
// version 2 of the License, or (at your option) any later version.
|
|
//
|
|
// This library is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
// Library General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU Library General Public
|
|
// License along with this program; if not, write to the Free
|
|
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
// MA 02111-1307, USA
|
|
// ------------------------------------------------------------------
|
|
// $Id$
|
|
// ------------------------------------------------------------------
|
|
// QuickBBS (old and new) configuration data structures
|
|
// ------------------------------------------------------------------
|
|
|
|
#ifndef __GS_QBBS_H
|
|
#define __GS_QBBS_H
|
|
|
|
|
|
// ------------------------------------------------------------------
|
|
|
|
#if defined(GOLD_CANPACK)
|
|
#pragma pack(1)
|
|
#endif
|
|
|
|
// ------------------------------------------------------------------
|
|
// QuickBBS 2.60, CONFIG.BBS structure
|
|
|
|
typedef struct {
|
|
byte Status; // 0=Disabled 1=Enabled
|
|
char RunTime[6];
|
|
byte ErrorLevel;
|
|
byte Days;
|
|
byte Forced;
|
|
char LastTimeRun[9];
|
|
} Q260EvtRecT, *Q260EvtRecP, **EvtRecI;
|
|
|
|
typedef struct {
|
|
char Name[17];
|
|
byte Typ; // 0=Standard 1=Net 3=Echo
|
|
byte Kinds; // 0=Private & Public 1=Private 2=Public 3=Read-Only
|
|
byte Combined;
|
|
byte Aliases; // 0=no aliases,1=yes,2=ask alias,3=Alias/name
|
|
short ReadSecLvl;
|
|
byte ReadFlags[4];
|
|
short WriteSecLvl;
|
|
byte WriteFlags[4];
|
|
short SysopSecLvl;
|
|
byte SysopFlags[4];
|
|
} Q260BrdRecT, *Q260BrdRecP, **Q260BrdRecI;
|
|
|
|
typedef struct {
|
|
short CommPort;
|
|
word InitBaud;
|
|
word InitTimes;
|
|
word AnswerWait;
|
|
char ModemInitStr[71];
|
|
char ModemBusyStr[71];
|
|
char ModemInitResp[41];
|
|
char ModemBusyResp[41];
|
|
char Resp300[41];
|
|
char Resp1200[41];
|
|
char Resp2400[41];
|
|
char MenuPath[67];
|
|
char TextPath[67];
|
|
char NetPath[67];
|
|
short MinBaud;
|
|
short GraphicsBaud;
|
|
short XferBaud;
|
|
char LowBaudStart[6];
|
|
char LowBaudEnd[6];
|
|
char DownloadStart[6];
|
|
char DownloadEnd[6];
|
|
char PagingStart[6];
|
|
char PagingEnd[6];
|
|
short MatrixZone;
|
|
short MatrixNet;
|
|
short MatrixNode;
|
|
short AkaNet[5];
|
|
short AkaNode[5];
|
|
short NetMailBoard;
|
|
short DefaultSec;
|
|
short DefaultCredit;
|
|
byte DefaultFlags[4];
|
|
char EditorCmdStr[71];
|
|
char OriginLine[61];
|
|
char SysopName[36];
|
|
byte AutoLogonChar;
|
|
byte FastLogon;
|
|
byte ScreenBlanking;
|
|
byte UseLastRead;
|
|
byte MonoMode;
|
|
byte DirectWrite;
|
|
byte SnowCheck;
|
|
byte NetEchoExit;
|
|
byte OneWordNames;
|
|
byte CheckMail;
|
|
byte AskHomePhone;
|
|
byte AskDataPhone;
|
|
byte GraphicsAvail;
|
|
short InactiveTimeOut;
|
|
short LogonTime;
|
|
short DefFgColor;
|
|
short DefBgColor;
|
|
short PasswordTries;
|
|
short MaxPageTimes;
|
|
short PageBellLen;
|
|
byte Use_Xmodem;
|
|
byte Use_Xmodem1k;
|
|
byte Use_Ymodem;
|
|
byte Use_YmodemG;
|
|
byte Use_Sealink;
|
|
byte Use_Zmodem;
|
|
byte Inp_Fields;
|
|
char QuoteStr[4];
|
|
short UploadCredit;
|
|
char LoadingMessage[71];
|
|
char SelectionPrompt[71];
|
|
word VersionID;
|
|
char Resp4800[41];
|
|
char Resp9600[41];
|
|
short AkaZone[5];
|
|
short MatrixPoint;
|
|
short AkaPoint[5];
|
|
byte UseAka[200];
|
|
byte Spare[51];
|
|
Q260EvtRecT Events[30];
|
|
Q260BrdRecT Boards[200];
|
|
} Q260CfgRecT, *Q260CfgRecP;
|
|
|
|
|
|
// ------------------------------------------------------------------
|
|
// QuickBBS 2.76.G2, USERS.BBS structure
|
|
|
|
typedef struct {
|
|
char Name[36];
|
|
char City[26];
|
|
char Pwd[16];
|
|
char DataPhone[13];
|
|
char HomePhone[13];
|
|
char LastTime[6];
|
|
char LastDate[9];
|
|
byte Attrib;
|
|
byte Flagsx[4];
|
|
word Credit;
|
|
word Pending;
|
|
word TimesPosted;
|
|
word HighMsgRead;
|
|
word SecLvl;
|
|
word Times;
|
|
word Ups;
|
|
word Downs;
|
|
word UpK;
|
|
word DownK;
|
|
short TodayK;
|
|
short Elapsed;
|
|
short Len;
|
|
word CombinedPtr; // Record number in COMBINED.BBS
|
|
word AliasPtr; // Record number in ALIAS.BBS
|
|
long Birthday;
|
|
} Q276UsrRecT, *Q276UsrRecP, **Q276UsrRecI;
|
|
|
|
// 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: Sex (0=male, 1=female)
|
|
|
|
|
|
// ------------------------------------------------------------------
|
|
// QuickBBS 2.76.G2, MSGCFG.DAT structure
|
|
|
|
typedef struct {
|
|
word Security;
|
|
byte Flagsx[4];
|
|
} Q276SecRecT;
|
|
|
|
typedef struct {
|
|
char Name[41];
|
|
byte Typ;
|
|
byte Kinds;
|
|
byte Combined;
|
|
byte Aliases;
|
|
byte Aka;
|
|
char OriginLine[59];
|
|
byte AllowDelete;
|
|
word KeepCnt;
|
|
word KillRcvd;
|
|
word KillOld;
|
|
Q276SecRecT ReadSec;
|
|
Q276SecRecT WriteSec;
|
|
Q276SecRecT TemplateSec;
|
|
Q276SecRecT SysopSec;
|
|
short FileArea;
|
|
byte Group;
|
|
byte Spare[9];
|
|
} Q276BrdRecT, *Q276BrdRecP, **Q276BrdRecI;
|
|
|
|
|
|
// ------------------------------------------------------------------
|
|
// QuickBBS 2.76.G2, QUICKCFG.DAT structure
|
|
|
|
typedef struct {
|
|
char TranslateFrom[26];
|
|
word TranslateTo;
|
|
} Q276MdmXltRecT;
|
|
|
|
typedef struct {
|
|
word VersionID;
|
|
byte Node;
|
|
short CommPort; // Modem Parameters
|
|
word InitBaud;
|
|
word ModemDelay;
|
|
short InitTimes;
|
|
short AnswerWait;
|
|
char ModemInitStr[71];
|
|
char ModemBusyStr[71];
|
|
char ModemInitResp[41];
|
|
char ModemBusyResp[41];
|
|
Q276MdmXltRecT ModemConnectResp[8];
|
|
word CBV_CallbackDelay;
|
|
word CBV_WakeupDelay;
|
|
char ARQ_String[9];
|
|
byte ModemSpareInfo[9];
|
|
char EditorCmdStr[71]; // System Paths
|
|
char MenuPath[67];
|
|
char TextPath[67];
|
|
char NetPath[67];
|
|
char NodelistPath[67];
|
|
char MsgPath[67];
|
|
char SwapPath[67];
|
|
char OverlayPath[67];
|
|
char LoadingMessage[71]; // System misc strings
|
|
char SelectionPrompt[71];
|
|
char NoMailString[71];
|
|
char OriginLine[59];
|
|
char QuoteStr[4];
|
|
long LowBaudStart; // User Restrictions
|
|
long LowBaudEnd;
|
|
long DownloadStart;
|
|
long DownloadEnd;
|
|
short MaxPageTimes;
|
|
short PageBellLen;
|
|
long PageStart;
|
|
long PageEnd;
|
|
short MinBaud;
|
|
short GraphicsBaud;
|
|
short XferBaud;
|
|
short MatrixZone[11]; // Matrix Information
|
|
short MatrixNet[11];
|
|
short MatrixNode[11];
|
|
short MatrixPoint[11];
|
|
short NetMailBoard;
|
|
Q276SecRecT DefaultSec; // Default Information for New Users
|
|
Q276SecRecT MinimumSec;
|
|
short DefaultCredit;
|
|
Q276SecRecT SysopSecurity; // Sysop Security Etc.
|
|
char SysopName[36];
|
|
char SystemName[41];
|
|
long RegKey;
|
|
byte TextFileShells; // Misc System Parameters
|
|
byte AltJswap;
|
|
byte Editorswap;
|
|
byte AutoLogonChar;
|
|
byte FastLogon;
|
|
byte UseLastRead;
|
|
byte MonoMode;
|
|
byte DirectWrite;
|
|
byte SnowCheck;
|
|
byte NetEchoExit;
|
|
byte OneWordNames;
|
|
byte CheckMail;
|
|
byte AskHomePhone;
|
|
byte AskDataPhone;
|
|
byte AskBirthday;
|
|
byte AskSex;
|
|
byte Use_Xmodem;
|
|
byte Use_Xmodem1k;
|
|
byte Use_Ymodem;
|
|
byte Use_YmodemG;
|
|
byte Use_Kermit;
|
|
byte Use_Zmodem;
|
|
byte Inp_Fields;
|
|
byte GraphicsAvail;
|
|
byte ForceUS_Phone;
|
|
short InactiveTimeOut;
|
|
short LogonTime;
|
|
short DefFgColor;
|
|
short DefBgColor;
|
|
short PasswordTries;
|
|
byte EntFldColor;
|
|
byte BorderColor;
|
|
byte WindowColor;
|
|
byte StatusBarColor;
|
|
short UploadCredit;
|
|
byte ScreenBlank;
|
|
char VerifierInit[36]; // Callback verifier
|
|
char DialString[16];
|
|
char DialSuffix[16];
|
|
byte DupeCheck;
|
|
word NewUserSec;
|
|
word MemberSec;
|
|
char MemberFlags[4][8];
|
|
word LDcost;
|
|
byte LDenable;
|
|
byte ResumeLocal;
|
|
byte ResumeLD;
|
|
long LDstart;
|
|
long LDend;
|
|
byte ForgotPwdBoard;
|
|
byte SendATA;
|
|
char Location[61];
|
|
byte ArchiveNetMail;
|
|
byte IEMSI;
|
|
byte IEMSI_New;
|
|
byte AutoAnsi;
|
|
byte MultiNode;
|
|
byte ExtraSpace[332];
|
|
} Q276CfgRecT, *Q276CfgRecP;
|
|
|
|
|
|
// ------------------------------------------------------------------
|
|
// RemoteAccess 2.00 GAMMA, USERS.BBS structure
|
|
|
|
// Some Pascal types
|
|
typedef char Char;
|
|
typedef uint8_t Byte;
|
|
typedef uint8_t Boolean;
|
|
typedef int16_t Integer;
|
|
typedef uint16_t Word;
|
|
typedef int32_t LongInt;
|
|
|
|
typedef Byte FlagType[4];
|
|
typedef Char Time[6];
|
|
typedef Char Date[9];
|
|
|
|
typedef struct {
|
|
|
|
char name[36];
|
|
char location[26];
|
|
char organisation[51];
|
|
char address1[51];
|
|
char address2[51];
|
|
char address3[51];
|
|
char handle[36];
|
|
char comment[81];
|
|
long passwordcrc;
|
|
char dataphone[16];
|
|
char voicephone[16];
|
|
char lasttime[6];
|
|
char lastdate[9];
|
|
byte attribute;
|
|
byte attribute2;
|
|
byte flagsx[4];
|
|
long credit;
|
|
long pending;
|
|
word msgsposted;
|
|
word security;
|
|
long lastread;
|
|
long nocalls;
|
|
long uploads;
|
|
long downloads;
|
|
long uploadsk;
|
|
long downloadsk;
|
|
long todayk;
|
|
short elapsed;
|
|
word screenlength;
|
|
byte lastpwdchange;
|
|
word group;
|
|
word combinedinfo[200];
|
|
char firstdate[9];
|
|
char birthdate[9];
|
|
char subdate[9];
|
|
byte screenwidth;
|
|
byte language;
|
|
byte dateformat;
|
|
char forwardto[36];
|
|
word msgarea;
|
|
word filearea;
|
|
char defaultprotocol;
|
|
word filegroup;
|
|
byte lastdobcheck;
|
|
byte sex;
|
|
long xirecord;
|
|
word msggroup;
|
|
byte freespace[48];
|
|
|
|
} RA2UsrRecT, *RA2UsrRecP, **RA2UsrRecI;
|
|
|
|
|
|
// ------------------------------------------------------------------
|
|
|
|
#if defined(GOLD_CANPACK)
|
|
#pragma pack()
|
|
#endif
|
|
|
|
// ------------------------------------------------------------------
|
|
|
|
#endif
|
|
|
|
// ------------------------------------------------------------------
|
|
|