This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
deb-goldedplus/goldlib/gcfg/gs_ra2.h

499 lines
15 KiB
C
Raw Normal View History

2000-02-25 10:15:17 +00:00
// 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.
//
// ------------------------------------------------------------------
2005-10-21 00:19:15 +00:00
typedef char Char;
typedef uint8_t Byte;
typedef uint8_t Boolean;
typedef int16_t Integer;
typedef uint16_t Word;
typedef int32_t LongInt;
2000-02-25 10:15:17 +00:00
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
// ------------------------------------------------------------------