home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-12-26 | 45.6 KB | 1,010 lines |
- ############
- ################
- ### ###
- ### ###
- ### ### ## ## ##### ###### #######
- ### ### ### ## ## ## ## ## ##
- ### ### #### ## ## ## ## ## ##
- ### ### ## ## ## ## ## ## ## #####
- ### ### ## #### ## ## ## ## ##
- ### ## ### ## ### ## ## ## ## ##
- ### ## ### ## ## ##### ###### #######
- ### ## ###
- ### ###### ## ## ## ##### ###
- #### #### ## ## ### ## ## ##
- ### #### #### ## #### ## ##
- ################### #### ## ## ## ##
- ############ ## ## #### ## #### ###
-
- Table of Contents
-
- Part 1 - QNode
- 1.1 - Introduction
- 1.2 - Program Usage
- 1.3 - Error Levels
- 1.4 - Point Nets
- 1.5 - Multiple Networks
-
- Part 2 - QDiff
- 2.1 - Introduction
- 2.2 - Program Usage
- 2.3 - Error Levels
-
- Part 3 - QIDX
- 3.1 - Introduction
- 3.2 - Program Usage
- 3.3 - Error Levels
-
- Part 4 - Configuration File
- 4.1 - Introduction
- 4.2 - Configuration File Commands
-
- Part 5 - Common Questions
-
- Part 1 - QNode
-
- 1.1 - Introduction
-
- QNode was originally designed to be a fast version 6 nodelist compiler
- which could handle my MNP modem properly, seeing as no other nodelist
- compiler was really able to do the job.
-
- When version 7 nodelists came out, and I found out just how slow the
- indexing system was, I determined that QNode really needed an update to
- handle the v7 nodelist.
-
- QNode is a free program, and although I don't refuse any money, no
- money is expected. By the same token, you are NOT allowed to make any
- money through QNode.
-
- QNode is also a copyrighted program, and by that token, you are not
- allowed to distribute any modified, or incomplete copies of the QNode
- distribution archive. (Re-Archiving is not considered modification (at
- least by me.))
-
- To get the latest version of QNode, simply request the magic name of
- QNODE from 1:140/26. This is probably going to net you a pre-release
- copy however. The most recent release version will probably be
- available in the SDS-SOFTDIST area.
-
- Something that started with QNode 1.40 is that even numbered versions
- will be true release versions, while odd-numbered versions will be the
- pre-release versions.
-
- 1.2 - Program Usage
-
- QNode will use the file 'QNODE.CFG', or the first command line
- parameter as it's parameter file, and will always search and find the
- latest 'NODELIST.###' file (time-stamps are used, so end of year wrap
- isn't a problem.) and compile it into one of these sets of files:
-
- VERSION6 - NODELIST.DAT, NODELIST.IDX
- VERSION7 - NODEX.DAT
- VERSION7, INDEX - NODEX.NDX
- USERLIST - FIDOUSER.LST
- USERLIST, INDEX - SYSOP.NDX
-
- You will only be allowed to create the version 7 index files and the
- FIDOUSER.LST file as well as the indexes on an EMS system with lots
- of EMS available.
-
- Once QNode has read it's configuration file(s), and found a nodelist to
- compile, it will start processing the nodelist. While compiling, you
- will notice that a status line is kept on the screen showing the most
- recent Zone, Region, Net, and Hub. Hubs will only be shown for nets
- which are being included in the final nodelist. If a net is not to be
- included in the final nodelist, you will see the word 'EXCLUDE' after
- the line, and QNode will enter an extremely fast 'overdrive' mode to
- get to the next network.
-
- If you only use some zones from the nodelist, then QNode will stop
- compiling the nodelist the instant that it hits a zone higher than
- the last one that you requested nodes be compiled from.
-
- 1.3 - ERRORLEVELS
-
- The errorlevels which can be returned by QNODE are:
-
- 0 = Nodelist compiled fine.
- 1 = No Nodelist found.
- 2 = Cannot open configuration file.
- 3 = Cannot open nodelist.
- 4 = Errors exist in the configuration file.
- 5 = Invalid binary nodelist.
- 6 = EMS allocation error.
-
- 1.4 - POINTNETS
-
- Pointnets can be done in a couple of different ways, depending upon
- your system settings. You can either create 'fake-net' point listings,
- or you can create a special 'point-control' file.
-
- In version 6 mode, you are only allowed to create a 'fake-net', but in
- version 7 mode, you can do either (or both for that matter.)
-
- A 'fake-net' is a dummy network which is not in the distribution
- nodelist, which lists your points as 'virtual' network addresses.
- These dummy network number start at 30000, and go up from there. You
- should apply to your Zone Co-Ordinator for an official point-net
- number, but for testing purposes, you can pretty much choose a random
- number between 30000 and 32767.
-
- Each node within this fake-net is actually a point, where the node
- number from the fake-net is the point number of the node. For example,
- if I used the fake-net number of 32000, then the points for 140/26.1,
- 140/26.2, 140/26.3, ... would be listed in the nodelist as 32000/1,
- 32000/2, 32000/3, ... . It is the responsibility of your mail packer
- to handle these fake-net numbers. (QMail, and Opus 1.70+ will handle
- fake-nets in this fashion.)
-
- A sample of a fake-net follows below:
-
- ---cut here---
- Host,33000,The_North_Village,City,James_West,1-306-384-0836,2400,MNP
- ,1,My_First_Point,City,Sysop_Name,1-306-555-1212,1200
- ,2,My_Second_Point,City,Sysop_Name,1-306-555-1212,9600,HST,V32,V32b
- ---cut here---
-
- This fake-net must be 'IMPORT'ed somewhere within the nodelist. You
- can import it anywhere you like, but normally it should be imported
- after your own network, region, or zone.
-
- To import after your own network, you would use the configuration file
- command: 'IMPORT 1:140 POINT.LST'. To import after your own region,
- you would use the command: 'IMPORT 1:17 POINT.LST'. To import after
- your own zone, you would use the command: 'IMPORT 1: POINT.LST'.
-
- A 'point-control' file is one file which contains listings for all
- points that you will have access to. It's fairly similar to the 'fake-
- net' file, but instead of having a dummy network for each node, the
- points are attached to the node itself.
-
- To use a point-control file, you should use the 'POINTS' command to
- include the file which you list all of your points in. For example:
- 'POINTS POINT.LST'. In the point-control file, everything after the
- bosses node number is ignored, so you can use that as any sort of
- comment that you like. (The actual information for the boss node is
- taken from the nodelist.)
-
- A sample of a point-control file follows:
-
- --- cut here ---
- Boss,1:140/26,The_North_Village
- ,1,AB_Data_Sales,City,Sysop,1-306-555-1212,1200
- ,2,Another_Point,City,Somebody,1-306-555-1212,9600,HST,V32,V32b
- Boss,1:140/200,Another_Boss_Node
- ,1,His_First_Point,City,Sysop_Name,1-306-555-1212,1200
- Pvt,2,His_Private_Point,City,Sysop,-Unpublished-,2400
- --- cut here ---
-
- 1.5 - MULTIPLE NETWORKS
-
- QNode also supports the compilation of many different input nodelists
- into one big output file. This is used for the inclusion of other
- networks (like SIGnet for example.)
-
- The configuration file command which enables this is the 'NODELIST'
- command, which instructs QNode on which nodelists that it is supposed
- to compile.
-
- To compile a joint Fidonet, Signet system you would use the two
- commands: 'NODELIST NODELIST' and 'NODELIST SIGNODES'.
-
- WARNING: If you use a 'NODELIST' command in your configuration file,
- then the default fidonet nodelist will NOT be included. You must
- explicitly include the 'NODELIST NODELIST' statement if you still wish
- to include the fidonet nodelist.
-
- Part 2 - QDIFF
-
- 2.1 - Introduction
-
- QDiff is a companion program to QNode, which applies NODEDIFF files to
- nodelists, and will generated an updated nodelist. QDiff can apply an
- almost unlimited number of nodediffs simultaneously. For example, if
- you have NODELIST.101, NODEDIFF.108, NODEDIFF.115, NODEDIFF.122, and
- NODEDIFF.129 after running QDiff, you will be left with NODELIST.129.
- Note: The actual limit will be determined by the number of file
- handles that QDiff is able to open simultaneously. Since it doesn't
- bother to expand it's handle table, the true limit would be around a
- dozen nodediffs.
-
- 2.2 - Program Usage
-
- QDiff has some pretty simple usage for most people: Just run it
- without any parameters. It's all automatic. The only thing you have
- to do is make sure that the nodelist and nodediff files are in the
- directory that you are in when you run QDiff.
-
- QDiff first searches through your NODELIST files to locate the one with
- the most recent time stamp, and then it will go through your NODEDIFF
- files trying to find ones which are more recent. If it does not find
- any, then it will search for any archived NODEDIFF files to see whether
- any of them exist. (Current archivers which are recognized are: ARC,
- ZIP, and LHA, based upon the first letter of the extension.)
-
- You are NOT allowed to 'mix-and-match' archived and un-archived
- nodediffs. You must supply one sort or the other to get a proper
- output file.
-
- If given an archived nodediff, QDiff will extract it immediately using
- one of the following archive programs:
-
- for NODEDIFF.A##:
- PKUNPAK, PKXARC, ARCE, PAK
- for NODEDIFF.Z##:
- PKUNZIP, PAK
- for NODEDIFF.L##:
- LHA, LHARC
-
- QDiff requires LOTS of disk space while running. It must create an
- entirely new nodelist on disk before it can delete the old one. This
- new nodelist will be created in a file named 'QDIFF$.TMP', which will
- be renamed to the correct name if the nodelist is compiled
- successfully.
-
- To use QDiff with multiple networks, you must use some command line
- parameters. For each network that you wish to compile, you should put
- the name of the nodelist, an exclamation point, and the name of the
- nodediff file. You can do more than one network at a time, but it's
- suggested that you just do one network at once. To cause QDiff to look
- for a SIGnet nodelist/diff combination for instance, you would use the
- command: 'QDIFF SIGNODES!SIGDIFF'
-
- Other parameters that are supported by QDiff are as follows:
-
- /D Deletes all NODEDIFF files when completed. This will not delete
- archived nodediff files. If a CRC error is detected during compile,
- the nodediff files will still be deleted.
- /N Deletes the old nodelist.
- /Z Instructs QDiff to place an EOF mark at the end of the new nodelist.
- This is not required for either QDiff or QNode, but some utilities
- seem to expect it I guess.
- /P Instructs QDiff to run some sort of command based upon the new nodelist
- or nodediff files. This command can include the following percent
- directives:
- %1 - Last 1 character of the julian date of the new nodelist.
- %2 - Last 2 characters of the julian date of the new nodelist.
- %3 - The full julian date of the new nodelist.
- %D - The file name (without numbers) of the NODEDIFF file.
- %N - The file name (without numbers) of the NODELIST file.
- The %D and %N parameters both include a trailing period.
- To include spaces in the command (as most commands require), you would
- have to encase the parameter in quotation marks. Some sample commands
- follow:
- /P:"pkpak -otc a nodelist.a%2 nodelist.%3"
- /P:"pkzip -a nodelist.z%2 nodelist.%3"
- /P:"lha a %nl%2 %n%3"
- NOTE: Within a batch file, you must use two percent signs.
-
- /BINARY Instructs QDiff to create a binary nodelist.
- *************************************
- *** WARNING: THIS IS IRREVERSIBLE ***
- *************************************
- If you decide to use this command, make sure that you have access to a
- real nodelist somewhere. If your nodelist somehow gets corrupted, it
- will be completed unusable.
-
- The benefit of using the /BINARY switch is that the nodelist will take
- up approximately HALF the disk space on your local drive. This binary
- nodelist is completely against FTSC, and therefore you should not make
- the binary nodelist available for download. The only purpose for this
- command is for people who are running in extremely low disk space
- situations.
-
- Once you have used the /BINARY switch once, it is unnecessary to
- specify it again, since QDiff will automatically create a binary
- nodelist if it gets a binary nodelist as an input file. Therefore if
- you wish to keep certain nodelists in ascii, and certain nodelists in
- binary, all that you need to do is manually convert the respective
- nodelists to binary, and then QDiff will automatically keep those
- nodelists in binary while leaving the other nodelists in ascii.
-
- De-Activated Stuff:
- 1: The Nodelist CRC can not be checked.
- 2: Lower-Case anything.
- 3: The EXPORT command is dead.
- 4: QDiff will take longer. (QNode might actually be quicker.)
-
- 2.3 - Error Levels
-
- The errorlevels which can be returned by QDIFF are:
-
- 0 = NODEDIFF applied normally
- 1 = NODELIST does not require updating
- 2 = Cannot find nodediff
- 3 = Cannot find nodelist
- 4 = Cannot find extraction program
- 5 = NODEDIFF not found after running extraction program
- 6 = Extraction program reported an errorlevel other than 0
- 7 = Disk error during writing, probably disk full
- 8 = CRC error in new nodelist
- 9 = Invalid binary file version
-
- Part 3 - QIDX
-
- 3.1 - Introduction
-
- QIDX is a simple program which was written to generate the nodelist
- indexes without having to compile the nodelist. It is also used when
- somebody wishes to generate the FIDOUSER.LST file as well as the
- version 7 indexes.
-
- The ability to build the user index was just thrown in.
-
- 3.2 - Program Usage
-
- To run QIDX, simply type 'QIDX' followed by the list of parameters for
- the indexes to be built. These parameters are:
-
- /N Generates the node number index. You may specify /N:filename to change
- the name of the index. (This defaults to NODEX.NDX)
- /S Generates the sysop index. You may specify /S:filename to change the
- name of the index. (This defaults to SYSOP.NDX)
-
- /U Generates the user file index. You may specify /U:filename to change
- the name of the index. (This defaults to USER.NDX)
- NOTE: USER.DAT must be in the current directory for /U to work.
-
- An additional parameter which is almost guaranteed to make the indexes
- unusable to everything also exists. This parameter is:
- /B Change block size (default 512). This changes the size of the blocks
- within the index file. No other values are known to work.
-
- If you use a large portion, or all, of the nodelist, then you may wish
- to have QIDX build the node number and sysop indexes separately. If
- you build both at once, then QIDX must divide memory in half for each
- index. If building only one, then it can use all of memory.
-
- To have QIDX compile a different nodelist data file than NODEX.DAT, you
- can simply specify the nodelist filename on the command line.
-
- To compile SIGX.DAT into SIGX.NDX and SIGSYSOP.NDX, you would use the
- command line:
-
- QIDX SIGX.DAT /N:SIGX.NDX /S:SIGSYSOP.NDX
-
- 3.3 - Errorlevels
-
- 0 = Everythings fine.
- 1 = Could not open either the nodelist, or the userlist data file.
- 2 = Bad parameter specified on command line.
-
- Part 4 - Configuration File
-
- 4.1 - Introduction
-
- The QNode configuration file is a free-format text file, which consists
- of a keyword followed by optional parameters. The file is totally case
- in-sensitive, although some keywords may not be. To place a comment
- within the file, preceded the comment by a semi-colon (;).
- WARNING: Do not place a comment on a password line.
-
- 4.2 - Configuration File Commands
-
- NOTE: Any parameter which starts with 'USES' may be enabled by
- preceding the statement with 'USES' and disabled by preceding the
- statement with '!USES'.
-
- *** STUFF ABOUT YOUR SYSTEM ***
- ADDR #:#/#.# {#:#/#.#} ; SUPERCEDES 'ZONE, NET, NODE'
- This sets YOUR network node number. Additional addresses may be
- specified, but the first address listed is the default. You are also
- allowed to place multiple ADDR lines in your configuration file, but
- each subsequent one will totally replace the previous ones. This can
- however be used to reduce typing by setting default zone/net numbers.
-
- WARNING: If you use multiple ADDR lines, be absolutely sure that the
- last ADDR line in the file is the real one, with all addresses, and the
- first address being your 'normal' address.
-
- COUNTRY #
- This sets your countries telephone direct dial code. In Canada and the
- United States, this is '1'.
-
- NODELIST filename{ #{ node-data{ sysop-data}}}
- This is to be used to enable multiple, or non-standard nodelist
- generation. If no nodelist lines are specified, it will default to:
- 'NODELIST'. You may have as many of these lines as you like. The
- optional number specifies a 'zone override'. If this number is non-zero
- then the first zone will be taken to be the number you specify, instead
- of the zone listed. Additional zones will be incremented by one. The
- zone override is only valid for the nodelist that it is listed for. An
- example for a fidonet + signet system follows:
- NODELIST NODELIST
- NODELIST SIGNODES
- The node-data and sysop-data files are used in v7 mode to compile that
- nodelist to an entirely different set of data files. If these options
- are never specified, they will default to: NODEX and SYSOP.
-
- WARNING: Do not use file extensions on these commands.
-
- Whenever an entry is encountered with a file specified, the current
- file will be closed, and the new file(s) will be created. The data-
- file overides are only supported in VERSION7 mode.
-
- Do *NOT* specify the same file names on a later line. This will only
- erase the previous files. To compile multiple entries into the same
- file, group all nodelists whose data should go into the same file
- together, and then specify the filename only for the first entry.
-
- As a weird example, suppose you want to have NODELIST and SIGNODES
- compiled together into NODEX.DAT, NODEX.NDX, and SYSOP.NDX, but you
- need SIGNODES to be compiled into SIGX.DAT, SIGX.NDX, and SIGSYSOP.NDX
- as well. The proper usage would be:
-
- NODELIST NODELIST
- NODELIST SIGNODES
- NODELIST SIGNODES 0 SIGX SIGSYSOP
-
- USES USERLIST ; SUPERCEDES 'USERLIST'
- If you specify the VERSION7 and INDEX keywords, this requests that
- SYSOP.NDX be generated. Otherwise the file 'FIDOUSER.LST' will be
- generated. If you have insufficient memory to generate the entire file
- 'FIDOUSER.LST', then it will be swapped to disk, and the slow process
- of userlist merging will commence. To minimize the need for this, you
- may wish to reduce the memory consumption of QNode by reducing the
- BUFFERS keyword.
-
- USES FIDOUSER [limit] ; SUPERCEDES 'USERLIST' IN VERSION6 MODE.
- This requests that the file 'FIDOUSER.LST' be generated. This file can
- only be generated if you either do not generate the version 7 index
- files, or if you have a LOT of EMS available. (See the "USES EMS"
- parameter.) The limit is the maximum amount of base-memory remaining
- before the userlist will be swapped to disk. It defaults to 4096.
-
- USES ALLUSERS ; SUPERCEDES 'ALLUSERS'
- This requests that all user names be placed in FIDOUSER.LST, whether
- you have them in your nodelist or not. This is normally used for the
- ONEZONE or REGULAR style of nodelists. Since inter-zone mail is
- normally gate-routed, you do not require the actual node in your
- nodelist to send mail to people.
-
- USES HUBS ; SUPERCEDES 'HUBS'
- This asks for hub nodes in nets other than your own to be given mail
- command of all private nodes underneath them. Normally, mail command is
- given to the host, unless it is in your own net.
-
- USES EMS [size]
- This asks for EMS memory to be used for indexes and version 7 buffers.
- This will default to on, so the only use for this command is so that
- you can use '!USES EMS' to disable this setting. The default for this
- command is to allocate 64, which effectively disables EMS indexes.
-
- If you wish to enable EMS indexing, set this value to some large
- number. A good value would be: 1500, which allocates 1.5MB of EMS.
- This 1.5MB will be either given to one index, or split between two
- indexes. In the EMS page frame is 4 pages of 16K. Each index will
- take one page, and the version 7 buffers will get all remaining pages.
- NOTE: EMS Indexing is noticably slower than using conventional memory.
- I would only suggest using this if you want to generate FIDOUSER.LST,
- or if you are compiling most of the nodelist.
-
- NOTE: The index does NOT need to fit within it's EMS boundaries. Index
- segments will be swapped to disk on an LRU algorithm if you fill the EMS
- boundary.
-
- NOTE: As I've noticed running under MS-Windows, EMS requests can be
- denied for allocation even if there's still plenty of EMS remaining. I
- can only determine that MS-Windows is trying to prevent applications from
- hogging the whole system. Thus I had to lower my default allocation from
- 2048 downto 1600 or so. If you try larger amounts under MS-Windows, and
- possibly OS/2 as well, you may see a warning message telling you to lower
- your EMS allocation, or to remove it altogether.
-
- USES DOUBLESWAP
- This asks for EMS memory double-page swapping to be performed on the
- EMS indexes. This command will DISABLE the placing of version 7 buffers
- within the EMS page frame. Instead of each index taking only one page,
- when you use this option, each index will take two pages. This option
- is to be used on systems which have an extremely slow EMS page-swap
- function.
-
- ALLOCATE BUFFERS # ; SUPERCEDES 'BUFFERS'
- This sets the node buffer size. It can be anywhere from 1 to 511, and
- defaults to 511. The only use I can see for this is to give yourself
- more memory for the userlist. If you don't have enought memory for the
- buffers themselves, it will default to a lower number of nodes.
- BUFFERS 256 is frequently sufficient, and gives you some extra memory
- for the userlist. Each buffer will take 128 bytes of memory in version
- 7 mode, and 132 bytes of memory in version 6 mode (and 260 bytes of
- memory if you compile both.)
-
- ALLOCATE TEXT #
- This sets the memory allocation to be used for auxilliary text files
- used in the IMPORT, EXPORT, and FORMAT commands. The default value for
- this is 32768. The maximum value is either 65528, or half of remaining
- memory (whichever comes first.), but will always get at least 128
- bytes. If you are generating FIDOUSER.LST, then this number will be
- locked at 128.
-
- WARNING: If these are allocated at a totally inappropriate time, you
- may get an out of memory error (error code 203) during the compile. If
- you get this error, then you should shrink the allocation. (an
- allocation of 128 is guaranteed not to fail, since it's allocated from
- the stack, and not from the heap.)
-
- KEEP FIRSTUSER
- This tells QNode to keep the first user entry specificed during
- nodelist compile. This was the default in QNode <1.41
-
- KEEP LASTUSER
- This tells QNode to keep the last copy of a user entry that it
- encounters during nodelist compile. This is the default in QNode>=1.41
-
- KEEP ALLUSERS ; SUPERCEDES 'DUPLICATE'
- This allows duplicate entries in a VERSION7 sysop index. OPUS doesn't
- do anything with the dupes however.
-
- MAXBAUD #[|#] {[FLAG #[|#]] ...}
- This sets the maximum baud rate which will be placed in the compiled
- nodelist. Any entries above that value will be reduced to that value.
- Notice the optional second number after the pipe symbol. This second
- number if the modem type to be used. This sets the PREDIAL# to be used
- for Opus 1.70+, or the ModemTrans to be used for BinkleyTerm.
-
- The set of flags after the baud rate specify baud rate or dial prefix
- extensions. Any node whose entries contains the flag listed will be
- changed to the specified baud rate (and optional modem type). Unlike
- every other portion of QNode, the flags work on a LAST MATCH rule. In
- case of multiple matches, the last one will have precedence. You are
- allowed to have up to 20 flags specified.
-
- An example for a 2400 baud, MNP 5 modem is:
- MAXBAUD 2400|1 HST 9600|0 MNP 9600|0 V42 9600|0
- Where ModemType 0 is a standard MNP dial, and ModemType 1 disables the
- MNP for the dial.
-
- And example for an HST w/V32bis is:
- MAXBAUD 9600|0 HST 9600|1 V32 9600|1 V32B 9600|2
- Where ModemType 0 is a standard dial, ModemType 1 dials the older HST
- modems in HST mode, and ModemType 2 dials the newer V32bis modems with
- V32bis enabled. This would enable Janus for higher speeds. If you
- don't have Janus, you may wish to dial V32B in HST mode as well.
-
- *** NODELIST GENERATION COMMANDS ***
- COMPILE ONEZONE ; Supercedes 'ONEZONE'
- Asks for only nodes in your zone(s). (ie: ZONE:*/*)
-
- COMPILE REGULAR ; Supercedes 'REGULAR'
- Asks for only your zone(s), plus hub nodes from other zones. (ie:
- ZONE:*/* + *:*/0)
-
- COMPILE ALLZONES ; Supercedes 'ALLZONES'
- Asks for a complete nodelist (ie: *:*/*)
-
- COMPILE NOZONES ; Supercedes 'NOZONES'
- Asks for NO nodes whatsoever to be included
-
- USES VERSION6 ; SUPERCEDES 'VERSION6'
- Asks for a version 6 nodelist (DEFAULT)
-
- USES VERSION7 ; SUPERCEDES 'VERSION7'
- Asks for a version 7 nodelist
-
- USES INDEX ; SUPERCEDES 'INDEX'
- Asks for version 7 indexes to be created. NOTE: You may wish to use
- QIDX instead of this to generate indexes. Either to give more memory
- for index creation, or to generate the FIDOUSER.LST file.
-
- WARNING: If you select VERSION7, USERLIST, and INDEX then only the
- version 7 sysop index will be generated. To generate a FIDOUSER.LST
- file, you must not specify this command. (Having LOTS of EMS will
- allow you to generate FIDOUSER.LST in this situation, by using the
- 'USES FIDOUSER' keyword.)
-
- ANOTHER WARNING: When generating a VERSION7 data file, you MUST create
- indexes by one method or another. You must either specify the USES
- INDEX, or use QIDX to build the indexes.
-
- *** NODELIST GENERATION MODIFIERS ***
- ADD {[nodeid] ...}
- DELETE {[nodeid] ...}
- These two functions are used to change the list generated by the quick
- output list types. The [nodeid] statements may be any of these style
- of numbers:
-
- ZONE: Asks for the entire zone
- ZONE:REGION Asks for the entire region
- ZONE:NET Asks for the entire net
- REGION Asks for a region in your own zone
- NET Asks for a net in your own zone
- -ZONE: Asks for admin node for the zone
- ZONE:-REGION Asks for admin nodes from specified region
-
- These commands are processed in the order they are encountered. You
- may have as many add and delete lines as you like, in any order. In
- cases of multiple matches, the first applicable match will rule.
-
- If you reference nodes in any zone, then the zone admin nodes will be
- automatically added into the final output list.
-
- If you ask for the admin nodes for a specific region, then the
- independant nodes will be referenced as well.
-
- For example, to add only region 17, and all admin nodes for Zone 1, I
- use (with a second ADD line to add all other nets that I ever do
- netmail with.)
-
- NOZONES
- ADD -1: -10 -11 -12 -13 -14 -15 -16 17 -18 -19
-
- POINTS filename
- This will include the specified file as the point-control file. This
- keyword is only active while generating a version 7 nodelist. See the
- section on pointnets for an example of this file.
-
- INCLUDE filename
- This will include the specified file into the QNODE.CFG parsing pass.
- I personally use this to include my dial and cost tables, which are
- used by every nodelist processor.
-
- EXPORT nodeid filename
- This will export, a raw portion of the nodelist into a specified file.
- Normally used to get a list of the nodes in your own net. See
- ADD/DELETE for nodeid values. This works for all nodes, whether they
- are in your nodelist or not.
- This can also be used to send an abbreviated nodelist to someone else.
- WARNING: This command is unavailable if you are using the binary
- nodelist format.
-
- IMPORT nodeid filename
- This will import a raw style portion of a nodelist into the generated
- nodelist once the value specified by nodeid has passed. (Therefore if
- you import with your own net, you add nodes to the end of your net.)
- The nodeid values are described in ADD/DELETE.
-
- For example, to add the 'fake-net' 31000 to the end of your zone, you
- would use the command: "IMPORT 1: POINT.LST". To add it to the end of
- your region, you would use the command: "IMPORT 17 POINT.LST".
-
- To add additional nodes to a network, you can use the import command to
- import after a network, with the import file not having any zone,
- region, or host commands in it.
-
- NOTE: Any networks created through import files should be explicitly
- included in the output file using the 'ADD' keyword. This is not
- always necessary, but there are occasions when it is.
-
- FORMAT nodeid filename
- This works just like the EXPORT command, except it makes a nice looking
- print-out, and it will only work with nodes which have been included in
- the output nodelist.
-
- *** BULK NODE MODIFICATIONS ***
-
- DEFAULT FEE DOMESTIC fee
- This sets the default fee for domestic calls (within your own country
- code) This will normally default to '65535', which basically means
- that the fee will equal the cost.
-
- DEFAULT FEE INTERNATIONAL fee
- This sets the default fee for international calls (outside your own
- country code) This will normally default to '65535', which basically
- means that the fee will equal the cost.
-
- DEFAULT COST DOMESTIC cost [fee]
- This sets the default cost for domestic calls (within your own country
- code) This will normally default to 0.
-
- DEFAULT COST INTERNATIONAL cost [fee]
- This sets the default cost for international calls (outside your own
- country code) This will normally default to 0.
-
- DEFAULT DIAL DOMESTIC [predial][/postdial]
- This sets the default dial substitution for domestic calls (within your
- own country code) This dial substitution may contain a '/' in it to
- separate the prefix addition and the suffix addition. (For example, an
- entry of '555-1212W/!' would place the entry '555-1212W' in front of
- the phone number, and would place an exclamation point at the end. In
- most countries, this entry should be left blank.
-
- DEFAULT DIAL INTERNATION [predial][/postdial]
- This sets the default dial substitution for international calls
- (outside your own country code) In Canada and the US, this is '011-'
- Other countries international direct dial codes will vary. This
- follows the same rules as the default domestic dial string.
-
- TYPE COST modem-type newcost [newfee]
- This sets the default cost and/or fee for a modem of that particular
- modem-type. The modem-type is a number from 0-255. The fee is
- optional, and if not specified, will default to the same as the cost.
- This command will be applied after all other cost processing, and will
- only be applied if it is not a free call. If a specific 'CALLCOST'
- statement is given, then the TYPE COST table will not be checked.
-
- TYPE FEE modem-type newfee
- This sets the default fee for a modem of that particular modem-type.
- This command will not be used if there is not an equivalent 'TYPE COST'
- statement for the same modem-type. You may wish to use the additional
- parameter on the 'TYPE COST' line instead. (This was only included to
- match the 'DEFAULT FEE' line.)
-
- SCRIPT minbaud maxbaud cost fromdial todial
- This is one form of the script command, which I invented to handle my
- 2400 baud/MNP 5 modem. In this case, every node which has a baud rate
- between (or equal to) the minbaud and the maxbaud, with a cost equal to
- the cost, will have the listed dial substitution done to it. (If the
- start of the phone number doesn't match the fromdial, that node is not
- changed.)
-
- On my system, when I used VERSION6, I used:
- SCRIPT 300 2400 0 1- "NOMNP1.SCR" ; Local Calls
- SCRIPT 300 2400 25 1- "NOMNP2.SCR" ; No Areacode calls
- SCRIPT 300 2400 50 1- "NOMNP3.SCR" ; Long Distance calls
-
- VERSION7 nodelist users would probably want to use the ModemType
- settings. (See MAXBAUD)
-
- *** DIAL/COST TABLES ***
- NOTE: If you define the 'DEFAULT COST' and 'DEFAULT DIAL' parameters,
- then these commands do not need to have any parameters after them. (In
- fact they don't need any parameters even if you don't specify the
- lines.) For those wondering, I split these off to support the 'DEFAULT
- FEE' parameter. The others were added for completeness, as well as
- readability.
-
- In the dial table, there are two parameters after the dial keyword. the
- first is the modifications to local calls (ones within your own country
- code), and the second is the modifications to the international direct
- dial phone numbers (ones with any other country code.) Each of these
- entries consists of what to put before the phone number, as well as
- what to put after the phone number. To seperate the two, use a slash
- (/). For no change to the phone number, use a slash by itself. You
- should use the keyword 'End' to terminate the dial and cost tables.
-
- The dial table will replace every phone number that starts with the
- first sequence with the second sequence. This is for local or regional
- calls where you aren't allowed to dial the entire phone number.
-
- NOTE: Both the dial table and cost table are on a 'first match' system.
- Therefore, you should put the entries in in the order of longest to
- shortest.
-
- An example follows:
-
- DIAL / 011-
- ; Adds 011- to international calls, no change to domestic calls
-
- ; The following set up local calls from Saskatoon, SK
- 1-306-242- 242-
- 1-306-244- 244-
- 1-306-373- 373-
- 1-306-374- 374-
- 1-306-382- 382-
- 1-306-384- 384-
- 1-306-652- 652-
- 1-306-654- 654-
- 1-306-664- 664-
- 1-306-665- 665-
- 1-306-931- 931-
- 1-306-933- 933-
- 1-306-934- 934-
- 1-306-955- 955-
- 1-306-966- 966-
- 1-306-978- 978-
- 1-306-329- 329-
- 1-306- 1- ;area code strip for Saskatchewan calls
- END
-
- The COST statement at the head of the table can take two arguments,
- which are the default costs in pennies to apply to domestic and
- international calls, respectively.
-
- Each entry in the cost table consists of a partial phone number
- followed by a cost in pennies for sending a message to any node whose
- phone number begins with that string. As with the dialing table, the
- first matching entry is the one that is used. The cost table is used
- before the dial table is used, so you should always use the fully
- expanded phone numbers, instead of the simplified phone numbers which
- the dial table would generate
-
- You may append an additional entry to the end of each line, being the
- fee charged to the user for sending messages to nodes within that phone
- prefix.
-
- An example follows:
-
- COST 50 250
- ; This gives a default cost of 50 cents to domestic calls, and
- ; $2.50 to international calls.
-
- ; The following numbers are free from Saskatoon, SK
- 1-306-242- 00
- 1-306-244- 00
- 1-306-373- 00
- 1-306-374- 00
- 1-306-382- 00
- 1-306-384- 00
- 1-306-652- 00
- 1-306-654- 00
- 1-306-664- 00
- 1-306-665- 00
- 1-306-931- 00
- 1-306-933- 00
- 1-306-934- 00
- 1-306-955- 00
- 1-306-966- 00
- 1-306-978- 00
- 1-306-329- 00
- 1-306-585- 25 22 ; One of Reginas prefixes (short distance)
- 1-306- 25 ; short distance calls, cheaper rates
- 1-800- 00
- 1-900- 50
- END
-
- As a memory saving gesture, The 'DIALCOST' table has also been added.
- It is a combination of the DIAL and COST tables. (However you may
- still use the DIAL and COST tables, and even use them in conjunction
- with the DIALCOST table. If you use duplicate tables, then the
- DIALCOST table will be applied first, then the DIAL or COST table. The
- DIAL or COST table will be checked, even if there was a matching entry
- in the DIALCOST table.
-
- The DIALCOST table has a header with four values, these values being:
- The default domestic cost for messages, the default international cost
- for messages, the default domestic dial substitution, and the default
- international dial substitution.
-
- Every entry in the DIALCOST table has 3 mandatory parameters, plus a
- fourth optional parameter. The parameters, in order are: The partial
- phone number for the dial substitution and cost to take effect on, the
- replacement dial string to be used, the cost of the message to be sent,
- and the fourth optional parameter is the fee charged to the user for a
- message to be sent to that node.
-
- An example follows:
-
- DIALCOST 50 250 / 011-
-
- ; The following set up local calls from Saskatoon, SK
- 1-306-242- 242- 00
- 1-306-244- 244- 00
- 1-306-373- 373- 00
- 1-306-374- 374- 00
- 1-306-382- 382- 00
- 1-306-384- 384- 00
- 1-306-652- 652- 00
- 1-306-654- 654- 00
- 1-306-664- 664- 00
- 1-306-665- 665- 00
- 1-306-931- 931- 00
- 1-306-933- 933- 00
- 1-306-934- 934- 00
- 1-306-955- 955- 00
- 1-306-966- 966- 00
- 1-306-978- 978- 00
- 1-306-329- 329- 00
- 1-306-585- 1-585- 25 22 ; Regina, known cost call.
- 1-306- 1- 25
- 1-800- 1-800- 00
- 1-900- 1-900- 50
- END
-
- *** INDIVIDUAL NODE MODIFICATIONS ***
-
- BAUD [zone:][net/]node baudrate[|modemtype]
- Sets the specified nodes baudrate to whatever you specify. The modem
- type flag can be set at the same time, by separating it from the
- baudrate with a pipe symbol.
-
- BAUD 1:140/26 9600|0
-
- FLAGS [zone:][net/]node flaglist
- Adds the specified flags to the node. (Normally 'CM')
-
- FLAGS 140/26 CM
-
- PHONE [zone:][net/]node phonenumber
- Sets the specified nodes phone number (Unless the node number is
- unlisted, you may want to see if you can use the SCRIPT command
- instead, which doesn't have to be changed if the person ever changes
- their phone number.)
-
- PHONE 1:140/26 1-306-384-0836
-
- CALLCOST [zone:][net/]node cost [fee]
- Sets the charge to the user for a message to be sent to the listed
- node. WARNING: Using this on nodes may cause the nodes to be
- unacceptable in the bulk SCRIPT statements. If the node has more than
- one node number, then you should probably use a specific COST statement.
-
- The first item 'cost' is used for nodelist processing, the second
- entry, or 'fee' is charged to the user for a message to be sent to that
- node. If you do not list the fee, then it will default to the same
- value as the cost.
-
- CALLCOST 26 1
-
- PASSWORD [zone:][net/]node password
- Sets the specified nodes password. The password can be absolutely
- anything. Leading and trailing spaces and tabs will be removed, but
- everything from that point on is part of the password. Therefore, do
- NOT place a comment on this line.
-
- PASSWORD 1:140/26 PASSWORD
-
- SCRIPT [zone:]net/node fromdial todial
- This is the second form of the script command. Please note that the
- net number IS required, even if it's your own net. (I use the '/' to
- determine the difference between the two script lines.)
-
- SCRIPT 140/88 1- "VORTEX.SCR" ; Needs a special script.
-
- Part 5 - Common Questions
-
- Well okay, I made some of 'em up, but you get the idea.
-
- Q: I have to type an awful lot of the same zone number in a multiple
- nodelist situation. How can I reduce all these zone numbers?
- A: Easy. Just put a bunch of ADDR lines all through the configuration
- file. The first number specified on an ADDR line will set the default
- zone and net for you. When doing this however, it is important to make
- sure that you set the ADDR line correctly at the end of the file.
-
- Q: In V7 mode, can I still generate the FIDOUSER.LST file?
- A: You bet. You must specify the VERSION7 and USERLIST keywords in
- your config file, but you can't specify the INDEX keyword. You must
- use QIDX to build the indexes. If you have lots of EMS, look at USES
- EMS.
-
- Q: In V7 mode, how can I configure my 2400 baud MNP modem to work with the
- modem type byte?
- A: A good MAXBAUD line that you could use would be:
- MAXBAUD 2400 MNP 9600|1 HST 9600|1 V32 9600|1 V32B 9600|1
- Where modem type 0 is a standard non-MNP dial command, and modem type
- 1 is an MNP dial command. (Note that the baud rate is locked at 9600
- for MNP connects.)
-
- Q: In V7 mode, how can I configure my HST-DS to work with older HST's?
- A: A good MAXBAUD line that you could use would be:
- MAXBAUD 9600 MNP 9600|1 HST 9600|1 V32 9600|1 V32B 9600|2
- Where modem type 0 is a no-correction dial command, modem type 1 is
- a simple MNP or older HST type dial command (you may wish to split those
- two into separate dial strings as well.), and modem type 2 is the
- super-enhanced dial command for other V32bis modems.
-
- Q: When generating a FIDOUSER.LST file, it runs out of memory, and says
- extending on disk. It then takes a lot longer to compile. Is there
- any way to speed it up?
- A: Sorta. You can either reduce the memory overhead of the nodelist buffers
- (using the BUFFERS keyword.), or you can use a smaller section of the
- nodelist, or both.
-
- Q: In V7 mode, when generating the indexes, after a certain point, the drive
- light starts to flash a lot more rapidly than previously, what's going on
- and can I speed it up?
- A: The V7 index files have just hit the memory limit, and they have to be
- swapped to disk now. You can reduce the memory overhead of the nodelist
- buffers (using the BUFFERS keyword.), you can use a smaller section of the
- nodelist, or you can use the QIDX program to build the indexes instead.
- (QIDX can still swap to disk, but it will have more memory than QNODE.)
-
- Q: How can I send somebody part of the nodelist, instead of the whole thing?
- A: You can use some constructive QNode and batch file techniques to export
- the proper things. I'd suggest making a sub-directory to contain the
- temporary files, deleting all files in the sub-directory before compiling
- the nodelist with QNode (use the batch command
- "FOR %F IN (DIR\*.*) DO DEL %F", which doesn't ask for Y/N)
- And then run QNode with the following type of export directives:
- EXPORT -1: ADMIN.1
- EXPORT 1:-17 ADMIN.17
- EXPORT 1:140 NET.140
- NOTE: You may wish to export the entire region, or even the entire zone
- instead. Just remember that you REQUIRE zone and region administration
- nodes in any abbreviated nodelist.
- And then execute this command after QNode: "COPY/A DIR\*.* SMALLNDE.001"
- Your batch file would look like this then:
- ---cut here---
- FOR %%F IN (TEMP\*.*) DO DEL %%F
- QNODE
- COPY/A TEMP\*.* SMALLNDE.001
- ---cut here---
-
- Q: How can I make QNode put zone numbers for all zones in the FIDOUSER.LST
- file?
- A: Easy. Just change your final 'ADDR' line to contain a dummy address as
- the first address, followed by all of your regular addresses. Any
- nodes with a zone number other the the zone of the first address will
- have their zone number placed in the FIDOUSER.LST file.
-