This is dnprogs, the user programs for the Linux DECnet socket layer.

This collection comprises all the programs and libraries you will need
to get DECnet for Linux working. It assumes you already have the
kernel patch installed and built.

You MUST be running the latest Eduardo kernel patch (version number 0.0.11 or
later) or a 2.4+ kernel to use these programs. If you are not
then several things (particularly dnetd) will NOT work. You will be warned
if you try to compile on old kernel versions.


INSTALLATION
------------

First, compile and install the programs:

   make ; make install

This should put all the user-level programs in /usr/local/bin, all the
system programs in /usr/local/sbin and the man pages under /usr/local/man.

Libraries will be installed in /usr/lib. If you would prefer them to be in
/usr/local/lib then edit Makefile.common and change libprefix.
If you do this you need to ensure that the libraries will be found by either
adding /usr/local/bin to the file /etc/ld.so.conf or by setting the
environment variable LD_LIBRARY_PATH. See the man page for ld.so for more
information.

[Please don't send me mail about compiler warnings on libc5 based systems, I
know. It compiles fine on libc6 systems (I can recommend Debian) because the
header files are more POSIX compliant.]

It will also install a startup script appropriate to your distribution. You
will need to set up your system so that this script is run at system startup
time.

NOTE: These startup scripts are out of date for everything except Debian.
If you can help with startup scripts for your particular distribution then
please contact me.

Debian
------
DECnet is included in Debian woody (3.0) and later.
"apt-get install dnet-progs" will install all the bits you need.

Redhat
------
The startup script is "/etc/init.d/decnet"
It should be installed using the command "chkconfig --level 345 decnet on"

Caldera
-------
The startup script is "/etc/rc.d/init.d/decnet"
It should be linked to "/etc/rc.d/rc5.d/S01decnet"

You should also add the -f switch to the startnet command.
See the comments in the file for more detail.

Slackware
---------
The startup script is "/etc/rc.decnet"
Put a call to this very near the start of your /etc/rc.d/rc.inet1 file.


NOTE: Wherever you put call the startup script from it *MUST* be run before
the TCP/IP initialisation because it needs to set the MAC address of the
ethernet card.

You will also now have an example configuration file (called
/etc/decnet.conf.sample). You should copy this to /etc/decnet.conf and edit it
to contain the details for your Linux machine (the executor) and all DECnet
nodes with which you want to communicate - see the man page for more details.

Alternatively you can use the script in scripts/setup.sh to aid in setting
up your DECnet configuration. This will prompt you for the necessary
information and create an /etc/decnet.conf file for you. This script is run
automatically when you first install a binary distribution.

You may also want to configure a DECnet proxies file. See the FAL
documentation and the decnet.proxy(5) man page for more information.

UPGRADING FROM 1.x
------------------
All the libraries in the distribution carry the version number of the
distribution itself rather than an ABI-type number. This is purely for
my convenience and there are many people who will tell me that this is just
plain wrong. Well so be it. The V2 libraries are all backward compatible
with the V1 libraries - the reverse is most certainly not true. If you build
any programs against libdnet.so.1 then they will still work against libdnet.so.2
so you can safely symlink here. The binary distributions contain these symlinks
so nothing should break.

The programs are all (externally) compatible with the older versions - some
programs have new switches.


DOCUMENTATION
-------------
man pages are provided for all the programs and also the routines in libdnet.
Also you will find some documentation in the Documentation directory of this
distribution.

If you have any problems then please consult the FAQ at
http://linux-decnet.sourceforge.net/faq.html before emailing the list with
questions.


PROGRAMS
--------

User programs in /usr/local/bin:
--------------------------------
dncopy	    -  copy files between VMS and Linux
dntype      -  view VMS files
dndir       -  show VMS directories
dndel       -  delete VMS files
dnlogin     -  connect a terminal session to VMS
dnping      -  "ping" (NCP LOOP NODE) a VMS machine
dnsubmit    -  submit batch jobs to a VMS queue
dnprint     -  print files on a VMS printer
phone       -  phone client
sethost	    -  old terminal client. use dnlogin instead.

Administrator programs and daemons in /usr/local/sbin:
------------------------------------------------------
startnet    -  needed to start the DECnet socket layer on Linux 2.2
ctermd      -  SET HOST server
rmtermd     -  DTERM server for older machines
fal         -  file access listener
vmsmaild    -  daemon to collect mail from VMSmail
sendvmsmail -  mail delivery filter to send mail from Linux to VMS
phoned      -  phone server (needed for any phone functionality)
dnetd       -  DECnet super server
decnetconf  -  Shell script to help in setting up /etc/decnet.conf
dnmount     -  mount a VMS filesystem (still beta - requires dapfs)
setether    -  shell script to set the MAC address of any/all ethernet
               cards. preferable to using startnet for 2.4+ kernels.

