// 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$ // ------------------------------------------------------------------ // Structures for FMail 0.92 // ------------------------------------------------------------------ #ifndef __gs_fm092_h #define __gs_fm092_h // ------------------------------------------------------------------ #include // ------------------------------------------------------------------ #if defined(GOLD_CANPACK) #pragma pack(1) #endif // ------------------------------------------------------------------ #define MAX_AKAS 11 typedef struct { ftn_addr nodeNum; word fakeNet; } nodeFakeType; typedef char pathType[48]; typedef char tempStrType[128]; typedef nodeFakeType akaListType[MAX_AKAS]; typedef char archiverInfo[48]; typedef struct { word useEMS : 1; /* BIT 0 */ word : 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 keepReceipt : 1; /* BIT 10 */ word : 1; word : 1; word : 1; word : 1; word extraHandles : 1; /* BIT 15 */ } genOptionsType; typedef struct { word removeNetKludges : 1; /* Bit 0 */ word : 1; word checkPktDest : 1; /* Bit 2 */ word areaMgrPwdChange : 1; /* Bit 3 */ word packetPwdChange : 1; /* Bit 4 */ word : 1; word : 1; word : 1; word dupDetection : 1; /* Bit 8 */ word /*strictGroups*/ : 1; /* Bit 9 */ word : 1; /* Bit 10 */ word : 1; word persNetmail : 1; /* Bit 12 */ word : 1; word : 1; word : 1; /* Bit 15 */ } mailOptionsType; typedef struct { word sortNew : 1; /* bit 0 */ word sortSubject : 1; /* bit 1 */ word updateChains : 1; /* bit 2 */ word : 1; /* bit 3 */ word _importSeenBy: 1; /* bit 4 */ word _removePID : 1; /* bit 5 not USED */ 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-14 */ word : 1; /* bit 13-14 */ word sysopImport : 1; /* bit 15 */ } mbOptionsType; typedef struct { word active : 1; /* Bit 0 */ word tinySeenBy : 1; /* Bit 1 */ word security : 1; /* Bit 2 */ word : 1; /* Bit 3 */ word Private : 1; /* Bit 4 */ word impSeenBy : 1; /* Bit 5 */ word checkSeenBy : 1; /* Bit 6 */ word /*compChar*/: 1; /* Bit 7 */ word local : 1; /* Bit 8 */ word : 1; /* Bit 9 */ word passThrough : 1; /* Bit 10 */ word : 1; /* Bit 11-13 */ word : 1; /* Bit 11-13 */ word : 1; /* Bit 11-13 */ word arrivalDate : 1; /* Bit 14 */ word sysopRead : 1; /* Bit 15 */ } defaultOptionsType; typedef struct { char versionMajor; char versionMinor; long creationDate; unsigned long key; unsigned long reservedKey; char sysopNameOld[32]; akaListType akaList; nodeFakeType reservedAka[16-MAX_AKAS]; word netmailBoard[MAX_AKAS]; word reservedNet[16-MAX_AKAS]; genOptionsType genOptions; mbOptionsType mbOptions; mailOptionsType mailOptions; word maxPktSize; word logLevel; word mailer; word bbsProgram; char reserved1[86]; char sysopName[36]; word defaultArc; char reserved2[98]; 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 reservedArc1; archiverInfo reservedArc2; archiverInfo arc; archiverInfo zip; archiverInfo lzh; archiverInfo pak; archiverInfo zoo; archiverInfo arj; archiverInfo reservedArc3; archiverInfo reservedArc4; char defaultOriginLine[59]; defaultOptionsType defaultOptions; word defaultDays; word defaultMsgs; word defaultReadSecRA; char defaultReadFlagsRA[4]; word defaultWriteSecRA; char defaultWriteFlagsRA[4]; word defaultSysopSecRA; char defaultSysopFlagsRA[4]; char defaultAttrRA; char reserved3[428]; char groupDescr[26][27]; char reserved4[20]; char attrRA[11]; word readSecRA[11]; char readFlagsRA[11][4]; word writeSecRA[11]; char writeFlagsRA[11][4]; word sysopSecRA[11]; char sysopFlagsRA[11][4]; word daysAKA[11]; word msgsAKA[11]; char descrAKA[11][51]; } configType; #define ECHONAME_LEN_OLD 25 #define ECHONAME_LEN 51 #define COMMENT_LEN 51 #define ORGLINE_LEN 59 #define MAX_FORWARD 64 typedef struct { word active : 1; /* Bit 0 */ word tinySeenBy : 1; /* Bit 1 */ word security : 1; /* Bit 2 */ word : 1; /* Bit 3 */ word Private : 1; /* Bit 4 */ word impSeenBy : 1; /* Bit 5 */ word checkSeenBy : 1; /* Bit 6 */ word /*compChar*/: 1; /* Bit 7 */ word local : 1; /* Bit 8 */ word : 1; /* Bit 9 */ word reserved : 1; /* Bit 10 */ /* default pass-thru bit */ word : 1; /* Bit 11-13 */ word : 1; /* Bit 11-13 */ word : 1; /* Bit 11-13 */ word arrivalDate : 1; /* Bit 14 */ word sysopRead : 1; /* Bit 15 */ } areaOptionsType; typedef struct { char areaNameOld[ECHONAME_LEN_OLD]; char comment[COMMENT_LEN]; long group; word board; word address; word alsoSeenBy; char reserved1[8]; areaOptionsType options; word outStatus; word days; word msgs; char reserved2[4]; word readSecRA; char flagsRdRA[4]; word writeSecRA; char flagsWrRA[4]; word sysopSecRA; char flagsSysRA[4]; char attrRA; char msgKindsRA; word attrSBBS; char replyStatSBBS; char areaName[ECHONAME_LEN]; char reserved3[17]; char originLine[ORGLINE_LEN]; ftn_addr exp[MAX_FORWARD]; } rawEchoType; // ------------------------------------------------------------------ #if defined(GOLD_CANPACK) #pragma pack() #endif // ------------------------------------------------------------------ #endif // ------------------------------------------------------------------