NETCFG.EXE version 1.0a.

This is still more or less a Beta version of this product.

NETCFG modifies NET.CFG from the DOS Command Line. Changes take effect the
next time NET.CFG is read.

SYNTAX:

        NETCFG [drive:path\NET.CFG] [SECTION] [KEYWORD] [VALUE]

SECTION = Section to be modified. Eg Link Support. You must specify MAIN
for the first unlabelled Section.
KEYWORD = Value to change. Eg. Checksum
VALUE = new value or DELETE (unconditional) or ADD (unconditional)

Strings with embedded spaces MUST use single quotes. Double quotes can be
used but ARE INCLUDED in the string because they are valid characters in
NET.CFG files.

EXAMPLES:

1.      NETCFG C:\NET\NET.CFG 'NETWARE DOS REQUESTER' CHECKSUM 0
2.      NETCFG C:\NET\NET.CFG MAIN 'IPX RETRY COUNT' 35
3.      NETCFG C:\NET\NET.CFG MAIN 'FILE HANDLES' DELETE
4.      NETCFG C:\NET\NET.CFG 'LINK DRIVER 3C503' '' DELETE
5.      NETCFG NET.CFG 'NETWARE DOS REQUESTER' 'NAME CONTEXT' "OU=XYZ.O=ABC"
6.      NETCFG NET.CFG 'LINK DRIVER NI5210' 'FRAME ETHERNET_802.3' ADD

1. This is fairly straight forward. Note that 'NETWARE DOS REQUESTER' is in
single quotes.
2. This is an example of where Section MAIN is used.
3. This example will delete the 'FILE HANDLES' item from the MAIN Section.
4. This will delete the entire 'LINK DRIVER 3C503' Section - note that the
third parameter is a nul string.
5. An example of double quotes. The double quotes will be included with the
value in the 'NETWARE DOS REQUESTER' section.
6. This will add 'FRAME ETHERNET_802.3' to the Section whether or not there
is already a "FRAME" line in the Section. For example, you may be adding
another Frame Type for a specified NIC driver.

IF THE RUN FAILS:

You will get a screen full of messages showing the values in the variables.
If you think it *should* have worked, please capture a screen dump of these
variables. When it fails, NETCFG issues DOS ERRORLEVEL errors so you can use
it with batch files.

ERRORLEVEL      DESCRIPTION
0               It worked.
1               Update failed for unspecified reason. All Variables will
	 appear on-screen.
2               Unknown Section Name specified on Command Line.
3               Too many parameters on the Command Line.
4               Specified NET.CFG does not exist.

TESTING:

If you have an environment variable called NETCFG set to equal TEST, NETCFG
will run in "test" mode. The changes will be made but will be saved in a
file called NET.$$$ in the same directory as your NET.CFG. You will also
create a file in this directory called TRACE.TXT which contains program
variable values.

When you run in "production" mode, your "original" file is saved as NET.$$$.

LIMITATIONS AND PROBLEMS:

You may have tried out a prototype of this program - also called NETCFG.EXE
but over 50KB in size. It was written in QuickBasic and was unbelievably
clunky. It also had limitations as to the size and features of the NET.CFG
it could modify. This program is written in Turbo Pascal and has no such
limitations.

In this version, the following Section Names are supported. Note that MAIN is
not strictly a valid Section header but is used to identify the "unlabelled"
section at the start of the NET.CFG file - a carry-over from pre-VLM days.

MAIN
NETX
LINK SUPPORT
LINK DRIVER
PROTOCOL
NETWARE DOS REQUESTER
FRAME TYPE
DAEMON CONFIGURATION
NETWARE SPOOLER
NETWARE NETBIOS
MAIL SLOTS
NAMED PIPES
DESKTOP SNMP
NETWARE DOS TSA
TBMI2
TRANSPORT PROVIDER
NETBIOS

The Section Names can have extra data added at the end - eg PROTOCOL TCPIP.

I tried to get as complete a list as possible via NSEPRO and DYNATEXT but
Novell does not seem to be interested in publishing a definitive list in 
text form. If I have left any Sections out, please advise me via the 
MNUG BBS.

NOVELL'S RULES FOR NET.CFG:

The DYNATEXT states that you use the following conventions when creating
or modifying a  NET.CFG file:

(Note: Novell calls Sections 'Options' and Keywords 'Parameters'. What use
are standards if you can't break them?).

Type one option or parameter per line.

Options and parameters are not case-sensitive unless used in quotation marks.
Blank lines are ignored, but they can be helpful in separating the options
and parameters to make the NET.CFG file easier to read.

Enter options at the left margin of the file with no spaces before or after
them.

Each option can have several parameters.

Enter parameters, one per line, below the option that they apply to, and
indent each parameter line.

Use the Spacebar or Tab key to indent parameters. Parameters must be indented
at least one space.

Place a hard return at the end of every line in the file,  including the last
line.

If you don't put a return at the end of the last line, that line is ignored.

Precede comment lines with a semicolon.

Use a semicolon (;) in front of a line to disable the option and parameter or
write a comment.

DISCLAIMER:

How do I put this nicely? This program is free but I accept NO responsibility
if it ruins your NET.CFG or your life. You use it at your own risk. Send no
money but, by using this product, you hereby undertake to be courteous to
cyclists whilst out on the road driving your petrol-guzzler.

Peter Dwyer. February, 1995