Libraries in /usr/lib
---------------------
libdnet         -  DECnet database functions
libdnet_daemon  -  Common routines for DECnet daemons
libdap          -  DAP protocol
librms          -  Routines for user programs to access RMS files


PHONE
-----
An excuse.

Phone uses GTK+ V1.2 for its X-Windows interface. If you do not have GTK+ 1.2
installed then you will only get the ncurses interface. I do apologise for this
but I am a newcomer to GTK+ and don't (yet, perhaps) have the knowledge to
produce code that is more portable; a lot of the widget creation code was
produced using the UI builder GLADE. I am an experienced X-Windows programmer
but that experience is with Xt and Motif because it was gained in a commercial
environment (using VMS rather than Unix since you asked!). I believe that GTK+
is the future of - free - software development and Motif, despite the
excellent efforts of the Lesstif team, is merely a legacy toolkit.

UPDATE: GTK+2 is now more common and (probably) better. I have no intention of
updating phone to use this. It's just a waste of effort. If you really want
a GTK+2 version of phone, send me the patch.


Writing DECnet programs
-----------------------
The DECnet programs all use the BSD socket API, so if you are familiar
with that then you are nearly there, particularly for clients.
If you want to write a server then I recommend you read the man page for
dnet_daemon - this includes a description of the DECnet daemon toolkit and
a complete, working example of a daemon that will run standalone or from
dnetd.

It's also worth visiting Steve Whitehouse's web site for information on
the more advanced calls. http://www.chygwyn.com/DECnet/

Plus...You have the source to many client and server programs in this very
package so peruse them and learn!

If all you want to do is access RMS files from Linux then librms is a much
easier way of achieving this because it contains open/read/write/close calls
that you will be more familiar with. See the librms directory for more
information.


ALSO INCLUDED
-------------
This distribution also contains uulib from the uudeview suite by Frank Pilhofer
(fp@informatik.uni-frankfurt.de).

I have supplied it here pre-configured for Linux and it seems OK for me on
libc5 and 6 systems of various architectures.

If you have problems or you want the rest of the uudeview distribution or want
to try a later version of uulib you can download it from
http://www.informatik.uni-frankfurt.de/~fp/uudeview.

Thanks to Frank for a great set of encoders/decoders - I use them a lot.


LICENCES
--------
All the programs are released under the GNU General Public licence. See the
file COPYING.programs for the full text.

The libraries (libdnet, libdap, libdnet_daemon and librms) are released under
the GNU Lesser (or Library) Public licence. See the file COPYING.libraries
for the full text.

Please note that uulib is released under the GPL (*not* LGPL). Contact Frank
if you want to discuss this.

CONTRIBUTORS
------------
Most of the programs in the apps directory and most of libdnet were written
by Eduardo Serrat. Bits of libdnet are also by Steve Whitehouse. Nearly all
the rest of the stuff was written by me (Christine Caulfield) and the
whole package is maintained by me, I've had my fingers in all their bits too.

I am grateful to several people for providing patches and programs:
Paul Koning (rmtermd & patches for sethost, dndir)
Rob Davies & David North (patches for dnping)
Kenn Humborg (patch for dntask)
Maciej Rozycki (patch for Makefiles)
Frank Pilhofer (for uulib) see above.
And to everyone who has submitted bug reports - please don't stop.


SUPPORT
-------
These programs have been tested on Linux 2.0, 2.1, 2.2, 2.3, 2.4 & 2.6 on Intel,
Alpha, SPARC and parisc machines (though not necessarily all combinations!).

I encourage all users to join the linux-decnet mailing list by visiting the
mailing list web site at
http://lists.sourceforge.net/lists/listinfo/linux-decnet-user

The list is archived at http://sourceforge.net/mailarchive/forum.php?forum_id=7244

If you need help with the software, think you have found a bug or would
like to request a feature then please send your messages to this mailing list.

Note that while I cannot guarantee you will get support for these programs,
we on the list will endeavour to help where possible.

If you send me or the mailing list a message that is answered in this file or
the online FAQ (at http://linux-decnet.sourceforge.net/faq.html) then it
will probably be ignored. I have a life to lead and a job to hold down.


