499 lines
15 KiB
C++
499 lines
15 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$
|
|
// ------------------------------------------------------------------
|
|
// RemoteAccess 2.xx configuration data structures.
|
|
// ------------------------------------------------------------------
|
|
|
|
#ifndef __GS_RA2_H
|
|
#define __GS_RA2_H
|
|
|
|
|
|
// ------------------------------------------------------------------
|
|
|
|
#if defined(GOLD_CANPACK)
|
|
#pragma pack(1)
|
|
#endif
|
|
|
|
// ------------------------------------------------------------------
|
|
//
|
|
// C++ structures for RemoteAccess 2.00 GAMMA.
|
|
//
|
|
// Based on the document STRUCT.200 which is (C) Copyright Andrew
|
|
// Milner & Continental Software, 1993. All rights reserved.
|
|
//
|
|
// ------------------------------------------------------------------
|
|
|
|
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 ra_Time[6];
|
|
typedef Char Date[9];
|
|
typedef Char LongDate[10];
|
|
typedef Byte ByteArray32[32];
|
|
|
|
typedef Byte AskType;
|
|
typedef Byte VideoType;
|
|
typedef Byte MsgType;
|
|
typedef Byte MsgKindsType;
|
|
typedef Byte OrphanType;
|
|
|
|
enum _AskType { Yes, No, Ask, Only };
|
|
enum _VideoType { Auto, Short, Long };
|
|
enum _MsgType { LocalMail, NetMail, EchoMail };
|
|
enum _MsgKindsType { Both, Private, Public, ROnly, NoReply };
|
|
enum _OrphanType { Ignore, Create, Kill };
|
|
|
|
struct NetAddress {
|
|
Word Zone,
|
|
Net,
|
|
Node,
|
|
Point;
|
|
};
|
|
|
|
typedef Char MSGTOIDXrecord[36];
|
|
|
|
struct USERSIDXrecord {
|
|
LongInt NameCRC32,
|
|
HandleCRC32;
|
|
};
|
|
|
|
typedef Word COMBINEDrecord[200];
|
|
|
|
struct USERSrecord {
|
|
MSGTOIDXrecord Name;
|
|
Char Location[26];
|
|
Char Organisation[51];
|
|
Char Address1[51];
|
|
Char Address2[51];
|
|
Char Address3[51];
|
|
Char Handle[36];
|
|
Char Comment[81];
|
|
LongInt PasswordCRC;
|
|
Char DataPhone[16];
|
|
Char VoicePhone[16];
|
|
ra_Time LastTime;
|
|
Date LastDate;
|
|
|
|
Byte Attribute,
|
|
|
|
/* 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 */
|
|
|
|
Attribute2;
|
|
|
|
/* Bit 0 : Hot-keys
|
|
1 : AVT/0
|
|
2 : Full screen message viewer
|
|
3 : Hidden from userlist
|
|
4 : Page priority
|
|
5 : No echomail in mailbox scan
|
|
6 : Guest account
|
|
7 : Post bill enabled */
|
|
|
|
FlagType Flagsx;
|
|
LongInt Credit,
|
|
Pending;
|
|
Word MsgsPosted,
|
|
Security;
|
|
LongInt LastRead,
|
|
NoCalls,
|
|
Uploads,
|
|
Downloads,
|
|
UploadsK,
|
|
DownloadsK,
|
|
TodayK;
|
|
Integer Elapsed;
|
|
Word ScreenLength;
|
|
Byte LastPwdChange;
|
|
Word Group;
|
|
COMBINEDrecord CombinedInfo;
|
|
Date FirstDate,
|
|
BirthDate,
|
|
SubDate;
|
|
Byte ScreenWidth,
|
|
Language,
|
|
DateFormat;
|
|
Char ForwardTo[36];
|
|
Word MsgArea,
|
|
FileArea;
|
|
Char DefaultProtocol;
|
|
Word FileGroup;
|
|
Byte LastDOBCheck;
|
|
Byte Sex;
|
|
LongInt XIrecord;
|
|
Word MsgGroup;
|
|
Byte FreeSpace[48];
|
|
};
|
|
|
|
struct USERSXIrecord {
|
|
Byte FreeSpace[200];
|
|
};
|
|
|
|
struct MESSAGErecord {
|
|
Word AreaNum; // NEW in 2.50
|
|
Word Unused;
|
|
Char Name[41];
|
|
MsgType Typ;
|
|
MsgKindsType MsgKinds;
|
|
Byte Attribute;
|
|
|
|
/* Bit 0 : Enable EchoInfo
|
|
1 : Combined access
|
|
2 : File attaches
|
|
3 : Allow aliases
|
|
4 : Use SoftCRs as Characters
|
|
5 : Force handle
|
|
6 : Allow deletes
|
|
7 : Is a JAM area */
|
|
|
|
Byte DaysKill, /* Kill older than 'x' days */
|
|
RecvKill; /* Kill recv msgs, recv for more than 'x' days */
|
|
Word CountKill;
|
|
|
|
Word ReadSecurity;
|
|
FlagType ReadFlags,
|
|
ReadNotFlags;
|
|
|
|
Word WriteSecurity;
|
|
FlagType WriteFlags,
|
|
WriteNotFlags;
|
|
|
|
Word SysopSecurity;
|
|
FlagType SysopFlags,
|
|
SysopNotFlags;
|
|
|
|
Char OriginLine[61];
|
|
Byte AkaAddress;
|
|
|
|
Byte Age;
|
|
|
|
Char JAMbase[61];
|
|
Word Group;
|
|
Word AltGroup[3];
|
|
|
|
Byte Attribute2;
|
|
|
|
/* Bit 0 : Include in all groups */
|
|
|
|
Byte FreeSpace2[9];
|
|
};
|
|
|
|
struct GROUPrecord {
|
|
Word AreaNum;
|
|
Char Name[41];
|
|
Word Security;
|
|
FlagType Flagsx,
|
|
NotFlagsMask;
|
|
Byte FreeSpace[100];
|
|
};
|
|
|
|
struct CONFrecord {
|
|
Char Name[9];
|
|
Char Parent[9];
|
|
Char Desc[71];
|
|
Byte Attr;
|
|
|
|
/* Bit 0 : Private
|
|
1 : Unlisted
|
|
2 : Global
|
|
3 : Permanent
|
|
4 : Use handles
|
|
*/
|
|
|
|
Char Moderator[36];
|
|
Char Language[21];
|
|
Char Password[16];
|
|
Word Security;
|
|
FlagType Flagsx;
|
|
Byte NumNodes;
|
|
Byte Active[250];
|
|
Boolean Child[250];
|
|
FlagType NotFlagsMask;
|
|
Byte FreeSpace[96];
|
|
};
|
|
|
|
struct ARCrecord {
|
|
Char Extension[4];
|
|
Char UnpackCmd[61];
|
|
Char PackCmd[61];
|
|
};
|
|
|
|
struct CONFIGrecord {
|
|
Word VersionID;
|
|
Byte xCommPort;
|
|
LongInt xBaud;
|
|
Byte xInitTries;
|
|
Char xInitStr[71];
|
|
Char xBusyStr[71];
|
|
Char xInitResp[41];
|
|
Char xBusyResp[41];
|
|
Char xConnect300[41];
|
|
Char xConnect1200[41];
|
|
Char xConnect2400[41];
|
|
Char xConnect4800[41];
|
|
Char xConnect9600[41];
|
|
Char xConnect19k[41];
|
|
Char xConnect38k[41];
|
|
Boolean xAnswerPhone;
|
|
Char xRing[21];
|
|
Char xAnswerStr[21];
|
|
Boolean xFlushBuffer;
|
|
Integer xModemDelay;
|
|
|
|
Word MinimumBaud;
|
|
Word GraphicsBaud,
|
|
TransferBaud;
|
|
ra_Time SlowBaudTimeStart,
|
|
SlowBaudTimeEnd,
|
|
DownloadTimeStart,
|
|
DownloadTimeEnd;
|
|
|
|
ra_Time PageStart[7];
|
|
ra_Time PageEnd[7];
|
|
|
|
Char SeriNum[23];
|
|
Char CustNum[23];
|
|
Byte FreeSpace1[24];
|
|
Word PwdExpiry;
|
|
|
|
Char MenuPath[61];
|
|
Char TextPath[61];
|
|
Char AttachPath[61];
|
|
Char NodelistPath[61];
|
|
Char MsgBasePath[61];
|
|
Char SysPath[61];
|
|
Char ExternalEdCmd[61];
|
|
|
|
NetAddress Address[10];
|
|
Char SystemName[31];
|
|
|
|
Word NewSecurity;
|
|
Word NewCredit;
|
|
FlagType NewFlags;
|
|
|
|
Char OriginLine[61];
|
|
Char QuoteString[16];
|
|
Char Sysop[36];
|
|
Char LogFileName[61];
|
|
Boolean FastLogon,
|
|
AllowSysRem,
|
|
MonoMode,
|
|
StrictPwdChecking,
|
|
DirectWrite,
|
|
SnowCheck;
|
|
Integer CreditFactor;
|
|
|
|
Word UserTimeOut,
|
|
LogonTime,
|
|
PasswordTries,
|
|
MaxPage,
|
|
PageLength;
|
|
Boolean CheckForMultiLogon,
|
|
ExcludeSysopFromList,
|
|
OneWordNames;
|
|
AskType CheckMail;
|
|
Boolean AskVoicePhone,
|
|
AskDataPhone,
|
|
DoFullMailCheck,
|
|
AllowFileShells,
|
|
FixUploadDates,
|
|
FreezeChat;
|
|
AskType ANSI, /* ANSI: Yes, no, or ask new users */
|
|
ClearScreen, /* Clear: " */
|
|
MorePrompt; /* More: " */
|
|
Boolean UploadMsgs;
|
|
AskType KillSent; /* Kill/Sent " */
|
|
|
|
Word CrashAskSec; /* Min sec# to ask 'Crash Mail ?' */
|
|
FlagType CrashAskFlags;
|
|
Word CrashSec; /* Min sec# to always send crash mail. */
|
|
FlagType CrashFlags;
|
|
Word FAttachSec; /* " ask 'File Attach ?' */
|
|
FlagType FAttachFlags;
|
|
|
|
Byte NormFore,
|
|
NormBack,
|
|
StatFore,
|
|
StatBack,
|
|
HiBack,
|
|
HiFore,
|
|
WindFore,
|
|
WindBack,
|
|
ExitLocal,
|
|
Exit300,
|
|
Exit1200,
|
|
Exit2400,
|
|
Exit4800,
|
|
Exit9600,
|
|
Exit19k,
|
|
Exit38k;
|
|
|
|
Boolean MultiLine;
|
|
Byte MinPwdLen;
|
|
Word MinUpSpace;
|
|
AskType HotKeys;
|
|
Byte BorderFore,
|
|
BorderBack,
|
|
BarFore,
|
|
BarBack,
|
|
LogStyle,
|
|
MultiTasker,
|
|
PwdBoard;
|
|
Word xBufferSize;
|
|
Char FKeys[10][61];
|
|
|
|
Boolean WhyPage;
|
|
Byte LeaveMsg;
|
|
Boolean ShowMissingFiles,
|
|
xLockModem;
|
|
Byte FreeSpace2[10];
|
|
Boolean AllowNetmailReplies;
|
|
Char LogonPrompt[41];
|
|
AskType CheckNewFiles;
|
|
Char ReplyHeader[61];
|
|
Byte BlankSecs;
|
|
Byte ProtocolAttrib[6];
|
|
Char xErrorFreeString[16];
|
|
Byte xDefaultCombined[25];
|
|
Word RenumThreshold;
|
|
Char LeftBracket,
|
|
RightBracket;
|
|
Boolean AskForHandle;
|
|
Boolean AskForBirthDate;
|
|
|
|
Word GroupMailSec;
|
|
|
|
Boolean ConfirmMsgDeletes;
|
|
|
|
Byte FreeSpace4[30];
|
|
|
|
Char TempScanDir[61];
|
|
AskType ScanNow;
|
|
Byte xUnknownArcAction,
|
|
xFailedUnpackAction,
|
|
FailedScanAction; /* Bit 0:Mark deleted, 1:Mark unlisted, 2:Mark notavail */
|
|
Word xUnknownArcArea,
|
|
xFailedUnpackArea,
|
|
FailedScanArea;
|
|
Char ScanCmd[61];
|
|
Boolean xDeductIfUnknown;
|
|
|
|
Byte NewUserGroup;
|
|
AskType AVATAR;
|
|
Byte BadPwdArea;
|
|
Char Location[41];
|
|
Byte DoAfterAction; /* 0 = wait for CR, > 0 = wait for x seconds */
|
|
Char OldFileLine[41];
|
|
Byte CRfore,
|
|
CRback;
|
|
Char LangHdr[41];
|
|
Boolean xSendBreak;
|
|
Char ListPath[61];
|
|
AskType FullMsgView;
|
|
AskType EMSI_Enable;
|
|
Boolean EMSI_NewUser;
|
|
|
|
Char EchoChar[2];
|
|
Char xConnect7200[41];
|
|
Char xConnect12000[41];
|
|
Char xConnect14400[41];
|
|
Byte Exit7200;
|
|
Byte Exit12000;
|
|
Byte Exit14400;
|
|
Char ChatCommand[61];
|
|
AskType ExtEd;
|
|
Byte NewuserLanguage;
|
|
Char LanguagePrompt[41];
|
|
VideoType VideoMode;
|
|
Boolean AutoDetectANSI;
|
|
Boolean xOffHook;
|
|
Byte NewUserDateFormat;
|
|
Char KeyboardPwd[16];
|
|
Boolean CapLocation;
|
|
Byte NewuserSub;
|
|
Char PrinterName[5];
|
|
Byte HilitePromptFore,
|
|
HiLitePromptBack;
|
|
Char xInitStr2[71];
|
|
Boolean AltJSwap;
|
|
Char SemPath[61];
|
|
Boolean AutoChatCapture;
|
|
|
|
Char FileBasePath[61];
|
|
Boolean NewFileTag;
|
|
Boolean IgnoreDupeExt;
|
|
Char TempCDFilePath[61];
|
|
Byte TagFore,
|
|
TagBack;
|
|
Char xConnect16k[41];
|
|
Byte Exit16k,
|
|
FilePayback;
|
|
Char FileLine[201];
|
|
Char FileMissingLine[201];
|
|
Byte NewUserULCredit;
|
|
Word NewUserULCreditK;
|
|
ARCrecord ArcInfo[10];
|
|
Char RAMGRAltFKeys[5][61];
|
|
Char ArcViewCmd[61];
|
|
Char xConnectFax[41];
|
|
Byte ExitFax;
|
|
Boolean UseXMS,
|
|
UseEMS;
|
|
Byte CheckDOB;
|
|
AskType EchoCheck;
|
|
Word ccSec,
|
|
ReturnRecSec;
|
|
Boolean HonourNetReq;
|
|
COMBINEDrecord DefaultCombined;
|
|
Boolean AskForSex,
|
|
AskForAddress;
|
|
AskType DLdesc;
|
|
Boolean NewPhoneScan;
|
|
Byte FutureExpansion[587];
|
|
};
|
|
|
|
|
|
// ------------------------------------------------------------------
|
|
|
|
#if defined(GOLD_CANPACK)
|
|
#pragma pack()
|
|
#endif
|
|
|
|
// ------------------------------------------------------------------
|
|
|
|
#endif
|
|
|
|
// ------------------------------------------------------------------
|
|
|