Configuration Files

What is a Configuration File?

The configuration file used with the Data Server is an ASCII text file (normally named config.bbx), that is used to set detailed system information. Although each PRO/5 client comes with a config.bbx file (which will be modified according to directions in the Windows NT, Novell, and UNIX sections), the Data Server does not. One must be created with a text editor that can read and write ASCII text.

Configuration File Components

Configuration file options are organized according to the following three categories:

Limit options define numeric limits, such as number of devices, disk files, I/O channels, etc. Data Server limits cannot exceed those imposed by the host system.

Function options define operations functions, such as file search paths, file caching, network access, etc.

Printer options define devices such as terminals and printers.

Each option must be contained on a single line and must conform to the standards defined in the following sections, although the order in which the lines are listed in the file is irrelevant. For example, a Configuration option can be defined before a limit option.

Limit Settings

The config.bbx file can include one or more of the limit options listed in the following table. Set system limits for the Data Server that closely match, but do not exceed those of the host system. Setting the limits too low prevents the host system from being used to its full advantage, while setting limits too high wastes system memory.

Option/Syntax

Description

Default

DEVS=int

Number of terminals and/or printers that can be accessed simultaneously by the Data Server.

4

FCBS=int

Number of disk files that can be simultaneously accessed by the Data Server. (This is not the total for the system, which may also impose limits for this parameter.)

10

STBLEN=int

Size, in bytes, of an internal list of ALIAS names and disk names, as well as the memory necessary for storing the config.bbx in memory. The install procedure sets a default size of 4096 bytes. Modifications to this setting must be made in the config.bbx file. The following equation can be used to estimate the required STBLEN size:

config.bbx_file_size + (15*number_of_open_files)

Therefore, if the config.bbx file is 5000 bytes and the program opens up 100 files simultaneously. The STBLEN should be 5000+(15*100), or 6500.mkcon

4096

TIMEOUT=int

Number of seconds that the Data Server will wait for a busy record or file before issuing an error. The range is 4 to 255 seconds.

10

CIBS=int

Number of I/O channels that can be accessed simultaneously by the Data Server. (This is not the total for the system.) PRO/5 associates an I/O channel with either a file or device. There is not necessarily a one-to-one relationship between CIBS and DEVS or between CIBS and FCBS. For example, 2 channels opened to 2 different devices will require 2 CIBS and 2 DEVS; but 2 channels opened to the same device will require 2 CIBS but only 1 DEV.

16

HANDLES=int

Maximum number of file handles to be used by each Data Server process. (This is not the total for the system.) Entering a large number causes the Data Server to retain a large number of open files (FCBCACHE enabled), or allow the user to open a large number of files (FCBCACHE not enabled).

OS Limit

Function Settings

The config.bbx file can include one or more of the function options listed in the following table.

Option/Syntax

Description

FCBCACHE

Directs the Data Server to maintain at the system level all files opened and closed by the user during the current session. Files maintained at the system level are kept open by the interpreter even after a CLOSE(), enabling them to be reopened very quickly.

FCBCACHE can cache program files (such as those referenced in a CALL) as well as data files. Files that were closed via the CLOSE() verb but are maintained at the system level via FCBCACHE are flushed from the cache when the following operations are performed:

BEGIN, END, STOP, PREFIX, CHDIR, RMDIR, and SETDRIVE

When a file is cached it cannot be LOCK()ed or opened in an ISZ mode, because this attempts to lock the file.

Using FCBCACHE can change the behavior of an OPEN() if the filename given is not a fully qualified path and a similarly named file exists in the cache. PRO/5's ability to resolve partially qualified filenames varies by operating system.

Note: Setting SETOPTS byte 7, bit $01$ on the WIN32 platform can improve Visual PRO/5's ability to detect duplicate references if the same file is opened via two different names.

SETOPTS hexstring 

Sets special-purpose features of the BBx file system. The SETOPTS configuration line consists of the keyword SETOPTS followed by a series of hexadecimal digits (Example: SETOPTS 0010). The individual bits represented by each hexadecimal digit are described below: Setting the Data Server SETOPTS network access bit is part of the installation and configuration process and is covered under Defining Network Access Settings for Windows NT, Defining Network Access Settings for Novell, and Defining Network Access Settings for UNIX.

 

Byte/Bit 

2 $01$

Description

Directs the BBx file system to attempt to force MS-DOS to update the length of an MKEYED file after any growth in the file. This will slow down MKEYED writes. (For MS-DOS only.)

 

3 $40$

Enables advisory locking. Read operations are permitted, even on locked data. Normally, locked files or records are not available for other processes.

 

3 $20$

Permits access to the key region of otherwise locked files or records.

 

3 $10$

Improved file system performance if the operating system supports only advisory locking.

 

4 $20$

Network access bit. Permits access to remote files via a PRO/5 Data Server.


For example, to enable advisory locking and permit access to the key region of otherwise locked data, but leave all of the other options listed above off, the line would be:

SETOPTS 00 00 60

PREFIX path

Defines the file search path and search order. Similar to the PATH value for UNIX/XENIX. Each defined directory must be contained within forward slash (/) characters. Config.bbx file PREFIX statements, unlike those in the BBx language, are not contained within quotation marks.

Setting the Data Server PREFIX is part of the installation and configuration process and is covered under Defining File Search Paths for Windows NT, Defining File Search Paths for Novell, and Defining File Search Paths for UNIX.

All controls that use pictures (image, imagelist, and tool buttons) use the standard file system OPEN, as does the printer device 'BITMAP mnemonic. Cursors and icons use Windows APIs.

SET name="value"

Sets the STBL() value to name,"value" as if the PRO/5 code, STBL("NAME","VALUE"), were executed. For example:

SET STD=/basis/pro5/std/

Printer Settings

The config.bbx file can also be used to define printers via ALIAS statements , as discussed in the PRO/5 Installation and Configuration Guide, according to the following syntax:

ALIAS bbxname realname "comments" modes

Example

The following config.bbx file sets the Data Server to:

  • Permit simultaneous access of up to 20 I/O channels, 5 devices, and 20 disk files.

  • Set /box/util/ and /usr/SOURCE/MS/ as the first and second directories to be searched after the current directory.

  • Apply the LP alias to the printer named /dev/lp1. Also, it sets the printer to support ASCII character returns, specifies 80 printable columns, and supports ASCII backspace.

CIBS=20
DEVS=5
FCBS=20
PREFIX /bbx/util/ /usr/SOURCE/MS/
ALIAS LP /dev/lp1 "Letter Quality" cr,spcols=80,bs