How to install the NetSupport.Library
*************************************

    The installation of the library is actually very easy: Just copy the
file to your `LIBS:' directory. :-)) However, the library needs its own
configfile which is the topic of this document.

    You can place the file at any path you like, you can even chose any name
you want. All you have to do is to set the environment variable NSPCONFIG
according to the path. The library will check, in order of precedence, for a
local and a global variable and use the value as path and name for the
config file. If no NSPCONFIG variable is set, the default path is
`S:NSPConfig'.

The config file
===============

    A valid config file may contain one keyword per line. Keywords MUST
begin at the first column. The parameter can be separated from the keyword
using either space(s) or tab(s). Lines starting with a "#" are comment lines
and will be ignored.

Here's an example:

     #
     # NetSupport.Library config file
     #
     # $VER: NSPConfig 1.23 (22.2.94)
     #
     
     #
     # where the default config file is
     #
     MasterConfig    UULib:Config
     
     #
     # Configuration for MakeLogEntry()
     #
     DefaultLog      UUSpool:Logfile, stdout

The above entries have the following meanings:

   - MasterConfig

     This is important for routines dealing with config files. The caller
     has the possibility to provide a NULL as filename and let the library
     determine the correct file. The library will use the file you specify
     here. This should generally be the main config file of your
     installation, like `UULib:Config' for UUCP or `inet:s/inet.config' for
     the AS225r2 package. This feature makes the programs using the library
     package-independent.

   - DefaultLog

     You can specify a separate logfile for each program that uses the
     library. However, just in case your forget it, this logfile will be
     used. You can specify several logfiles, separated with commas. The
     libraries parsing routine is still a little bit weak, so please do not
     try special tricks, okay? :-) "stdout" is a magic, standing for the
     program's standard output stream. An entry like

          Testname        T:testlog, stdout

     will write the logentry to both, the file and the output window. You
     may also specify "CONSOLE:" for the standard error stream of the
     program. This is always a window and will not be affected by
     redirection, unlike "stdout". "PRT:" will naturally send a copy of
     every log entry to the printer, etc...

     Like mentioned above, you can specify logfile(s) for each program using
     the library. The program should state the keyword it uses in its
     manual, but usually it's just the name of the program. ListSERV, for
     example, can be configured like this:

          ListSERV        ListSERV:logfile, stdout

Debugging
=========

    NetSupportLibrary's MakeLogEntry() function provides an easy way to
control debugging output. The program author is able to provide debugging
info of lower priority, which is not logged by default but only if you turn
it on manually. Nine degrees between 1 and 9 are supported. You can set the
debugging level from 0 (default) to see none of them up to 9 to see
everything. NetSupport.Library checks the following places in order of
precedence:

   - local DOS variable <SYSTEMNAME>_DEBUG

     To turn the debugging info for ListSERV on (for example) execute "Set
     ListSERV_debug 9".

   - global ENV variable <SYSTEMNAME>_DEBUG

   - <SYSTEMNAME>_DEBUG keyword in your netsupport config file

   - local DOS variable DEBUG

     To turn the debugging info for *all* programs using the library on,
     execute "Set Debug 9".

   - global ENV variable DEBUG

   - DEBUG keyword in your netsupport config file

   - DEBUG keyword in your master config file (specified in the netsupport
     config file)

