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
