**
**       #########         #       # ######### #
**              #           #     #  #         #
**            ##   #     #   #   #   #         #
**           #     #     #    ###    #######   #
**         ##      #     #   #   #   #         #
**        #        #     #  #     #  #         #
**       #########  ###### #       # ######### #########
**                       #
**                       #
**                  #####
**

This program is copyrighted by:
   R.E. Janssen
   Prof L Fuchslaan 8
   3571 HC  UTRECHT, NETHERLANDS

Permission is granted only for noncommercial use.  Any commercial use or
distribution via commercial services without the author's permission is
prohibited.


This source version of ZyXEL is not sufficient to get the program working.
You need to get the binary version as well, as it includes the documentation
and example configuration files, as well as some recorded voice.

To re-compile the program from source, install these files in any
directory (but not /usr/ZyXEL):
    README
    Makefile.SVR4
    Makefile.linux
    zyxel.c
    alphasort.c
    scandir.c
    usleep.c
    alloc.o

"alphasort", "scandir" and "usleep" are provided for systems that don't
have them in the C library.  Linux does not need them.

Make a link or copy of the Makefile most suitable for your system as
"Makefile" and check it.
When you compile a version for Linux, the provided alloc.o is a memory
allocation package provided as object only.  Modify the line ALLOC= in
the Makefile if you don't want to use it:
    #ALLOC=	alloc.o
    ALLOC=

Also on Linux, make sure the following symbolic links are present in
/usr/include:
    /usr/include/asm -> /usr/src/linux/include/asm
    /usr/include/linux -> /usr/src/linux/include/linux
                          ^^^^^^^^^^^^^^^
    (or to wherever you keep your Linux kernel sources)
The Linux kernel sources, or at least the include subdirectory of it, are
required for compilation.

Now, a "make" will compile the program, and "make install" will install it.
Make sure the destination directory (BIN= line in the Makefile) matches
your system setup.

You may get some warnings from the compiler.  The following are known
to be given by GCC version 2.5.8:
 In function `playback':
####: warning: passing arg 3 of `scandir' from incompatible pointer type
 In function `expect':
####: warning: variable `expfail' may be clobbered by `longjmp' or `vfork'
####: warning: variable `retval' may be clobbered by `longjmp' or `vfork'
####: warning: variable `oldalarm' may be clobbered by `longjmp' or `vfork'

The first of these warnings is caused by differences in declaration of
scandir between different versions of include files (<dirent.h> in this case).
I don't have any idea what the latter 3 warnings mean, and what could be
done to improve the code so they don't occur.  They were introduced by some
2.5.x version of GCC.
If you get other warnings, checkout what is happening. (e.g. missing include
files, missing declarations, etc. probably mean your include files need
updating or the abovementioned symlinks are not correctly set)


To get updated versions of this program, call my system using UUCP.
Please note that it is only available from 23:00 to 07:30 local time,
which is GMT+1 during winter, GMT+2 during summer (DST).

You need a description for my system in your "systems" file.  Often this
file is called /usr/lib/uucp/Systems, or /usr/lib/uucp/L.sys on older
systems.  For the Taylor-UUCP which is normally used with Linux, this
can be the file /usr/lib/uucp/sys (when Taylor-style configuration
files are being used).

The entry for my system should look like this:

pe1chl Any2305-0725 ACU 19200 030715610 ogin:-\r-ogin:-\r-ogin: nuucp

Or in Taylor-UUCP format:

# Rob PE1CHL
system pe1chl
port ACU
phone 030715610
time Any2305-0725
chat ogin:-\r-ogin:-\r-ogin: \d\L
call-login nuucp

These entries make sure the system is called only at the appropriate
time (i.e. when it is open).  Please make sure you don't use "Any" because
your system will call me all the time when I am using the phone for
voice!  Also adjust the time range when you are not in the same timezone
as I am.  Add one hour for each timezone you live east of my timezone, or
subtract one hour for each timezone you live west.

You may have to modify the phone number to adjust for local conventions
(e.g. to get an outside line or to dial the international prefix and 31)

When everything is set up okay, you can get one of the INDEX files which
is available in my uucppublic directory:

-rw-r--r--   1 guest    visitor     30207 Jul  1 23:00 INDEX
-rw-r--r--   1 guest    visitor      6481 Jul  1 23:00 INDEX.gz
-rw-r--r--   1 guest    visitor      6573 Jul  1 23:00 INDEX.lzh

These files are updated automatically each day, and contain a listing
of all available subdirectories.  The .gz file is compressed using "gzip",
the .lzh file is in the format written by the DOS LHA program, and has
the file in DOS textfile convention.

Get a file using:

	uucp pe1chl!~/INDEX /tmp/pe1chl-INDEX

You may need to add a \ before the ! and the ~, depending on the shell
you are using, so that the command becomes:

	uucp pe1chl\!\~/INDEX /tmp/pe1chl-INDEX

Further files may be download using:

	uucp pe1chl!~/subdirectory/filename /tmp/filename

You can upload something using:

	uucp filename pe1chl!~/upload/filename

(uploads are only possible to the ~/upload directory)

Please send mail to pe1chl!rob when you have questions or remarks.
(for now, you can also email to pe1chl@rabo.nl, but I don't know how
long that address will remain valid)
