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_fm10g.h
2005-10-20 18:13:24 +00:00

400 lines
12 KiB
C++

// This may look like C code, but it is really -*- C++ -*-
// ------------------------------------------------------------------
// The Goldware Library
// Copyright (C) 1994 Folkert J. Wijnstra
// 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$
// ------------------------------------------------------------------
// File structures for FMail 1.0g
// ------------------------------------------------------------------
#ifndef __gs_fm10g_h
#define __gs_fm10g_h
// ------------------------------------------------------------------
#include <gftnall.h>
// ------------------------------------------------------------------
#if defined(GOLD_CANPACK)
#pragma pack(1)
#endif
// ------------------------------------------------------------------
typedef struct {
char programName[46];
word memRequired;
} archiverInfo;
typedef char pathType[48];
typedef struct {
ftn_addr nodeNum;
word fakeNet;
} nodeFakeType;
// ------------------------------------------------------------------
#define DATATYPE_CF 0x0102
#define DATATYPE_NO 0x0202
#define DATATYPE_AD 0x0401
#define DATATYPE_AE 0x0402
typedef struct {
char versionString[32]; // Always starts with 'FMail'
word revNumber; // Is now 0x0100
word dataType; // See #defines above
word headerSize;
int32_t creationDate;
int32_t lastModified;
word totalRecords;
word recordSize;
} headerType;
// ------------------------------------------------------------------
// The structure below is used by the Areas File and (only partly)
// by the Config File
typedef struct {
word active : 1; /* Bit 0 */
word tinySeenBy : 1; /* Bit 1 */
word security : 1; /* Bit 2 */
word : 1; /* Bit 3 */
word allowPrivate: 1; /* Bit 4 */
word impSeenBy : 1; /* Bit 5 */
word checkSeenBy : 1; /* Bit 6 */
word : 1; /* Bit 7 */
word local : 1; /* Bit 8 */
word disconnected: 1; /* Bit 9 */
word reserved : 1; /* Bit 10 */
word allowAreafix: 1; /* Bit 11 */
word : 1; /* Bit 12-13 */
word : 1; /* Bit 12-13 */
word arrivalDate : 1; /* Bit 14 */
word sysopRead : 1; /* Bit 15 */
} areaOptionsType;
#define MAX_AKAS 16
#define MAX_NETAKAS 11
#define MAX_USERS 16
#define MAX_UPLREQ 16
#define MAX_MATCH 16
typedef nodeFakeType akaListType[MAX_AKAS];
typedef struct {
word useEMS : 1; /* BIT 0 */
word checkBreak : 1; /* BIT 1 */
word swap : 1; /* BIT 2 */
word swapEMS : 1; /* BIT 3 */
word swapXMS : 1; /* BIT 4 */
word : 1;
word monochrome : 1; /* BIT 6 */
word commentFFD : 1; /* BIT 7 */
word PTAreasBBS : 1; /* BIT 8 */
word commentFRA : 1; /* BIT 9 */
word : 1; /* BIT 10 */
word incBDRRA : 1; /* BIT 11 */
word : 1; /* BIT 12 */
word : 1;
word : 1;
word _RA2 : 1; /* BIT 15 */
} genOptionsType;
typedef struct {
word removeNetKludges : 1; /* Bit 0 */
word : 1;
word checkPktDest : 1; /* Bit 2 */
word : 1;
word createSema : 1; /* Bit 4 */
word : 1;
word warnNewMail : 1; /* bit 6 */
word killBadFAtt : 1; /* Bit 7 */
word dupDetection : 1; /* Bit 8 */
word ignoreMSGID : 1; /* Bit 9 */
word ARCmail060 : 1; /* Bit 10 */
word extNames : 1; /* Bit 11 */
word persNetmail : 1; /* Bit 12 */
word privateImport : 1; /* Bit 13 */
word keepExpNetmail : 1; /* Bit 14 */
word killEmptyNetmail : 1; /* Bit 15 */
} mailOptionsType;
typedef struct {
word sortNew : 1; /* bit 0 */
word sortSubject : 1; /* bit 1 */
word updateChains : 1; /* bit 2 */
word reTear : 1; /* bit 3 */
word : 1; /* bit 4 */
word : 1; /* bit 5 */
word removeRe : 1; /* bit 6 */
word removeLfSr : 1; /* bit 7 */
word scanAlways : 1; /* bit 8 */
word scanUpdate : 1; /* bit 9 */
word multiLine : 1; /* bit 10 */
word : 1; /* bit 11 */
word quickToss : 1; /* bit 12 */
word : 1; /* bit 13 */
word : 1; /* bit 14 */
word sysopImport : 1; /* bit 15 */
} mbOptionsType;
typedef struct {
word keepRequest : 1; /* Bit 0 */
word keepReceipt : 1; /* Bit 1 */
word : 1; /* Bit 2 */
word : 1; /* Bit 3 */
word autoDiscArea : 1; /* Bit 4 */
word autoDiscDel : 1; /* Bit 5 has temp. no effect, rec is always deleted */
word : 1; /* Bit 6 */
word : 1; /* Bit 7 */
word : 1; /* Bit 8 */
word allowAddAll : 1; /* Bit 9 */
word allowActive : 1; /* Bit 10 */
word : 1; /* Bit 11 */
word allowPassword: 1; /* Bit 12 */
word allowPktPwd : 1; /* Bit 13 */
word allowNotify : 1; /* Bit 14 */
word allowCompr : 1; /* Bit 15 */
} mgrOptionsType;
typedef struct {
word addPlusPrefix : 1; /* BIT 0 */
word : 1;
word : 1;
word : 1;
word unconditional : 1; /* BIT 4 */
word : 11;
} uplOptType;
typedef struct {
char userName[36];
char reserved[28];
} userType;
typedef struct {
ftn_addr node;
char program[9];
char password[17];
char fileName[13];
char fileType;
dword groups;
char originAka;
uplOptType options;
char reserved[9];
} uplinkReqType;
typedef struct {
word valid;
word zone;
word net;
word node;
} akaMatchNodeType;
typedef struct {
akaMatchNodeType amNode;
word aka;
} akaMatchType;
typedef struct {
char versionMajor;
char versionMinor;
int32_t creationDate;
dword key;
dword reservedKey;
dword relKey1;
dword relKey2;
char reserved1[22];
mgrOptionsType mgrOptions;
akaListType akaList;
word netmailBoard[MAX_NETAKAS];
word reservedNet[16-MAX_NETAKAS];
genOptionsType genOptions;
mbOptionsType mbOptions;
mailOptionsType mailOptions;
word maxPktSize;
word reserved2;
word mailer;
word bbsProgram;
word maxBundleSize;
word extraHandles; /* 0-235 */
word autoRenumber;
word bufSize;
word ftBufSize;
word allowedNumNetmail;
word logInfo;
word logStyle;
char reserved3[68];
word colorSet;
char sysopName[36];
word defaultArc;
char reserved4[24];
char tearType;
char tearLine[25];
pathType summaryLogName;
word recBoard;
word badBoard;
word dupBoard;
char topic1[16];
char topic2[16];
pathType bbsPath;
pathType netPath;
pathType sentPath;
pathType rcvdPath;
pathType inPath;
pathType outPath;
pathType securePath;
pathType logName;
pathType swapPath;
pathType semaphorePath;
pathType pmailPath;
pathType areaMgrLogName;
pathType autoRAPath;
pathType autoFolderFdPath;
pathType autoAreasBBSPath;
pathType autoGoldEdAreasPath;
archiverInfo unArc;
archiverInfo unZip;
archiverInfo unLzh;
archiverInfo unPak;
archiverInfo unZoo;
archiverInfo unArj;
archiverInfo unSqz;
archiverInfo GUS;
archiverInfo arc;
archiverInfo zip;
archiverInfo lzh;
archiverInfo pak;
archiverInfo zoo;
archiverInfo arj;
archiverInfo sqz;
archiverInfo customArc;
char reserved5[83];
areaOptionsType optionsAKA[MAX_NETAKAS]; /* 'areaOptionsType' below */
char groupsQBBS[MAX_NETAKAS];
word templateSecQBBS[MAX_NETAKAS];
char templateFlagsQBBS[MAX_NETAKAS][4];
char attr2RA[MAX_NETAKAS];
char aliasesQBBS[MAX_NETAKAS];
word groupRA[MAX_NETAKAS];
word altGroupRA[MAX_NETAKAS][3];
char qwkNameSBBS[MAX_NETAKAS][13];
word minAgeSBBS[MAX_NETAKAS];
word daysRcvdAKA[MAX_NETAKAS];
char replyStatSBBS[MAX_NETAKAS];
word attrSBBS[MAX_NETAKAS];
char groupDescr[26][27];
char reserved6[9];
char msgKindsRA[MAX_NETAKAS];
char attrRA[MAX_NETAKAS];
word readSecRA[MAX_NETAKAS];
char readFlagsRA[MAX_NETAKAS][4];
word writeSecRA[MAX_NETAKAS];
char writeFlagsRA[MAX_NETAKAS][4];
word sysopSecRA[MAX_NETAKAS];
char sysopFlagsRA[MAX_NETAKAS][4];
word daysAKA[MAX_NETAKAS];
word msgsAKA[MAX_NETAKAS];
char descrAKA[MAX_NETAKAS][51];
userType users[MAX_USERS];
akaMatchType akaMatch[MAX_MATCH];
char reserved7[2048-10*MAX_MATCH];
uplinkReqType uplinkReq[MAX_UPLREQ];
} configType;
#define MAX_FORWARD 64
#define MB_PATH_LEN_OLD 19
#define MB_PATH_LEN 61
#define ECHONAME_LEN_090 25
#define ECHONAME_LEN 51
#define COMMENT_LEN 51
#define ORGLINE_LEN 59
typedef char areaNameType[ECHONAME_LEN];
typedef struct {
word signature;
word writeLevel;
areaNameType areaName;
char comment[COMMENT_LEN];
areaOptionsType options;
word boardNumRA;
char msgBaseType;
char msgBasePath[MB_PATH_LEN];
word board;
char originLine[ORGLINE_LEN];
word address;
dword group;
word alsoSeenBy;
word msgs;
word days;
word daysRcvd;
ftn_addr exp[MAX_FORWARD];
word readSecRA;
char flagsRdNotRA[4];
char flagsRdRA[4];
word writeSecRA;
char flagsWrNotRA[4];
char flagsWrRA[4];
word sysopSecRA;
char flagsSysRA[4];
char flagsSysNotRA[4];
word templateSecQBBS;
char flagsTemplateQBBS[4];
char reserved2;
word netReplyBoardRA;
char boardTypeRA;
char attrRA;
char attr2RA;
word groupRA;
word altGroupRA[3];
char msgKindsRA;
char qwkName[13];
word minAgeSBBS;
word attrSBBS;
char replyStatSBBS;
char groupsQBBS;
char aliasesQBBS;
} rawEchoType;
// ------------------------------------------------------------------
#if defined(GOLD_CANPACK)
#pragma pack()
#endif
// ------------------------------------------------------------------
#endif
// ------------------------------------------------------------------