config.h FILE CONTENT

The "config.h" file is a standard for the C language and serves to direct the pre-compiler process. Configuration options for jnos are provided thru the #define and #undef statements that are critical to the features included in the load module. It has been recent practice that the precompiled version for the linux platoform is produced from the "config.h" file in the source directory. Various other versions (six at this printing) are included as well for review.

In addition to the options listed alone, some automated processing is included in config.h to aid in creating a sensible configuration and save some labor by automation. While setting options it is will to consider the following testing and programmer notes. To determine the detail of the process, please read config.h and act accordingly. A few examples of this processing is:

#ifdef DIRSESSION
#if defined(ARCNET) || defined(SLFP)
#if defined(BUCKTSR)
#if defined(CALLSERVER)
#if defined(EDITOR) && defined(ED) && defined(TED)
#if defined(NNTP) && defined(NNTPS)
#ifdef UNIX
#if NIBUFS == 0

With informative comments like:
#error Cannot #define both ED and TED
#error Cannot #define both NNTP and NNTPS
#error NIBUFS should never be zero

A comparison tool

For trivial differences the diff utility works just fine. While building the config.h that works perfectly, keeping a revision history can be useful:

...$ diff config.h config.h.n

The options set may be presented in alphabetical order in groups of defined [ON], undef [OFF], logic, and comment text, from “config.h”. Some descriptive text is provided by developers in keeping with good documentation practices. The listing becomes useful in comparison of various config.h files. It is beyond the scope to teach command line scripting, but here is the concept:

...$ sort config.h > config1
...$ sort other.h  > config2
...$ diff config1 config2 | more 

This will place the difference analysis into alphabetical order by group.

Oh yes - if you want to see the defined list in alpha order:

...$ grep ^#define config.h | sort > config1

gets the job done. The point of this is not provide a tool kit per se - I hope to whet your appetite for use of unix utilities to sort - sift - list - etc, and make the configuration of your own jnos version well documented from several viewpoints.

USER EXPERIENCE

Various samples are attached by users for download and use as seen fit by sysop doing compilation.

For example this author extracted the file config.h.yt7mpb from a mail attachment wherein Miroslav solved some specific problems he found. Here is the mail:

Dear hams,

I have been trying to persuade my new-installed JNOS 1.11e to run
properly. I used SV1UY's installation tool dated 1999 from his web site
and after that I also implemented G4ZXI's executable that he compiled
for me. Seems that executables from both the installation utility and
the compiled one work although their set of commands slightly differ, I
suppose due to the different options they have chosen during the
compilation.

Somehow it looks to me that JNOS does not store messages properly (or
just doesn't handle them after storing). For example, when I post a
message to myself, say SP YT7MPB [@YT7MPB] - I expect it to be read
either locally at JNOS or be forwarded to the FBB system in the LAN
(ethernet). What happens after CTRL-Z or /EX is that JNOS says 'Msg
cueued' but when I try to list or read the message, there is nothing. In
addition, when I initiate forwarding session (or reverse forward) from
FBB, JNOS answers with FQ as if it has nothing for exchange. So it looks
that message 'storing mechanism' does not work. It makes me wonder if
something else should be defined or something like that. I enclose
config.c that G4ZXI have been using when compile the exe for me.

And in fact, at the moment I am only interested in a tiny JNOS BBS that
is capable to forward to the other comp running WinFBB/LinFBB (Other
JNOS services, features, are not actually needed - just to let VHF users
to connect and read bulletins from the JNOS box):

VHF port + TNC2 + 80286 JNOS box > LAN < P2 WinFBB/LinFBB + Internet

So, that means no other services are needed, but full capability BBS
(mailbox), ethernet (packet) and AX.25 radio access to it, forwarding
capability compatible to WinFBB/LinFBB and telnet access to JNOS with
open gateway to radio port. That's all to begin and later some more
services might be added.

Also ...

It seems that I have several issues
with forwarding now, for example:

- Do I need to have different callsigns for 1) WinFBB (ie LinFBB),
2) JNOS, 3) myself as the user (sysop) ?
- If not, should I have different SSID (<callsign>-SSID) for each of
them - in order to differentiate them in between?
- For several reasons, I prefer running WinFBB and it can not access
JNOS properly (I mostly get a situation where WinFBB's callsign is not
recognized by JNOS and the password which follows the callsign gets
interpreted as the callsign - resulting in failure. Is there anything
you can suggest you to do here? Sometimes it passes through and looks
like (from WinFBB's point of view):

[PORT 2 (TELNET) - 20 - YT7MPB-0] 15:24 Connect
*** Connected to YT7MPB
.YT7MPB-9                 <--- FBB's callsign sent once

yt7mpb-9                  <--- FBB's callsign sent again

password                  <--- FBB's password sent once

JNOS (yt7mpb.ampr.org)

login: login: Password:  v n
[JNOS-1.11e-IHM$]

  >
[FBB-7.00i-AHM$]

... and here it wait for forever :-( Looks as if FBB does not sent its
">" after the [FBB-7.00i-AHM$] line and I don't know what to do (with
the same setup, LinFBB sends its ">", see next:

- When running LinFBB (which has the same setup as WinFBB, because
Windows and Linux read the same FAT partition where common FBB files
reside), then it manages to access JNOS with the callsign and password,
but whatever FBB offers to exchange, JNOS refuses as if it already got it.

Regards,

Misko YT7MPB

ConfigHFile (last edited 2007-03-28 00:28:18 by GeorgeVerDuin)