home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / MAM100.ZIP / RA.H < prev    next >
C/C++ Source or Header  |  1993-07-07  |  28KB  |  927 lines

  1. /*                    RemoteAccess 2.00 structures
  2.                      Converted to C by Sterling Moses
  3.                               June 1st 1993
  4.  
  5.                                SilverSoftware
  6.                               FIDONET (1:301/9)
  7.                                 (505)268-8502
  8.  
  9.  
  10. */
  11. #define byte unsigned char
  12. #define word unsigned int
  13.  
  14. typedef enum {Yes,No,Ask,Only}                       AskType;
  15. typedef enum {Auto,Short,Long}                       VideoType;
  16. typedef enum {LocalMail,NetMail,EchoMail}            MsgType;
  17. typedef enum {Both,Private,Public,ROnly,NoReply}     MsgKindsType;
  18. typedef enum {Ignore,Create,Kill}                    OrphanType;
  19. typedef byte                                         FlagType[4];
  20.  
  21. char *RAEnvr;
  22.  
  23. FILE *FGROUP_RA;                 // FGROUPS.RA
  24. FILE *MGROUP_RA;                 // MGROUPS.RA
  25.  
  26. //#pragma pack (1)
  27. typedef struct GROUP
  28.     {
  29.     char        Unused[2];
  30.     byte        NameSize;
  31.     char        Name[40];
  32.     word        Security;
  33.     FlagType    Flags;
  34.     FlagType    NotFlags;
  35.     byte        freespace[100];
  36.     };
  37.  
  38. FILE *FILES_RA;                     // FILES.RA
  39.  
  40. typedef struct FILES {
  41.     byte        Unused[4];
  42.     byte        NameSize;
  43.     char        Name[40];
  44.     byte        Attrib1; /*
  45.                  0: Include in new files scan
  46.                  1: Include in upload dupe scan
  47.                  2: Permit long descriptions
  48.                  3: Area is on CD-ROM
  49.                  4: All files are FREE
  50.                  5: Allow DLs not in FDB
  51.                  6: Allow users to password uploads
  52.                  7: Scan uploads } */
  53.     byte        FilePathSize;
  54.     char        FilePath[40];
  55.     word        KillsDaysDL;
  56.     word        KillDaysFD;
  57.     byte        PasswordSize;
  58.     char        Password[15];
  59.     word        MoveArea;
  60.     byte        Age;
  61.     byte        ConvertExt;
  62.     word        Group;
  63.     byte        Attrib2;    // BIT 0 : Include in all groups
  64.     word        DefCost;
  65.     word        UploadArea;
  66.     word        UploadSecurity;
  67.     FlagType    UploadFlags;
  68.     FlagType    UploadNotFlags;
  69.     word        DownloadSecurity;
  70.     FlagType    DownloadFlags;
  71.     FlagType    DownloadNotFlags;
  72.     word        ListSecurity;
  73.     FlagType    ListFlags;
  74.     FlagType    ListNotFlags;
  75.     word        AltGroup[3];
  76.     byte        Device;
  77.     byte        FreeSpace[13];
  78.     };
  79.  
  80. FILE *FILES_HDR;                 // FDBxxxxx.HDR
  81.  
  82. typedef struct FILESHDR {
  83.     byte        NameSize;
  84.     char        Name[12];
  85.     long int    Size;
  86.         long int        CRC32;
  87.     byte        UploaderLength;
  88.     char        Uploader[35];
  89.     long int    UploadDate;
  90.     long int    FileDate;
  91.     long int    LastDL;
  92.     word        TimesDL;
  93.     byte        Attrib1; /*
  94.                  0: Deleted
  95.                  1: Unlisted
  96.                  2: Free (don't adjust ratio) - Does NOT affect "Cost"
  97.                  3: Not available (don't allow downloads)
  98.                  4: Locked (no kill)
  99.                  5: Missing/offline
  100.                  6: No time restrictions - always allow DL */
  101.     byte        PasswordLength;
  102.     char        Password[15];
  103.  
  104.     struct { byte DescLength;
  105.          char Desc[15];
  106.            }      KeyWord[5];
  107.  
  108.     word        Cost;
  109.     long int    LongDesc;
  110.     byte        FreeSpace[20];
  111.     };
  112.  
  113. FILE *FILES_IDX;                 // FDBxxxxx.IDX
  114.  
  115. typedef struct FILESIDX {
  116.     byte        NameLength;
  117.     char        Name[12];
  118.     long        int UploadDate;
  119.     long        int KeyWordCRC[5];
  120.     long        int LongDesc;
  121.     };
  122.  
  123. FILE *MESSAGES_RA;                 // MESSAGES.RA
  124.  
  125. typedef struct MESSAGE {
  126.         byte            unused[4];
  127.     byte        NameSize;
  128.     char        Name[40];
  129.         MsgType         typ;
  130.         MsgKindsType    msgkinds;                 // Attributes
  131.         byte            attribute;
  132.         //   Bit 0 : Enable EchoInfo
  133.         //   1 : Combined access
  134.         //   2 : File attaches
  135.         //   3 : Allow aliases
  136.         //   4 : Use SoftCRs as characters
  137.         //   5 : Force handle
  138.         //   6 : Allow deletes
  139.         //   7 : Is a JAM area
  140.         byte            recvkill; // { Kill older thax 'X' days }
  141.         byte            dayskill; // { Kill recv msgs for more than 'x' days }
  142.         word            countkill;
  143.         word            readsecurity;
  144.         FlagType        readflags;
  145.         FlagType        readnotflags;
  146.         word            writesec;
  147.         FlagType        writeflags;
  148.         FlagType        writenotflags;
  149.         word            sysopsec;
  150.         FlagType        sysopflags;
  151.         FlagType        sysopnotflags;
  152.         byte            l2;
  153.         char            originline[60];
  154.         byte            akaaddress;
  155.         byte            age;
  156.         byte            l3;
  157.     char        jambase[58];
  158. //    char        jambase[60];
  159.     word        Group;
  160.     word        AltGroup[3];
  161.         byte            attribute2;  // BIT 0 : Include all groups
  162.     byte        freespace2[9];
  163.     };
  164.  
  165. typedef struct {
  166.         byte    l1;
  167.         char    Time[5];
  168.         }TIME;
  169.  
  170. typedef struct {
  171.         byte    l1;
  172.         char    Date[8];
  173.         }DATE;
  174.  
  175. typedef struct {
  176.         byte    l1;
  177.         char    LongDate[9];
  178.         }LONGDATE;
  179.  
  180. typedef byte ByteArray32[32];
  181.  
  182. typedef struct{
  183.         word    Zone;
  184.         word    Net;
  185.         word    Node;
  186.         word    Point;
  187.         }NETADDRESS;
  188.  
  189. typedef struct{                         /*  LIMITS.RA  */
  190.         word    Security;
  191.         word    Ltime;
  192.         word    L300;
  193.         word    L1200;
  194.         word    L2400;
  195.         word    L4800;
  196.         word    L7200;
  197.         word    L9600;
  198.         word    L12000;
  199.         word    L14400;
  200.         word    L16800;
  201.         word    L19200;
  202.         word    L38400;
  203.         word    Llocal;
  204.         word    RatioNum;
  205.         word    RatioK;
  206.         int             PerMinCost[3];
  207.         byte    FreeSpace[42];
  208.         }LIMITS;
  209.  
  210.  
  211. typedef struct{                                 /* LANGUAGE.RA */
  212.         byte    l1;
  213.         char    Name[20];
  214.         byte    Attribute;
  215.         byte    l2;
  216.         char    DefName[60];
  217.         byte    l3;
  218.         char    MenuPath[60];
  219.         byte    l4;
  220.         char    TextPath[60];
  221.         byte    l5;
  222.         char    QuesPath[60];
  223.         word    Security;
  224.         FlagType Flags;
  225.         FlagType NotFlagsMask;
  226.         byte    FreeSpace[190];
  227.         }LANGUAGE;
  228.  
  229. typedef struct {                        /*  MSGINFO.BBS  */
  230.         word    lowmsg;
  231.         word    highmsg;
  232.         word    totalmsgs;
  233.         word    totalonboard[200];
  234.         }MSGINFO;
  235.  
  236. typedef struct {                         /*  MSGIDX.BBS  */
  237.         int     msgnum;
  238.         byte    board;
  239.         }MSGIDX;
  240.  
  241. typedef struct {
  242.         byte    l1;
  243.         char    string[35];
  244.         }MSGTOIDX;
  245.  
  246. typedef struct {                       /*  MSGHDR.BBS  */
  247.         int     msgnum;
  248.         word    prevreply;
  249.         word    nextreply;
  250.         word    timesread;
  251.         word    startblock;
  252.         word    numblocks;
  253.         word    destnet;
  254.         word    destnode;
  255.         word    orignet;
  256.         word    orignode;
  257.         byte    destzone;
  258.         byte    origzone;
  259.         word    cost;
  260.         byte    msgattr;
  261.         byte    netattr;
  262.         byte    board;
  263.         TIME    posttime;
  264.         DATE    postdate;
  265.         MSGTOIDX         whoto;
  266.         MSGTOIDX         whofrom;
  267.         byte    l1;
  268.         char    subject[72];
  269.         }MSGHDR;
  270.  
  271. typedef struct {
  272.         byte    l1;
  273.         char    text[255];
  274.         }MSGTXT;
  275.  
  276. typedef struct {                             /*  USERON.BBS  */
  277.         MSGTOIDX        name;
  278.         MSGTOIDX        handle;
  279.         byte    line;
  280.         word    baud;
  281.         byte    l1;
  282.         char    city[25];
  283.         byte    status;
  284.         byte    attribute;
  285.         byte    l2;
  286.         char    statdesc[10];
  287.         byte    freespace[98];
  288.         word    nocalls;
  289.         }USERON;
  290.  
  291. /*
  292. Status byte - 0 : Browsing (in a menu)
  293.               1 : Uploading/downloading
  294.               2 : Reading/posting messages
  295.               3 : In a door/external utility
  296.               4 : Chatting with sysop
  297.               5 : Answering questionnaire
  298.               6 : RTC
  299.                  7 : New user logon
  300.             255 : User-defined - display StatDesc
  301.  
  302. Attribute   - Bit 0 : Hidden
  303.                   1 : Wants chat
  304.                   2 : Reserved for RANETMGR
  305.                   3 : Do not disturb flag
  306.                   6 : Ready (0=busy) }
  307. */
  308.  
  309. typedef struct {                               /*  LASTCALL.BBS  */
  310.         byte    line;
  311.         MSGTOIDX      name;
  312.         MSGTOIDX      Handle;
  313.         byte    l1;
  314.         char    city[25];
  315.         word    baud;
  316.         long int      times;
  317.         TIME          logon;
  318.         TIME          logoff;
  319.         byte    attribute;    /* BIT 0 : Hidden */
  320.         }LASTCALL;
  321.  
  322. typedef word LASTREAD[200];
  323.  
  324. typedef struct {
  325.         long int namecrc32;
  326.         long int handlecrc32;
  327.         }USERSIDX;
  328.  
  329.  
  330. typedef word COMBINED[200];
  331.  
  332. typedef struct {
  333.         MSGTOIDX        name;
  334.         byte            l1;
  335.         char            location[25];
  336.         byte            l2;
  337.         char            organization[50];
  338.         byte            l3;
  339.         char            address1[50];
  340.         byte            l4;
  341.         char            address2[50];
  342.         byte            l5;
  343.         char            address3[50];
  344.         byte            l6;
  345.         char            handle[35];
  346.         byte            l7;
  347.         char            comment[80];
  348.         long int        passwordcrc;
  349.         byte            l8;
  350.         char            dataphone[15];
  351.         byte            l9;
  352.         char            voicephone[15];
  353.         TIME            lasttime;
  354.         DATE            lastdate;
  355.         byte            attribute;
  356. /*
  357.                          { Bit 0 : Deleted
  358.                             1 : Clear screen
  359.                             2 : More prompt
  360.                             3 : ANSI
  361.                             4 : No-kill
  362.                             5 : Xfer priority
  363.                             6 : Full screen msg editor
  364.                             7 : Quiet mode }
  365. */
  366.         byte            Attribute2;
  367. /*
  368.                       { Bit 0 : Hot-keys
  369.                             1 : AVT/0
  370.                             2 : Full screen message viewer
  371.                             3 : Hidden from userlist
  372.                             4 : Page priority
  373.                             5 : No echomail in mailbox scan
  374.                             6 : Guest account
  375.                             7 : Post bill enabled }
  376. */
  377.         FlagType        flags;
  378.         long int        credit;
  379.         long int        pending;
  380.         word            msgsposted;
  381.         word            security;
  382.         long int        lastread;
  383.         long int        nocalls;
  384.         long int        uploads;
  385.         long int        downloads;
  386.         long int        uploadsk;
  387.         long int        downloadsk;
  388.         long int        todayk;
  389.         int             elapsed;
  390.         word            screenlength;
  391.         byte            lastpwdchange;
  392.         word            group;
  393.         COMBINED        combinedinfo;
  394.         DATE            firstdate;
  395.         DATE            birthdate;
  396.         DATE            subdate;
  397.         byte            screenwidth;
  398.         byte            language;
  399.         byte            dateformat;
  400.         byte            l10;
  401.         char            forwardto[35];
  402.         word            msgarea;
  403.         word            filearea;
  404.         char            defualtprot;
  405.         word            filegroup;
  406.         byte            lastdobcheck;
  407.         byte            sex;
  408.         long int        XIrecord;
  409.         word            msggroup;
  410.         byte            freespace[48];
  411.         }USERS;
  412.  
  413. typedef struct {
  414.         byte            freespace[200];
  415.         }USERSXI;
  416.  
  417. typedef struct {
  418.         long int        totalcalls;
  419.         MSGTOIDX        lastcaller;
  420.         byte            extraspace[128];
  421.         }SYSINFO;
  422.  
  423. typedef struct {
  424.         DATE            startdate;
  425.         word            busyperhour[24];
  426.         word            busyperday[7];
  427.         }TIMELOG;
  428.  
  429. typedef struct {
  430.         byte            typ;
  431.         word            security;
  432.         word            maxsec;
  433.         FlagType        notflagsmask;
  434.         FlagType        flags;
  435.         word            timeleft;
  436.         word            timeused;
  437.         byte            age;
  438.         byte            termattrib; /* BIT 0 : ANSI | BIT 1 : AVT */
  439.         long int        minspeed;
  440.         long int        maxspeed;
  441.         long int        credit;
  442.         long int        optioncost;
  443.         long int        permincost;
  444.         ByteArray32     node;
  445.         ByteArray32     group;
  446.         word            starttime[7];
  447.         word            stoptime[7];
  448.         byte            l1;
  449.         char            display[135];
  450.         byte            l2;
  451.         char            hotkey[8];
  452.         byte            l3;
  453.         char            miscdata[135];
  454.         byte            foreground;
  455.         byte            background;
  456.         byte            freespace[50];
  457.         }MNU;
  458.  
  459. typedef struct {
  460.         byte            status; // 0=Deleted 1=Enabled 2=Disabled
  461.         TIME            starttime;
  462.         byte            errorlevel;
  463.         byte            days;
  464.         byte            forced; // 0=False 1=True
  465.         DATE            lastrun;
  466.         }EVENT;
  467.  
  468. typedef EVENT EVENTARRAY[20];
  469.  
  470. typedef struct {
  471.     byte       l1;
  472.         char            name[8];
  473.         byte            l2;
  474.         char            parent[8];
  475.         byte            l3;
  476.         char            desc[70];
  477.         byte            attrib;
  478. /*                      Bit 0 : Private
  479.                             1 : Unlisted
  480.                             2 : Global
  481.                             3 : Permanent
  482.                             4 : Use handles
  483. */
  484.         byte            l4;
  485.         char            moderator[35];
  486.         byte            l5;
  487.         char            language[20];
  488.         byte            l6;
  489.         char            password[15];
  490.         word            security;
  491.         FlagType        flags;
  492.         byte            numnodes;
  493.         byte            active[250];
  494.         byte            child[250];
  495.         FlagType        notflagsmask;
  496.         byte            freespace[96];
  497.         }CONF;
  498.  
  499. typedef struct {
  500.           byte          comport;
  501.           byte          inittries;
  502.           word         buffersize;
  503.           word          modemdelay;
  504.           long int      maxspeed;
  505.           byte          sendbreak;
  506.           byte          lockmodem;
  507.           byte          answerphone;
  508.           byte          offhook;
  509.           byte          l1;
  510.           char          initStr[70];
  511.           byte          l2;
  512.           char          initStr2[70];
  513.           byte          l3;
  514.           char          busyStr[70];
  515.           byte          l4;
  516.           char          initResp[40];
  517.           byte          l5;
  518.           char          busyResp[40];
  519.           byte          l6;
  520.           char          connect300[40];
  521.           byte          l7;
  522.           char          connect1200[40];
  523.           byte       l8;
  524.           char          connect2400[40];
  525.           byte          l9;
  526.           char          connect4800[40];
  527.           byte          l10;
  528.           char          connect7200[40];
  529.           byte          l11;
  530.           char          connect9600[40];
  531.           byte          l12;
  532.           char          connect12k[40];
  533.           byte          l13;
  534.           char          connect14k[40];
  535.           byte          l14;
  536.           char          connect16k[40];
  537.           byte          l15;
  538.           char          connect19k[40];
  539.           byte          l16;
  540.           char          connect38k[40];
  541.           byte          l17;
  542.           char          connectFax[40];
  543.           byte          l18;
  544.           char          ringStr[20];
  545.           byte          l19;
  546.           char          answerStr[20];
  547.           byte          l20;
  548.           char          errorfreestring[15];
  549.           byte          freespace[300];
  550.           }MODEM;
  551.  
  552. typedef struct {
  553.         byte            l1;
  554.         char            extension[3];
  555.         byte            l2;
  556.         char            unpackcmd[60];
  557.         byte            l3;
  558.         char            packcmd[60];
  559.         }ARC;
  560.  
  561.  
  562. typedef struct {
  563.         word            Baud;
  564.     SYSINFO     SysInfo;
  565.     TIMELOG     TimeLogInfo;
  566.     USERS        UserInfo;
  567.     EVENT        EventInfo;
  568.     byte        NetMailEntered;     //Boolean
  569.         byte            EchoMailEntered;        //Boolean
  570.         TIME            LoginTime;
  571.         DATE            LoginDate;
  572.         word            TimeLimit;
  573.         long int        LoginSec;
  574.         int             UserRecord;
  575.         word            ReadThru;
  576.         word            NumberPages;
  577.         word            DownloadLimit;
  578.         TIME            TimeOfCreation;
  579.         long int        LogonPasswordCRC;
  580.         byte            WantChat;                       //Boolean
  581.         int             DeductedTime;
  582.  
  583.         struct {
  584.                 byte l1;
  585.                 char     stack[8];
  586.                 }MenuStack[50];
  587.  
  588.         byte            MenuStackPointer;
  589.         USERSXI UserXIinfo;
  590.         byte            ErrorFreeConnect;       //Boolean
  591.         byte            SysopNext;              //Boolean
  592.  
  593. // EMSI SESSION DATA
  594.  
  595.         byte            EMSI_Session;           //Boolean
  596.         byte            l1;
  597.         char            EMSI_Crtdef[40];
  598.         byte            l2;
  599.         char            EMSI_Protocols[40];
  600.         byte            l3;
  601.         char            EMSI_Capabilities[40];
  602.         byte            l4;
  603.         char            EMSI_Requests[40];
  604.         byte            l5;
  605.     char        EMSI_Software[40];
  606.  
  607.         byte            Hold_attr1;
  608.         byte            Hold_attr2;
  609.         byte            Hold_Len;
  610.  
  611.         byte            l6;
  612.         char            PageReason[80];
  613.         byte            StatusLine;
  614.  
  615.         byte            ExtraSpace[99];
  616.  
  617.         }EXITINFO;
  618.  
  619. typedef struct {
  620.         byte            l1;
  621.         char            name[15];
  622.         char            ActiveKey;
  623.         byte            OpusTypeCtlFile;        //Boolean
  624.         byte            BatchAvailable; //Boolean
  625.         byte            Attribute;              // 0=Disabled, 1=Enabled
  626.  
  627.         byte            l2;
  628.         char            LogFileName[80];
  629.         byte            l3;
  630.         char            CtlFileName[80];
  631.         byte            l4;
  632.         char            DnCmdString[80];
  633.         byte            l5;
  634.     char        DnCtlString[80];
  635.         byte            l6;
  636.         char            UpCmdString[80];
  637.         byte            l7;
  638.         char            UpCtlString[80];
  639.         byte            l8;
  640.         char            UpLogKeyword[20];
  641.         byte            l9;
  642.         char            DnLogKeyword[20];
  643.         byte            XferDescWordNum;
  644.         byte            XferNameWordNum;
  645.  
  646.         }PROTOCOL;
  647.  
  648. FILE *CONFIG_RA;                 // CONFIG.RA
  649.  
  650. typedef struct CONFIG {
  651.         word            versionID;
  652.         byte            xCommPort;
  653.         long int        xBaud;
  654.         byte            xInitTries;
  655.     byte        l1;
  656.     char        xinitStr[70];
  657.         byte            l2;
  658.         char            xbusyStr[70];
  659.         byte            l3;
  660.         char            xInitResp[40];
  661.         byte            l4;
  662.         char            xBusyResp[40];
  663.         byte            l5;
  664.         char            xConnect300[40];
  665.         byte            l6;
  666.         char            xConnect1200[40];
  667.         byte            l7;
  668.         char            xConnect2400[40];
  669.         byte            l8;
  670.         char            xConnect4800[40];
  671.     byte        l9;
  672.     char        xConnect9600[40];
  673.         byte            l10;
  674.         char            xConnect19k[40];
  675.         byte            l11;
  676.         char            xConnect38k[40];
  677.     byte        xAnswerPhone;         // 1=TRUE 0=FALSE
  678.     byte        l12;
  679.         char            xRing[20];
  680.         byte            l13;
  681.         char            xAnswerStr[20];
  682.         byte            xFlushBuffer;
  683.     int        xModemDelay;
  684.     word        minBaud;
  685.         word            graphicsBaud;
  686.         word            TransferBaud;
  687.         TIME            SlowBaudTimeStart;
  688.         TIME            SlowBaudTimeEnd;
  689.         TIME            DownloadTimeStart;
  690.         TIME            DownloadTimeEnd;
  691.     TIME        PageStart[7];
  692.         TIME            PageEnd[7];
  693.     byte        l14;
  694.         char            SeriNum[22];
  695.         byte            l15;
  696.         char            CustNum[22];
  697.         byte            FreeSpace1[24];
  698.         word            PwdExpiry;
  699.     byte        l16;
  700.         char            MenuPath[60];
  701.         byte            l17;
  702.     char        TextPath[60];
  703.         byte            l18;
  704.         char            AttachPath[60];
  705.         byte            l19;
  706.         char            NodelistPath[60];
  707.         byte            l20;
  708.         char            MsgBasePath[60];
  709.         byte            l21;
  710.         char            SysPath[60];
  711.         byte            l22;
  712.         char            ExternalEdCmd[60];
  713.     NETADDRESS    address[10];
  714.         byte            l23;
  715.         char            SystemName[30];
  716.     word        NewSecurity;
  717.         word            NewCredit;
  718.         FlagType        NewFlags;
  719.     byte        l24;
  720.         char            OriginLine[60];
  721.         byte            l25;
  722.         char            QuoteString[15];
  723.         byte            l26;
  724.         char            Sysop[35];
  725.         byte            l27;
  726.         char            LogFileName[60];
  727.     byte        Fastlogon;         // 0=False 1=True
  728.     byte        AllowSysRem;         // 0=False 1=True
  729.     byte        MonoMode;         // 0=False 1=True
  730.     byte        StrictPwdChecking;     // 0=False 1=True
  731.     byte        DirectWrite;         // 0=False 1=True
  732.     byte        SnowCheck;         // 0=False 1=True
  733.     int        CreditFactor;
  734.     word        UserTimeOut;
  735.     word        LogonTime;
  736.         word            PasswordTries;
  737.         word            MaxPage;
  738.         word            PageLength;
  739.     byte        CheckMultiLogon;       // 0=False 1=True
  740.     byte        ExcludeSysop;           // 0=False 1=True
  741.     byte        OneWordNames;           // 0=False 1=True
  742.     AskType     CheckMail;
  743.     byte        AskVoice;           // 0=False 1=True
  744.     byte        AskData;           // 0=False 1=True
  745.     byte        FullMailCheck;           // 0=False 1=True
  746.     byte        FileShells;           // 0=False 1=True
  747.     byte        FixUploadDates;        // 0=False 1=True
  748.     byte        FreezeChat;           // 0=False 1=True
  749.     AskType     ANSI;
  750.     AskType     ClearScr;
  751.     AskType     MorePrompt;
  752.         byte            UploadMsgs;             //Boolean
  753.     AskType     KillSent;
  754.     word        CrashAskSec;        // Min sec# to ask 'Crash Mail?'
  755.         FlagType        CrashAskFlags;
  756.     word        CrashSec;        // Min sec# to always send crash mail.
  757.         FlagType        CrashFlags;
  758.         word            FAttachSec;             // Min sec# to ask 'File Attach?'
  759.         FlagType        FAttachFlags;
  760.         byte            NormFore;
  761.         byte            NormBack;
  762.         byte            StatFore;
  763.         byte            StatBack;
  764.         byte            HiBack;
  765.         byte            HiFore;
  766.         byte            WindFore;
  767.         byte            WindBack;
  768.         byte            ExitLocal;
  769.         byte            Exit300;
  770.         byte            Exit1200;
  771.         byte            Exit2400;
  772.         byte            Exit4800;
  773.         byte            Exit9600;
  774.         byte            Exit19k;
  775.         byte            Exit38k;
  776.     byte        MultiLine;         //Boolean
  777.     byte        MinPwdLen;
  778.         word            MinUpSpace;
  779.     AskType     HotKeys;
  780.         byte            BorderFore;
  781.         byte            BorderBack;
  782.         byte            BarFore;
  783.         byte            BarBack;
  784.         byte            LogStyle;
  785.         byte            MultiTasker;
  786.         byte            PwdBoard;
  787.         word            xBufferSize;
  788.     struct    {
  789.                 byte    l1;
  790.                 char string[60];
  791.         } Fkeys[10];
  792.     byte        WhyPage;         //Boolean
  793.     byte        LeaveMsg;
  794.     byte        ShowMissingFiles;     //Boolean
  795.     byte        xLockModem;         //Boolean
  796.         byte            FreeSpace2[10];
  797.     byte        AllowNetMailReplies;     //Boolean
  798.         byte            l28;
  799.         char            LogonPrompt[40];
  800.     AskType     CheckNewFiles;
  801.         byte            l29;
  802.         char            ReplyHeader[60];
  803.         byte            BlankSecs;
  804.         byte            ProtocolAttrib[6];
  805.         byte            l30;
  806.         char            xErrorFreeString[15];
  807.         byte            xDefualtCombined[25];
  808.         word            RenumThreshold;
  809.         char            LeftBracket;
  810.         char            RightBracket;
  811.     byte        AskForHandle;         //Boolean
  812.     byte        AskForBirthdate;     //Boolean
  813.     word        GroupMailSec;
  814.     byte        ConfirmMsgDeletes;     //Boolean
  815.     byte        FreeSpace4[30];
  816.     byte        l31;
  817.         char            TempScanDir[60];
  818.     AskType     ScanNow;
  819.     byte        xUnknownArcAction;     // Bit 0: Mark Deleted
  820.     byte        xFailedUnpackAction;     // Bit 1: Mark Unlisted
  821.     byte        FailedScanAction;     // Bit 2: Mark NotAvail
  822.     word        xUnknownArcArea;
  823.         word            xFailedScanArea;
  824.         word            FailedScanArea;
  825.     byte        l32;
  826.         char            ScanCmd[60];
  827.     byte        xDeductIfUnknown;     //Boolean
  828.     byte        NewUserGroup;
  829.     AskType     AVATAR;
  830.         byte            BadPwdArea;
  831.     byte        l33;
  832.         char            Location[40];
  833.     byte        DoAfterAction;         //   0=wait for CR,
  834.                          // > 0=wait for x seconds
  835.         byte            l34;
  836.         char            OldFileLine[40];
  837.         byte            CRfore;
  838.         byte            CRback;
  839.         byte            l35;
  840.         char            LangHdr[40];
  841.     byte        xSendBreak;         //Boolean
  842.         byte            l36;
  843.         char            ListPath[60];
  844.     AskType     FullMsgView;
  845.     AskType     EMSI_Enable;
  846.     byte        EMSI_NewUser;         //Boolean
  847.     byte        l37;
  848.         char            EchoChar[1];
  849.         byte            l38;
  850.         char            xConnect7200[40];
  851.         byte            l39;
  852.         char            xConnect12000[40];
  853.         byte            l40;
  854.         char            xConnect14400[40];
  855.         byte            Exit7200;
  856.         byte            Exit12000;
  857.         byte            Exit14400;
  858.         byte            l41;
  859.         char            ChatCommand[60];
  860.     AskType     ExtEd;
  861.         byte            NewuserLang;
  862.         byte            l42;
  863.         char            LangPrompt[40];
  864.     VideoType    VideoMode;
  865.     byte        AutoDetectAnsi;      // Boolean
  866.     byte        xOffHook;         // Boolean
  867.         byte            NewuserDateFormat;
  868.         byte            l43;
  869.         char            KeyboardPwd[15];
  870.     byte        CapLocation;         // Boolean
  871.     byte        NewuserSub;
  872.         byte            l44;
  873.         char            PrinterName[4];
  874.         byte            HilitePromptFore;
  875.         byte            HilitePromptBack;
  876.     byte        l45;
  877.         char            xInitStr2[70];
  878.     byte        AltJSwap;         // Boolean
  879.         byte            l46;
  880.     char        SemPath[47];
  881. //    char        SemPath[60];
  882.     byte        AutoChatCapture;     // Boolean
  883.     byte        FDBPathSize;
  884.     char        FDBPath[60];
  885.     byte        NewFileTag;         // Boolean
  886.     byte        IgnoreDupeExt;         // Boolean
  887.         byte            l48;
  888.         char            TempCdFilePath[60];
  889.         byte            TagFore;
  890.         byte            TagBack;
  891.     byte        l49;
  892.         char            xConnect16k[40];
  893.         byte            Exit16k;
  894.         byte            FilePayback;
  895.     byte        l50;
  896.         char            FileLine[200];
  897.         byte            l51;
  898.         char            FileMissingLine[200];
  899.     byte        NewUserULCredit;
  900.         word            NewUserULCreditk;
  901.         ARC             ArcInfo[10];
  902.     struct {
  903.                 byte    l1;
  904.                 char    string[60];
  905.         } RaMgrAltFKeys[5];
  906.     byte        l52;
  907.         char            ArcViewCmd[60];
  908.         byte            l53;
  909.         char            xConnectFax[40];
  910.         byte            ExitFax;
  911.     byte        UseXMS;          // Boolean
  912.     byte        UseEMS;          // Boolean
  913.         byte            CheckDOB;
  914.     AskType     EchoCheck;
  915.         word            ccSec;
  916.         word            ReturnRecSec;
  917.     byte        HonourNetReq;         // Boolean
  918.         COMBINED        DefaultCombined;
  919.     byte        AskForSex;         // Boolean
  920.     byte        AskForAddress;         // Boolean
  921.     AskType     DLdesc;
  922.     byte        NewPhoneScan;         // Boolean
  923.     byte        FutureExpansion[585];
  924. //    byte        FutureExpansion[587];
  925.     };
  926. //#pragma pack ()
  927.