//  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$
//  ------------------------------------------------------------------
//  RemoteAccess configuration data structures.
//  ------------------------------------------------------------------

#if defined(GOLD_CANPACK)
#pragma pack(1)
#endif

//  ------------------------------------------------------------------
//  RA Address structure

typedef struct {
  word  zone;
  word  net;
  word  node;
  word  point;
} _raaddr;


//  ------------------------------------------------------------------
//  RA Area info structure

typedef struct {
  char    name[41];         // 000
  char    type;             // 041
  byte    msgkinds;         // 042
  byte    attribute;        // 043
  byte    dayskill;         // 044
  byte    recvkill;         // 045
  word    countkill;        // 046
  word    readsecurity;     // 048
  byte    readflags[4];     // 050
  word    writesecurity;    // 054
  byte    writeflags[4];    // 056
  word    sysopsecurity;    // 060
  byte    sysopflags[4];    // 062
  char    originline[61];   // 066
  byte    akaaddress;       // 127
} _messagesra;              // 128 Bytes


//  ------------------------------------------------------------------
//  RA Configuration structure

typedef struct {
  word    versionid;
  byte    commport;
  long    baud;
  byte    inittries;
  char    initstr[71],
          busystr[71];
  char    initresp[41],
          busyresp[41],
          connect300[41],
          connect1200[41],
          connect2400[41],
          connect4800[41],
          connect9600[41],
          connect19k[41],
          connect38k[41];
  byte    answerphone;
  char    ring[21],
          answerstr[21];
  byte    flushbuffer;
  short    modemdelay;
  short    minimumbaud,
          graphicsbaud,
          transferbaud;
  char    slowbaudtimestart[6],
          slowbaudtimeend[6],
          downloadtimestart[6],
          downloadtimeend[6],
          pagingtimestart[6],
          pagingtimeend[6];
  char    loadingmsg[71],
          listprompt[71];
  short    pwdexpiry;
  char    menupath[61],
          textpath[61],
          netpath[61],
          nodelistpath[61],
          msgbasepath[61],
          syspath[61],
          externaledcmd[61];
  _raaddr address[10];
  char    systemname[31];
  short    newsecurity;
  short    newcredit;
  byte    newflags[4];
  char    originline[61];
  char    quotestring[16];
  char    sysop[36];
  char    logfilename[61];
  byte    fastlogon,
          allowsysrem,
          monomode,
          strictpwdchecking,
          directwrite,
          snowcheck;
  short    creditfactor;
  short    usertimeout,
          logontime,
          passwordtries,
          maxpage,
          pagelength;
  byte    checkformultilogon,
          excludesysopfromlist,
          onewordnames;
  char    checkmail;
  byte    askvoicephone,
          askdataphone,
          dofullmailcheck,
          allowfileshells,
          fixuploaddates,
          showfiledates;
  short    ansi,
          clearscreen,
          moreprompt,
          uploadmsgs,
          killsent;
  short    crashasksec;
  byte    crashaskflags[4];
  short    crashsec;
  byte    crashflags[4];
  short    fattachsec;
  byte    fattachflags[4],
          normfore,
          normback,
          statfore,
          statback,
          hiback,
          hifore,
          windfore,
          windback,
          exitlocal,
          exit300,
          exit1200,
          exit2400,
          exit4800,
          exit9600,
          exit19k,
          exit38k;
  byte    multiline;
  byte    minpwdlen;
  word    minupspace;
  char    hotkeys;
  byte    borderfore,
          borderback,
          barfore,
          barback,
          logstyle,
          multitasker,
          pwdboard;
  word    buffersize;
  char    fkeys[10][61];
  byte    futureexpansion[1024];
} _configra;


//  ------------------------------------------------------------------

#if defined(GOLD_CANPACK)
#pragma pack()
#endif

//  ------------------------------------------------------------------