+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+  Documentation for:      DIGIINFO/LinuX                               +-+
+-+  programmed by:          Mario Lorenz  DL5MLO                         +-+
+-+  based on the                                                         +-+
+-+  ATARI-Version of        Karsten  Heddenhausen  DC7OS                 +-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(Documentation based uppon Karsten's doc for Digiinfo/ATARI

Who already knows DigiInfo, either in Holger, DH4DAI's, or any other
version, should not have any troubles here.

For all others here a short description. DigiInfo was written as a little
tool for "showing the way" to Packet-Radio users. However, it also shows
some informations about the digipeaters.
That means, if someone only wants to know what and where the digi is,
which just was seen in the nodelist, he can use this program. Some other bonus
information is provided too: Searching for prefixes and locators. Check it
out!

The LinuX-port became neccessary when I began using LinuX more often and
began missing the comfort of a digipeater-database under LinuX. I also
disliked switching the operating system just for looking for one
digipeater. Karsten, DC7OS, was so nice and provided me with the sources
of his DigiInfo for Atari, and after some hours/days of porting, the LinuX-
Version worked (at least, I hope it does :-)
Another advange of the LinuX-Version: Due the memory-management of Linux, it
has no problems with large databases, as the DOS-Version does.

So here we go. For doing it's job, digiinfo needs data.
The data is provided from the HamMap-Team in a standardized ASCII-Format.
This format consists of two ASCII-Files. The first one, digiinfo.stn,
contains the information about the nodes, the second one, digiinfo.lnk, the
information about the interlinks. The program makefst (provided in this
package) then creates an additional custom binary file, digiinfo.fst,
which is used by digiinfo to make a fast access possible.
With and ASCII-editor you then create a file digiinfo.inf. In the
first line put your own locator. The second line contains a max 3 digit
number which specifies the max. distance when searching for digipeaters
(see below). In the 3rd line, a single digit for the default-language
should be put. (0:DL, 1:PA, 2:F, 3:G, 4:OK 5:OK-Latin2).
In order to adapt this default language to the native language of the
user calling the program (for example, you could have digiinfo installed
on a linux server accessible by foreign OM's), the 4th line can be set
to the name of an environment variable which is supposed to hold the
callsign of the OM calling in. The language will now adapt according
to that callsign, superseeding the default as given in line 3.
For example, if you use the TNT hostmode terminal program, you should use
the CALLSIGN environment variable, since it is set by TNT automatically
whenever a //run command is started.

Note that the user calling digiinfo can specify the language explicitly
by using command line arguments (see below)
For example, the file migth look as following:

JO60JM
50
0

If the file is not available, digiinfo will use internal defaults.

Installation of DigiInfo/Linux:
- extract the sources, for example to /usr/src/digiinfo
- get the files digiinfo.stn and digiinfo.lnk somewhere, either from a BBS,
  or from a friend who has HamMap. Put them into the source-directory.
- edit digiinfo.inf as discussed above.
- edit the Makefile. Especially the lines HOMEDIR and BINDIR
  They give the installation target directories.
- type make dep ; make all ; make install, and pray that everything works
  a symbolic link to "di" will be created (for the lazy people like me, which
  do not want to type that long word all the time)
  
Options:

- DIGIINFO <callsign>    : Shows info's from <callsign>
- DIGIINFO <Prefix>      : Shows a list of Calls beginning with <Prefix>
- DIGIINFO <locator>     : Shows a list of Calls at <locator>
- DIGIINFO <1> <2>       : Shows the Route from <1> to <2>
- DIGIINFO <1> <2> <3>   : Shows the Route from <1> to <2>,
                           not routed via <3>
- DIGIINFO <1> <2> <3/4> : Shows Route from <1> to <2>,
                           not routed via the Link <3>-<4>
				   
 <1>, <2>, <3> and <4> must be replaced by Callsigns!
 
If there exists a file digiinfo.msk in Digiinfo-HOME (-->Makefile),
then the information found there is used to mask out digipeaters or interlinks
in the router. This is an easy and fast way to mask out temporarily defects
without modifying the entire database. Every digipeater and every link to be
masked oud must be written into a line of it's own. One digipeater alone
means: Do not route via this digipeater, two digipeaters separated by a slash
("/") mean that the router will not route via the interlink between these
nodes.

If the last argument begins with a "-", then it is threatened as callsign for
switching the language.

Example: digiinfo DB0BOX -ok2xdp  makes digiinfo to print out informations
         about DB0BOX in czech language.
	 
MAKEFST:
--------
Makefst is used for converting digiinfo.stn/.lnk files into the fastload-
file digiinfo.fst and for updating the data-files with the updatefiles
provided by Helmut, DG8FBL.
Please note that it might be useful to use GNU recode to convert these
data files into the UNIX ascii format before actually using them with
makefst!.

Syntax:
makefst   [-vosf] <stationfile> [<updatefile>]
The flags mean:  -v: verbose, makefst will tell about everything it is
                     currently doing.
                 -o: old files will be backed up to *.bak before overwriting
		 -s: strict check of the data-files. Should not be neccesary.
                 -f: save fst-file. If onyl one filename is given, this
		     is default. But when updating, you can use this flag to
		     force creation of the fst-file.
		     
examples:
makefst digiinfo                   : the corresponding digiinfo.fst file for
                                     digiinfo.stn and digiinfo.lnk will be
				     created.
				     
makefst -vof digiinfo digi16.upd   : the files digiinfo.stn/digiinfo.lnk will
                                     be updated using the update-information
				     in digi16.upd.
				     Makefst will be verbose.
				     Old files will be backed up.
				     The .fst-file will be generated
				     in the same turn.
				     



TODO-list:
Digiinfo/Linux is not perfect. Not even all data available from the datafile
is displayed yet.. Be patient :-)
I have ported the program to Linux for fun and for learning C.
Future plans are writing it object-oriented in C++. Not, because I think this
improves digiinfo, no, I only want to look at C++ :-)
Also I am trying to port the whole HAMMAP program to Linux, but this takes
time & patience, which I don't have, hi.

CREDITS:
--------
I have to thank the following persons:
Karsten, DC7OS:       for the original sources of his digiinfo program.
                      Without them, the Linux-Version wouldn't exist.
Michal, OK2XDP:       For the czech translation.
Jean-Marc, F1SCA,
and Marcel, PE1PEY:   for checking and adapting the parts for the French
                      and Dutch languages.
 
#########################  I M P O R T A N T ########################### 

This software is copyrighted/copylefted under the Public License for Amateur
Radio Software (ALAS).(See file COPYING) It should be possible to port this
program to other operating systems, however, I havent tried it. But there
shouldn't be any problems since only standard functions were used.

Send error-reports or additions for the _data files_ (!) NOT to me, but
to Helmut, DG8FBL@DB0EAM.HES.DEU.EU or to Martin, DL6DW@DB0MWS.#BAY.DEU.EU.
These both OM's are maintaining the database and release updates
from time to time.

I am grateful for any hints, tips, critics & so on.

Please DO NOT send Bug-Reports for the LinuX-Version to Karsten, but to me.
I can be reached via AX25-Mail: DL5MLO@OK0PKL.TCH.EU
or via Internet: dl5mlo@vdazone.org

My postal adress:

Mario Lorenz  DL5MLO
Heideweg 19
D-08340 Schwarzenberg



The program bases uppon the ATARI-Version, written by 

Karsten Heddenhausen DC7OS
Steinbockgasse 11A
D-30823 Garbsen
