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.