                                InternetServices
                                ================

Version 1.07 (05 Feb 1997)
     
Introduction
------------
Whilst learning the ins and outs of writing Internet software I found one
sadly missing section of the SWI interface. Although we have calls to decode
and encode host addresses, there is none to decode and encode services and
ports. For my SocketLib I wrote a pair of basic routines to perform this,
using the FreeNet and Acorn services files as the standard I would decode.
These routines, whilst doing the job, were very slow. Therefore, I've
re-written the code in Assembler and bunged it in a module. Much nicer :-)

Since I got fed up with the really pathetic error messages that the sockets
interface kept giving me I decided to expand this by adding error number to
text conversion. Nicer still :-)

And because I really don't like droping down to basic to read the error
numbers or service names, I've added some *Commands to help.


Usage
-----
Obviously, no programs will benefit currently from this module, as I've only
just written it. However, to those of you who wish to use it, the StrongHelp
manual provided should give you details enough to be able to write using it.

OSCLI Commands :
  *Inet_DecodeError <number> - display the textual version of the error
                               code
  *Inet_ServiceByPort <port> - decode the service name and it's aliases
  *Inet_ServiceByName <service> - decode the service number


Disclaimer
----------
The author accepts no responsibility for any problems which this application
may cause or loss of data resulting in its use. This application is Public
Domain Freeware. This means that it may be distributed, so long as no charge
other than copying costs are charged for it.
  

Source code
-----------
   This program requires the !JFPatch pre-assembler to make the code. This is
a simple text-to-basic assembler which takes a text assembler file, makes a
basic program from it to assemble, assembles it and returns any errors. It is
available from Justin Fletcher's website (users.essex.ac.uk/users/gerph) or
directly by mailing to Gerph@essex.ac.uk.
   All source code and the resultant module must be distributed together.


Contact
-------
Any comments, queries, donations or bug reports can be sent to Justin
Fletcher at :

E-Mail : Gerph@essex.ac.uk
URL    : http://users.essex.ac.uk/users/gerph
IRC    : On #Acorn as Gerph
Finger : finger jrflet@postman.essex.ac.uk
Tel    : (01842) 813979

Snail Mail :
    Justin Fletcher
    Galadriel
    17b Cromwell Road,
    Weeting,
    Brandon,
    Suffolk.
    IP27 0QT


History
-------
Version 1.00 : 26 Sep 1996
               Could only read lines out of the services file. Alias code
               unfinished.

Version 1.01 : 26 Sep 1996
               Alias code re-written. Crashed when alias comments encountered

Version 1.02 : 26 Sep 1996
               Alias code works, tied in to Internet_GetServiceByPort, which
               now works.

Version 1.03 : 26 Sep 1996
               Internet_GetServiceByName now works correctly. Fixed alias
               code to return 0 if no aliases are present.

Version 1.04 : 28 Sep 1996
               Minor bug in ReadUnsigned for the port number fixed - should
               ignore malformed numbers.

Version 1.05 : 02 Dec 1996
               Added the DecodeError SWI to make life even easier.

Version 1.06 : 09 Dec 1996
               Added the *Inet_DecodeError and *Inet_Service* commands.

Version 1.07 : 05 Feb 1997
               Added CreateMenu SWI.
