1 // This may look like C code, but it is really -*- C++ -*- 2 3 // ------------------------------------------------------------------ 4 // The Goldware Library 5 // Copyright (C) 1990-1999 Odinn Sorensen 6 // ------------------------------------------------------------------ 7 // This library is free software; you can redistribute it and/or 8 // modify it under the terms of the GNU Library General Public 9 // License as published by the Free Software Foundation; either 10 // version 2 of the License, or (at your option) any later version. 11 // 12 // This library is distributed in the hope that it will be useful, 13 // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 // Library General Public License for more details. 16 // 17 // You should have received a copy of the GNU Library General Public 18 // License along with this program; if not, write to the Free 19 // Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 20 // MA 02111-1307, USA 21 // ------------------------------------------------------------------ 22 // $Id: gs_fm092.h,v 1.2 2005/10/21 02:31:39 ssianky Exp $ 23 // ------------------------------------------------------------------ 24 // Structures for FMail 0.92 25 // ------------------------------------------------------------------ 26 27 #ifndef __gs_fm092_h 28 #define __gs_fm092_h 29 30 31 // ------------------------------------------------------------------ 32 33 #include <gftnall.h> 34 35 36 // ------------------------------------------------------------------ 37 38 #if defined(GOLD_CANPACK) 39 #pragma pack(1) 40 #endif 41 42 43 // ------------------------------------------------------------------ 44 45 #define MAX_AKAS 11 46 47 typedef struct { 48 ftn_addr nodeNum; 49 word fakeNet; 50 } nodeFakeType; 51 52 typedef char pathType[48]; 53 typedef char tempStrType[128]; 54 typedef nodeFakeType akaListType[MAX_AKAS]; 55 typedef char archiverInfo[48]; 56 57 typedef struct { 58 word useEMS : 1; /* BIT 0 */ 59 word : 1; 60 word swap : 1; /* BIT 2 */ 61 word swapEMS : 1; /* BIT 3 */ 62 word swapXMS : 1; /* BIT 4 */ 63 word : 1; 64 word monochrome : 1; /* BIT 6 */ 65 word commentFFD : 1; /* BIT 7 */ 66 word PTAreasBBS : 1; /* BIT 8 */ 67 word commentFRA : 1; /* BIT 9 */ 68 word keepReceipt : 1; /* BIT 10 */ 69 word : 1; 70 word : 1; 71 word : 1; 72 word : 1; 73 word extraHandles : 1; /* BIT 15 */ 74 } genOptionsType; 75 76 typedef struct { 77 word removeNetKludges : 1; /* Bit 0 */ 78 word : 1; 79 word checkPktDest : 1; /* Bit 2 */ 80 word areaMgrPwdChange : 1; /* Bit 3 */ 81 word packetPwdChange : 1; /* Bit 4 */ 82 word : 1; 83 word : 1; 84 word : 1; 85 word dupDetection : 1; /* Bit 8 */ 86 word /*strictGroups*/ : 1; /* Bit 9 */ 87 word : 1; /* Bit 10 */ 88 word : 1; 89 word persNetmail : 1; /* Bit 12 */ 90 word : 1; 91 word : 1; 92 word : 1; /* Bit 15 */ 93 } mailOptionsType; 94 95 typedef struct { 96 word sortNew : 1; /* bit 0 */ 97 word sortSubject : 1; /* bit 1 */ 98 word updateChains : 1; /* bit 2 */ 99 word : 1; /* bit 3 */ 100 word _importSeenBy: 1; /* bit 4 */ 101 word _removePID : 1; /* bit 5 not USED */ 102 word removeRe : 1; /* bit 6 */ 103 word removeLfSr : 1; /* bit 7 */ 104 word scanAlways : 1; /* bit 8 */ 105 word scanUpdate : 1; /* bit 9 */ 106 word multiLine : 1; /* bit 10 */ 107 word : 1; /* bit 11 */ 108 word quickToss : 1; /* bit 12 */ 109 word : 1; /* bit 13-14 */ 110 word : 1; /* bit 13-14 */ 111 word sysopImport : 1; /* bit 15 */ 112 } mbOptionsType; 113 114 typedef struct { 115 word active : 1; /* Bit 0 */ 116 word tinySeenBy : 1; /* Bit 1 */ 117 word security : 1; /* Bit 2 */ 118 word : 1; /* Bit 3 */ 119 word Private : 1; /* Bit 4 */ 120 word impSeenBy : 1; /* Bit 5 */ 121 word checkSeenBy : 1; /* Bit 6 */ 122 word /*compChar*/: 1; /* Bit 7 */ 123 word local : 1; /* Bit 8 */ 124 word : 1; /* Bit 9 */ 125 word passThrough : 1; /* Bit 10 */ 126 word : 1; /* Bit 11-13 */ 127 word : 1; /* Bit 11-13 */ 128 word : 1; /* Bit 11-13 */ 129 word arrivalDate : 1; /* Bit 14 */ 130 word sysopRead : 1; /* Bit 15 */ 131 } defaultOptionsType; 132 133 typedef struct { 134 char versionMajor; 135 char versionMinor; 136 long creationDate; 137 uint32_t key; 138 uint32_t reservedKey; 139 char sysopNameOld[32]; 140 akaListType akaList; 141 nodeFakeType reservedAka[16-MAX_AKAS]; 142 word netmailBoard[MAX_AKAS]; 143 word reservedNet[16-MAX_AKAS]; 144 genOptionsType genOptions; 145 mbOptionsType mbOptions; 146 mailOptionsType mailOptions; 147 word maxPktSize; 148 word logLevel; 149 word mailer; 150 word bbsProgram; 151 char reserved1[86]; 152 char sysopName[36]; 153 word defaultArc; 154 char reserved2[98]; 155 word recBoard; 156 word badBoard; 157 word dupBoard; 158 char topic1[16]; 159 char topic2[16]; 160 pathType bbsPath; 161 pathType netPath; 162 pathType sentPath; 163 pathType rcvdPath; 164 pathType inPath; 165 pathType outPath; 166 pathType securePath; 167 pathType logName; 168 pathType swapPath; 169 pathType semaphorePath; 170 pathType pmailPath; 171 pathType areaMgrLogName; 172 pathType autoRAPath; 173 pathType autoFolderFdPath; 174 pathType autoAreasBBSPath; 175 pathType autoGoldEdAreasPath; 176 archiverInfo unArc; 177 archiverInfo unZip; 178 archiverInfo unLzh; 179 archiverInfo unPak; 180 archiverInfo unZoo; 181 archiverInfo unArj; 182 archiverInfo reservedArc1; 183 archiverInfo reservedArc2; 184 archiverInfo arc; 185 archiverInfo zip; 186 archiverInfo lzh; 187 archiverInfo pak; 188 archiverInfo zoo; 189 archiverInfo arj; 190 archiverInfo reservedArc3; 191 archiverInfo reservedArc4; 192 char defaultOriginLine[59]; 193 defaultOptionsType 194 defaultOptions; 195 word defaultDays; 196 word defaultMsgs; 197 word defaultReadSecRA; 198 char defaultReadFlagsRA[4]; 199 word defaultWriteSecRA; 200 char defaultWriteFlagsRA[4]; 201 word defaultSysopSecRA; 202 char defaultSysopFlagsRA[4]; 203 char defaultAttrRA; 204 char reserved3[428]; 205 char groupDescr[26][27]; 206 char reserved4[20]; 207 char attrRA[11]; 208 word readSecRA[11]; 209 char readFlagsRA[11][4]; 210 word writeSecRA[11]; 211 char writeFlagsRA[11][4]; 212 word sysopSecRA[11]; 213 char sysopFlagsRA[11][4]; 214 word daysAKA[11]; 215 word msgsAKA[11]; 216 char descrAKA[11][51]; 217 } configType; 218 219 #define ECHONAME_LEN_OLD 25 220 #define ECHONAME_LEN 51 221 #define COMMENT_LEN 51 222 #define ORGLINE_LEN 59 223 #define MAX_FORWARD 64 224 225 typedef struct { 226 word active : 1; /* Bit 0 */ 227 word tinySeenBy : 1; /* Bit 1 */ 228 word security : 1; /* Bit 2 */ 229 word : 1; /* Bit 3 */ 230 word Private : 1; /* Bit 4 */ 231 word impSeenBy : 1; /* Bit 5 */ 232 word checkSeenBy : 1; /* Bit 6 */ 233 word /*compChar*/: 1; /* Bit 7 */ 234 word local : 1; /* Bit 8 */ 235 word : 1; /* Bit 9 */ 236 word reserved : 1; /* Bit 10 */ /* default pass-thru bit */ 237 word : 1; /* Bit 11-13 */ 238 word : 1; /* Bit 11-13 */ 239 word : 1; /* Bit 11-13 */ 240 word arrivalDate : 1; /* Bit 14 */ 241 word sysopRead : 1; /* Bit 15 */ 242 } areaOptionsType; 243 244 typedef struct { 245 char areaNameOld[ECHONAME_LEN_OLD]; 246 char comment[COMMENT_LEN]; 247 long group; 248 word board; 249 word address; 250 word alsoSeenBy; 251 char reserved1[8]; 252 areaOptionsType options; 253 word outStatus; 254 word days; 255 word msgs; 256 char reserved2[4]; 257 word readSecRA; 258 char flagsRdRA[4]; 259 word writeSecRA; 260 char flagsWrRA[4]; 261 word sysopSecRA; 262 char flagsSysRA[4]; 263 char attrRA; 264 char msgKindsRA; 265 word attrSBBS; 266 char replyStatSBBS; 267 char areaName[ECHONAME_LEN]; 268 char reserved3[17]; 269 char originLine[ORGLINE_LEN]; 270 ftn_addr exp[MAX_FORWARD]; 271 } rawEchoType; 272 273 274 // ------------------------------------------------------------------ 275 276 #if defined(GOLD_CANPACK) 277 #pragma pack() 278 #endif 279 280 281 // ------------------------------------------------------------------ 282 283 #endif 284 285 // ------------------------------------------------------------------ 286