Compile the PMDF configuration, alias, mapping, security, system
wide filter, circuit check, and option files into an OpenVMS
shareable image.
Syntax
PMDF CNBUILD
Command Qualifiers Defaults
/IMAGE_FILE=file-spec /IMAGE_FILE=PMDF_CONFIG_DATA
/MAXIMUM /NOMAXIMUM
/OPTION_FILE=file-spec /OPTION_FILE=PMDF_OPTION_FILE
/SIZES /NOSIZES
/STATISTICS /NOSTATISTICS
1 – Restrictions
None.
2 – Parameters
None.
3 – Description
The CNBUILD utility compiles the textual configuration, option,
mapping, security, conversion, system wide filter, and alias
files into a single OpenVMS shareable image. The resulting image,
PMDF_CONFIG_DATA (usually PMDF_EXE:CONFIG_DATA.EXE), can then be
installed with the OpenVMS INSTALL utility.
Whenever a component of PMDF (e.g., a channel program) must read
any possibly compiled configuration component, it first checks
to see if the PMDF_CONFIG_DATA image exists. If it does, the
image is merged into the running program using the OpenVMS RTL
routine LIB$FIND_IMAGE_SYMBOL. There are five exceptions to this
rule. The first is CNBUILD itself, which for obvious reasons
always reads the text files and never tries to load the image
form of the configuration data. The remaining four exceptions are
TEST/REWRITE, TEST/MAPPING, TEST/FAX_ROUTING, and TEST/X400 which
can all be instructed with the /NOIMAGE_FILE qualifier to ignore
any compiled image information. This facility in TEST/REWRITE is
useful for testing changes prior to compiling them.
The reason for compiling configuration information is simple:
performance. The only penalty paid for compilation is the need
to rebuild and reinstall the file any time the configuration or
alias files are edited. Also, be sure to restart any channels or
components which load the configuration data only once when they
start up (e.g., the PMDF multithreaded TCP SMTP server, the POP
or IMAP servers, FAX_RECEIVE, BITNET channels, or, if using PMDF-
MR for MR TS replacement, the All-in-1 Sender, All-in-1 Fetcher,
and MailWorks server).
Once you begin to use a compiled configuration, it will be
necessary to recompile the configuration every time changes are
made to any of the following files: the PMDF configuration file,
PMDF.CNF (or any files referenced by it); the system alias file,
ALIASES.; the system mapping file, MAPPINGS.; the PMDF option
file, OPTION.DAT; the conversions file, CONVERSIONS., the system
wide filter file, PMDF.FILTER, the circuit check configuration
file, CIRCUITCHECK.CNF, or the security configuration file,
SECURITY.CNF. Until such time that the configuration is
recompiled and reinstalled, changes to any of these files will
not be visible to the running PMDF system.
See the PMDF System Manager's Guide for further details on the
use of compiled configurations.
4 – Command Qualifiers
4.1 /IMAGE_FILE
/IMAGE_FILE=file-spec
/NOIMAGE_FILE
By default, CNBUILD creates as output the file PMDF_CONFIG_DATA.
With the /IMAGE_FILE qualifier, an alternate file name may be
specified.
When the /NOIMAGE_FILE qualifier is specified, CNBUILD does not
produce an output file. This qualifier is used in conjunction
with the /OPTION_FILE qualifier to produce as output an
option file which specifies table sizes adequate to hold the
configuration required by the processed input files.
4.2 /MAXIMUM
/MAXIMUM
/NOMAXIMUM (default)
The file PMDF_TABLE:MAXIMUM.DAT is read in addition to PMDF_
OPTION_FILE when /MAXIMUM is specified. This file specifies near
maximum table sizes but does not change any other option file
parameter settings. Only use this qualifier if the current table
sizes are inadequate. The /NOIMAGE and /OPTION_FILE qualifiers
should always be used in conjunction with this qualifier-it makes
no sense to output the enormous configuration that is produced by
/MAXIMUM, but it does make sense to use /MAXIMUM to get past
size restrictions in order to build a properly sized option
file so that a properly sized configuration can be built with
a subsequent CNBUILD invocation.
4.3 /OPTION_FILE
/OPTION_FILE[=file-spec]
/NOOPTION_FILE (default)
CNBUILD can optionally produce an option file that contains
correct table sizes to hold the configuration that was just
compiled (plus a little room for growth). The /OPTION_FILE
qualifier causes this file to be output. By default, this file
is the file pointed to by the PMDF_OPTION_FILE logical, normally
PMDF_TABLE:OPTION.DAT. The value on the /OPTION_FILE qualifier
may be used to specify an alternate file name. If the /NOOPTION_
FILE qualifier is given, then no option file will be output.
CNBUILD always reads any option file that is already present
via the PMDF_OPTION_FILE logical name; use of this qualifier
will not alter this behavior. However, use of the /MAXIMUM
qualifier causes CNBUILD to read PMDF options from the PMDF_
TABLE:MAXIMUM.DAT in addition to reading PMDF_OPTION_FILE. This
file specifies near maximum table sizes. Only use this qualifier
if the current table sizes are inadequate, and only use it to
create a new option file. The /NOIMAGE qualifier should always be
specified when /MAXIMUM is specified since a maximum-size image
would be truly enormous and extremely wasteful.
4.4 /SIZES
/SIZES
/NOSIZES (default)
The /SIZES qualifier instructs PMDF CNBUILD to output information
on the sizes of the elements of the uncompiled configuration.
4.5 /STATISTICS
/STATISTICS
/NOSTATISTICS (default)
The /STATISTICS qualifier instructs CNBUILD to output information
on how much of the various tables in the compiled configuration
were actually used to store data. These numbers give a rough
measurement of the efficiency of the compilation, and may
indicate whether or not an additional rebuild with the /OPTION_
FILE qualifier is needed.
5 – Examples
1.$ PMDF CNBUILD
$ INSTALL REPLACE PMDF_CONFIG_DATA
Above are the standard commands used to regenerate and
reinstall a compiled configuration. After compiling the
configuration, install it with the DCL INSTALL command and
then restart any programs which may need to reload the new
configuration. (For instance, it is necessary to restart the
PMDF multithreaded TCP SMTP server with the "PMDF RESTART SMTP"
command after recompiling the configuration.)
2.$ PMDF CNBUILD/NOIMAGE_FILE/OPTION_FILE/MAXIMUM
$ PMDF CNBUILD
$ INSTALL REPLACE PMDF_CONFIG_DATA
Use the sequence of three commands shown above when you
encounter the infamous "No room in table" error message.