// 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 // ------------------------------------------------------------------