// This may look like C code, but it is really -*- C++ -*- // ------------------------------------------------------------------ // The Goldware Library // Copyright (C) 1992-1994 Peter Davies // 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$ // ------------------------------------------------------------------ #ifndef __gs_ez102_h #define __gs_ez102_h // ------------------------------------------------------------------ #include // ------------------------------------------------------------------ #if defined(GOLD_CANPACK) #pragma pack(1) #endif // ------------------------------------------------------------------ // EzyCom structures converted to C format V1.02 9/9/92 // by Peter Davies and Ron Clark // Based on original C Structures for Ezycom V1.00 by Colin Berg // // These structures may ONLY be used in accordance with those // agreements laid out in the Official Ezycom Structures. // Peter Davies or Ron Clark takes no responsibility whatsoever // for the correctness of these structures. #define EZYVER "1.02" #define VERSIONHIGH 1 #define VERSIONLOW 2 #define MAXFREE 685 #define USERFREE 4 #define CONSTANTFREESPACE 89 #define CONSTANTFILEFREESPACE 816 #define MAXNODES 128 #define MAXAKA 16 #define MAXMESS 1024 #define MAXMESSALL 1024 #define MAXBAUDREC 11 typedef char AskType; // 0=yes, 1=no, 2=ask typedef char MsgType; // 0=localmail, 1=netmail, 2=echomail, 3=passthru, 4=waitthru, 5=allmail typedef char MsgKindsType; // 0=public, 1=private, 2=private or public typedef char UserString[36]; typedef uint8_t EzFlagType[4]; // ------------------------------------------------------------------ // CONFIG. structure // // unknownarea = 0 - kill messages // 1 - make a new echomail area // 2 - make a new passthru area // // tossattr2 = bit 0 - [ reserved ] // 1 - [ reserved ] // 2 - kill bad archives // 3 - arcmail 0.6 compat // // autodetect = bit 0 - Auto Detect ANSI // 1 - Ansi Detect for New User // 2 - Auto Detect EMSI // 3 - Auto Detect EMSI & for newuser // // tossattr = bit 0 : [reserved] // 1 : [reserved] // 2 : [reserved] // 3 : dupe detection // 4 : delete netmail on import // 5 : keep echoarea node receipts // 6 : allow message rescan // 7 : [reserved] // // multitasker = 0 = do not detect or use any multitasker // 1 = auto-detect // 2 = desqview (or compatiable) // 3 = double dos // 4 = OS.2 // 5 = multidos plus // 6 = Taskview // 7 = Topview // 8 = PC MOS // 9..255 [reserved] // // printerport = 0 = LPT1 // 1 = LPT2 // 2 = LPT3 // 3 = COM1 // 4 = COM2 // 5 = COM3 // 6 = COM4 typedef struct CONFIGRECORD { char version[9], deflanguage[9], freespace50[68], logpath[61], textpath[61], menupath[61], mnurampath[61], netmailpath[61], nodelistpath[61], msgpath[61], filepath[61], freespace51[61], bipath[61], temppath[61], userbasepath[61], avatarpath[61], ascpath[61], asclowpath[61], filemaint[61], fileattachpath[61], soundpath[61], fastindexpath[61], systempwd[16], // Password to Logon System sysoppwd[16], // Password to Keyboard newuserpwd[16], // Password for Newuser newtopmenu[9], // NewUser TopMenu freespace52[4], inboundmail[61], outboundmail[61], uploadpath[61], swapfile[61], multipath[61], brackets[3], inactivitytime, minmesscheck, maxlogintime, /* unused */ freespace53, answerdelay; char shellswap, highbit, disppass, asklocalpass, fastlogon, sysopremote, printerlog, phone1ask, colourask, aliasask, dobask, phoneforce, direct_video, snow_check; char freespace54; char screen_blank; char oneword; AskType checkmail, checkfile, ansiask, fullscreenask, clearask, moreask, avatarask, extendask, usdateask; char phone2ask, phoneformat[15], nameprompt[61], pwdprompt[61], shellprompt[61], shell2prompt[61], enterprompt[61], chatprompt[61], listprompt[61]; char f7keylinetop[80], f7keylinebot[80], freespace55[84], chat2prompt[61], screenlengthprompt[61], screenclearprompt[61], locationprompt[61], freeprompt[61], loadprompt[61], avatarprompt[61], aliasprompt[61]; word security, logonsecurity; EzFlagType flags; char minpasslength, /* constant */ dispfwind, // Status Bar Colour /* constant */ dispbwind, // Status Bar Colour /* constant */ disppopupf, // Popup Forground /* constant */ disppopupborder, // Popup Border /* constant */ disppopupb, // Popup Background /* constant */ dispf; // Foreground Colour char freespace56, comport, passlogons, doblogon, printerport, passtries; char topmenu[9]; char freespace100[4]; word watchmess, /* constant */ netmailcredit, ansiminbaud, /* unused */ freespace57, slowbaud, minloginbaud, lowsecuritystart, lowsecurityend, slowstart, slowend; char quotestring[6], freespace58, offhook; word forcecrashmail, optioncrashmail, netmailfileattach; char popuphighlight, freespace59, maxpages, maxpagefiles, pagelength; word pagestart[7], /* constant */ pagemessboard, // Message Board for Paging (0=Not In Use) localfattachsec, sectouploadmess, sectoupdateusers, readsecnewecho, writesecnewecho, sysopsecnewecho; word secreplyvianetmail; AskType netmailkillsent; char swaponarchive; char freespace60[9]; char popuptext; word pageend[7]; char freespace61[22]; word incomingcallstart, incomingcallend, /* unused */ freespace62; char altf[10][61], ctrlf[10][41], /* unused */ freespace63[4]; word fp_credit; // Newuser Filepoints char ks_per_fp, // Number of Kilobytes per FP fp_upload, // Filepoints Upload Credit rego_warn_1, rego_warn_2; char freespace64[2]; word min_space_1; char swapbimodem, modembusy, // Toggle DTR or ATH1 scrheight, // 43/50 line mode msgtmptype, // True = MSGTMP False = MSGTMP. swapupload; char phonelogon, carrierdetect; // Carrier Detect (Default=$80) char newfileshighlight; char max_descrip, min_descrip; word requestreceipt; char ushowdate; char ufilesizek; char uuploader, udownloadcount, /* unused */ freespace4, ushowsecurity, sshowdate; char sfilesizek; char suploader, sdownloadcount, /* unused */ freespace5, sshowsecurity, ushowtime, ushowfp, sshowtime, sshowfp; word fp_percent; // Download Filepoints Credit char autodetect; char dispsecurityfile, askforpagereason, delincompletefiles; char freespace65; char swaponfeditview; char freespace6, secfileschar, passchar; char localinactivity; char conversiononmaster; char leftbracket[2], rightbracket[2]; word ignorefp; // Min Security to Ignore FPs char menuminage; // Minimum Age for Age Checks char freespace66; word modemeff[MAXBAUDREC], modembaud[MAXBAUDREC]; char modemconnect[MAXBAUDREC][16]; char freespace67[10]; word configattr; // bit 0: Move Local Uploads, other reserved char usercol1_2, usercol3_4, usercol5_6, usercol7_8, userbkcol, newusercol2, chstatcol, getentercol; char usdateforsysop, ezyovrpath[61]; UserString sysfree3; char ovrems; char swapezy, filesecpath[61]; char freespace28; char multitasker; word maxbaud; // longint in 1.02 char lockedport; word filereqsec; char autoanswer, initresponse[11], ringstring[11]; char inittries, initstring1[61], initstring2[61], busystring[21], answerstring[21], mailerstring[61]; word modemstart, modemend; char modemdelay; char sendbreak; char externaleditor[61], defaultorigin[51], connectfax[16]; char freespace22[16]; word uploadcredit; char sysfree4[36]; char shownewfileschar; word /* unused */ zonea[16], neta[16], nodea[16], pointa[16], /* unused */ freespace24[16]; char freespace9[16][21], nocarrierstring[21]; UserString guestaccount; char freespace[MAXFREE]; } CONFIGRECORD; // ------------------------------------------------------------------ // CONSTANT.EZY record structure // // scantossattr = bit 0 : Dupe Detection // 1 : Kill Null Netmail // 2 : Keep EchoArea Node Receipts // 3 : Import Messages To Sysop // 4 : Route Mail (Off = Direct) // 5 : Kill Bad Archives // 6 : ARCMail 0.6 Compatability // 7-15 : [Reserved] // // constantattr = bit 0 : Sysop Alias in Chat // 1 : Auto Log Chat // 2 : Display Full Message To User // 3 : Do not delete outbound mail bundles with no .MSG // 4-15 : [Reserved] // // unknownarea = 0 : Kill Messages // 1 : Make a New EchoMail Area // 2 : Make a New PassThru Area typedef struct CONSTANTRECORD { char version[9]; char system[41]; UserString sysopname, sysopalias; char systemlocation[36]; char multiline; word maxmess, // maximum usable message areas maxfile; // maximum usable file areas word watchmess, // watchdog message board pagemessboard, // paging message board badpwdmsgboard; // bad pwd message board char mintimeforcall; // minimum time to register call char freespace2[11]; word scantossattr, constantattr; word maxmsgsrescan; // maximum msgs to rescan (0=disable) char qwkfilename[9]; word qwkmaxmail, qwkmsgboard; ftn_addr netaddress[MAXAKA]; word netmailboard[MAXAKA]; char newareagroup[MAXAKA]; word newareastmess[MAXAKA]; char quotestring[6]; char swaponezymail; char unknownarea; char swaponfeditview, swaponarchive; word minspaceupload; char textinputcolour; word badmsgboard; char freespace[CONSTANTFREESPACE]; } CONSTANTRECORD; // ------------------------------------------------------------------ // MESSAGES.EZY record structure // // attribute = bit 0 : allow aliases // 1 : use alias // 2 : use alias, ask for aliases // 3 : test age as defined in config.xx // 4 : combined area access // 5 : local file attaches // 6 : strip private bit on incoming echomail // 7 : security // // attribute2 = bit 0 : show seenby lines // 1 : forced mail check // 2 : strip forward seenbys // 3..4 : [reserved] // 5 : areafix info visible // 6 : initial combined area access // 7 : Do Not use in Template // // attribute3 = [Reserved] // // destnode = nodes 1 to 8 - destnode[1] // nodes 9 to 16 - destnode[2] // nodes 17 to 24 - destnode[3] // etc, etc, etc. typedef struct MESSAGERECORD { char name[31]; char areatag[31]; char qwkname[13]; MsgType typ; MsgKindsType msgkinds; char attribute, attribute2, attribute3; char dayskill, recvkill; word countkill, kilobytekill, readsecurity; EzFlagType readflags; word writesecurity; EzFlagType writeflags; word sysopsecurity; EzFlagType sysopflags; char originline[51]; char originaddress; char seenby[MAXAKA/8]; char areagroup, messgroup; char destnodes[MAXNODES/8]; char echomailfeed; // 0=No Uplink } MESSAGERECORD; // ------------------------------------------------------------------ #if defined(GOLD_CANPACK) #pragma pack() #endif // ------------------------------------------------------------------ #endif // ------------------------------------------------------------------