

                            RemoteAccess Data Input/Output
                            ==============================
                             (C) 1994, 1995 Brian Spencer
                                 All rights reserved


      LICENCE & WARRANTY
      ------------------

         RemoteAccess Data Input/Output (RADIO) is copyright  (C) 1994, 1995 by
      Brian Spencer.  This is NOT public domain software.

         You may use  this program for free.  You may  copy and distribute this
      program and its related files  for free, provided there is no fee for the
      recipient.  Imposing a file ratio or other electronic bartering system on
      this program and its related files will earn you a grim facial expression
      from me.

         This program and its documentation may not be altered in any way.

         This program  is provided  AS IS.   I MAKE  NO WARRANTY  OF ANY  KIND,
      EXPRESSED  OR IMPLIED,  INCLUDING WITHOUT  LIMITATION, ANY  WARRANTIES OF
      MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.  USE AT YOUR OWN
      RISK!


      INTRODUCTION
      ------------

         RemoteAccess Data  Input/Output (RADIO)  is a program  that enables  a
      SysOp  who  runs RemoteAccess  to handle  system  data that  is otherwise
      accessible only to the BBS and to third-party software.  When the data is
      converted to a generic format, it can be easily  handled by a wider range
      of software.  There is much more potential in that.

         This program was written for Doug Cochrane, who  wanted the ability to
      edit the userlist with his database system.  Consequently, this program's
      scope is limited to the userlist.

         The userlist data can  be exported as comma-delimited field  or fixed-
      length field data.  Also, a simple report can be drawn up.  Importing was
      planned,  but due to  timely personal difficulties,  development has been
      put on hold.  What this means is that  you can view and arrange the data,
      but you cannot re-introduce it back into the original userlist.

         RADIO  is  based on  the RemoteAccess  2.00 structures,  and currently
      supports version 2.02.   I've taken  a few liberties  in the Pascal  -> C
      translation, but don't anticipate any real-world problems.

         No special provisions have been made for file-sharing environments.








                      [RemoteAccess Data Input/Output - Page 1]


      INSTRUCTIONS
      ------------

         RADIO can be installed anywhere.  It is recommended that until you are
      comfortable  with its operation you  should place RADIO  in its own empty
      directory, along  with a  copy of the  userlist (USERS.BBS).   RADIO will
      work best when there is  plenty of drive space provided.  A disc cache is
      recommended.   RADIO has been designed to run in only 64 kilobytes of RAM
      and to run on all PC's with almost any version of DOS.

         Type  RADIO alone  on the  command line  to get  a description  of its
      command syntax.  You will see the following:

            RADIO OUT <COMMA|FIXED> [user path]         (Export mode)
            RADIO REPORT <report file> [user path]      (Simple report)

      RADIO  supports two  modes:   Export  and Report.   Both  of these  modes
      implies  an action to  take on the  userlist.  You  indicate the mode you
      want  to use by  including OUT or  REPORT as  the first parameter.   When
      exporting data,  you must also  specify the type  of data to  be written,
      either  COMMA-delimited  fields  or  FIXED-length  fields,  depending  on
      preference  and available  technology.  If  you choose to  report, a file
      name  for the output must be included.   In either mode, an optional user
      path  can be included.   This path is  where the user  files are located,
      typically  C:\RA or C:\RA\MSGBASE.   If you  don't include  a path, RADIO
      will look for the userlist in the current directory.

         If you  choose to  export  data, RADIO  will write  two  files in  the
      current directory:  USERS.TXT and COMBINED.TXT.   The first is the parent
      data, containing most  of the  important information such  as user  name,
      phone number, etc.  COMBINED.TXT is the child data and  lists the message
      areas that a user has selected for combined reading.  The user records in
      these  files have a  one-to-many relationship,  and this  relationship is
      maintained  by an  arbitrary record  number in  the first  field  of both
      files.

         The  following table  describes  all  the  fields  of  a  user  record
      contained in the USERS.TXT file:

       FIELD  TYPE      SIZE   DESCRIPTION
        1     Integer    7     Record number (zero-based)
        2     Char      35     User's full name
        3     Char      35     User's registered handle or alias
        4     Char      25     Where the user is calling from
        5     Char       8     User's password, CRC32 hexadecimal format
        6     Integer    5     Security level (1-65535, 0 to lock out)
        7     Char      15     Home/voice phone number
        8     Char      15     Business/data phone number
        9     Char       8     A Flags (- or X)
       10     Char       8     B Flags (- or X)
       11     Char       8     C Flags (- or X)
       12     Char       8     D Flags (- or X)
       13     Integer    7     Number of credits remaining
       14     Integer    7     Number of credits pending deduction
       15     Integer    5     Group number assigned to
       16     Char       1     Sex (M[ale], F[emale], or U[nknown])


                      [RemoteAccess Data Input/Output - Page 2]


       17     Char      35     User name that messages are forwarded to
       18     Char      50     User's Organization, if any
       19     Char      50     Address line 1
       20     Char      50     Address line 2
       21     Char      50     Address line 3
       22     Char      80     Information comment
       23     Char       5     Time of last call
       24     Char       8     Date of last call
       25     Char       8     Date of first call
       26     Char       8     Subscription expiration date
       27     Char       8     Date of birth
       28     Integer    6     No. of minutes used on last call (+ve, -ve)
       29     Integer    5     Length of screen display
       30     Integer    3     Width of screen display
       31     Integer    3     Number of days since last password change
       32     Integer    3     Number of days since last date of birth check
       33     Char       9     Date entry and display format
       34     Boolean    1     Is the user marked for deletion?
       35     Boolean    1     Send clear screen codes?
       36     Boolean    1     Pause at the end of each screen page?
       37     Boolean    1     Send ANSI codes?
       38     Boolean    1     Never delete this user during a pack?
       39     Boolean    1     Ignore download restrictions?
       40     Boolean    1     Use the full screen message editor?
       41     Boolean    1     Ignore on-line messages from other users?
       42     Boolean    1     Use hot-keys?
       43     Boolean    1     Send AVATAR codes?
       44     Boolean    1     Use the full screen message viewer?
       45     Boolean    1     Hidden from the user and other caller lists?
       46     Boolean    1     Allowed to override paging restrictions?
       47     Boolean    1     Exclude EchoMail from mail-box scans?
       48     Boolean    1     Is this a guest account record?
       49     Boolean    1     Allow user to accrue a negative credit balance?
       50     Integer    7     Total number of files uploaded
       51     Integer    7     Total number of files downloaded
       52     Integer   10     Total kilobytes of all files uploaded
       53     Integer   10     Total kilobytes of all files downloaded
       54     Integer    7     Total kilobytes of all files downloaded today
       55     Integer    5     Total number of messages posted
       56     Integer    7     Highest message number read
       57     Integer    7     Total number of calls
       58     Integer    5     Last message area the user had selected
       59     Integer    5     Last file area the user had selected
       60     Integer    5     Last file group the user had selected
       61     Integer    5     Last message group the user had selected
       62     Char       1     Default file transfer protocol ("@" for none)
       63     Integer    3     Language number selected


         The  following table  describes  all  the  fields  of  a  user  record
      contained in the COMBINED.TXT file:

       FIELD  TYPE      SIZE   DESCRIPTION
        1     Integer    7     Parent record number (zero-based)
        2     Integer    5     Area number for combined reading (up to 200)



                      [RemoteAccess Data Input/Output - Page 3]


         When using comma-delimited  fields, all CHAR  fields are delimited  by
      quotation marks.   Every field  is separated  by a comma.   Consequently,
      both of  these punctuation are illegal inside the text data itself.  When
      they are encountered, a space character will be substituted.

         Boolean fields contain simple True/False or Yes/No  conditions.  RADIO
      uses the letters Y and N.

         When  building databases, start with the structures first.  These have
      been  provided  above.    When  they  are  ready,  import  USERS.TXT  and
      COMBINED.TXT  into their  respective  tables/worksheets.   Most  database
      systems  support comma-delimited  fields, but fixed-length  field imports
      can be less troublesome.


                        export              import
            userlist  ---------->  RADIO  ---------->  database system

            Using  RADIO, you export from the userlist to create two text
            files,  USERS.TXT and  COMBINED.TXT.   You  then  go to  your
            database  system and  import those  two  files into  your own
            tables/worksheets.


         If  you are satisfied with the results, try including some automation.
      Writing  a batch command file can make RADIO's command-line syntax easier
      to remember (note that the words OUT, REPORT, COMMA, and FIXED can all be
      abbreviated  to  their first  letters).   Also,  if your  database system
      includes a programming language,  try writing a procedure to  first empty
      the databases, then import the data which was recently exported from your
      userlist.     To   assist  in   automation,  RADIO   has   the  following
      return/errorlevel codes:

            ERRORLEVEL  DESCRIPTION
            255         Import mode not available
            3           Unable to read/write other files
            2           Unable to read/write userlist
            1           Syntactic error
            0           OK


         The  other function of  RADIO, reporting,  is straightforward.   RADIO
      will write a simple report text file.  Each record is separated by a line
      of dashes.  A legend is included at the end.














                      [RemoteAccess Data Input/Output - Page 4]


      ACKNOWLEDGEMENTS
      ----------------

         Thanks  to Doug Cochrane, Rob  Huston, and Scott  Hounsell for testing
      this program.

         This  version of  RADIO was  compiled the  fourth of  March, nineteen-
      ninety-five, with Borland's Turbo C++ for DOS 3.0, (c) 1987, 1993 Borland
      International, Inc.  All rights reserved.

         Developed  under the environment of Novell DOS 7.0 with its preemptive
      multi-tasker, which allowed me to compile, run, and test this program all
      at the same time.  If you are looking for a better DOS, this is the  only
      one I recommend.

         RemoteAccess (also known as RA) and RemoteAccess Manager are (C) 1989-
      1994 Wantree Development & Andrew Milner.


      FEEDBACK
      --------

         If you find this program useful, a postcard of your municipality would
      be appreciated.  Comments or  criticisms in writing are also welcome.   I
      would not  refuse a financial gift,  either.  Address all  such land mail
      to:

            Brian Spencer
            54 Highland Avenue
            Barrie, Ontario
            L4M-1N3  CANADA

         The home  for RADIO is Surplus Pilot's Club at 1:252/103 or (705) 726-
      9927 (V32bis/V42bis).  You  can file-request magic filename "RADIO".   E-
      mail addressed to  me will also be  received there.  In  addition, I will
      watch the RAUTILS echomail area for my name.






















                      [RemoteAccess Data Input/Output - Page 5]
