.
contact contact

B.08.30 / Reference Docs / Utilities / eloq.config

eloq.config configuration file

 
.
  The eloq.config configuration file defines eloqcore configuration settings in a local, group and global configuration file in this order:

  • The EQ_ELOQRC or ELOQRC environment variables may be used to specify a configuration file. By default the .eloqrc (HP-UX and Linux) or eloq.rc (Windows) configuration file is read from the user home directory.

  • On HP-UX and Linux, a group configuration file named eloq.group is read if present in the Eloquence config directory. Where group is the name of the operating system group of the user account.

  • The global eloq.config file is read in the Eloquence configuration directory.

The configuration names are not case sensitive. String values can be enclosed in double quotes to protect leading or trailing spaces. An unquoted hash character (#) starts a comment.

The following configuration items are recognized:

Also find a copy of the eloq.config template file below.

VOLUME
The VOLUME keyword is used to define a volume label. Volume labels are used with the Eloquence language to map file system locations.

VOLUME label [device] path
where

  • label is the volume label (up to 8 characters); must be unique per config file.

  • device is the optional "Device specifier" (eg. ":F2,6,0"); ignored when present, no longer used.

  • path is the path for the volume. This typically points to a directory.

When the Eloquence language opens a file relative to a volume label the specified path and the file name are concatenated, separated by a slash.

For example:

VOLUME SYSTEM /opt/eloquence/8.2/share/prog
This defines the volume label "SYSTEM". A program file QUERY,SYSTEM is mapped to /opt/eloquence/8.2/share/prog/QUERY.PROG.

VOLUME LOCAL .
This example maps the volume label "LOCAL" to the current directory. A file TEST,LOCAL is mapped to ./TEST.

VOLUME DB localhost:eloqdb
This defines the volume "DB" as localhost:eloqdb. This is may be used with DBOPEN to specify a database location. A database TOYDB,DB would then be opened as localhost:eloqdb/TOYDB.

PRINTER
The PRINTER keyword is used to define a printer device for use by the Eloquence language.

PRINTER no [model] type spec
where

  • no is the printer select code (numeric, -2 .. 7, 11 .. 999). Select codes 8-10 are reserved and may not be used.

  • model is optional and must be PCL or OTHER when present. This field is ignored and has no function.

  • type specifies how the printer is accessed. Valid choices are:

    • PIPE - The spec argument specifies a command that the printer output is passed to.

    • FILE - The spec argument specifies a file name that the printer output is written to. This is typically a device file.

    • SYSTEM - The spec argument specifies the name of a Windows printer device.

For example:

PRINTER 0 PIPE "lp -s 2>/dev/null"
PRINTER 1 PIPE "lp -s -oc 2>/dev/null"
PRINTER 90 PIPE "eqpcl -p -o $HOME/output.pdf"

PORT
The PORT keyword is used to define serial ports (HP-UX and Linux).

PORT no spec

where

  • no is the port select code (numeric, -2 .. 999). Select codes 8-10 are reserved and may not be used. Should not conflict with PRINTER definition.

  • spec is the tty devicefile.

For example:

PORT 11 /dev/tty0p5

DATE
TIME
Specifies the default date/time format in the Eloquence language.

DATE spec
TIME spec
where spec defines the date/time format in strftime conventions. Please refer to date(1) or strftime(3) for more information.

For backward compatibility the DATE formats "DD.MM.YY" and "MM/DD/YY" are also accepted.

The default date/time formats are:

DATE "%m/%d/%y"
TIME "%H:%M:%S"

MSI
The MSI keyword may be used to define the default volume label.

MSI label
where label specifies the default volume label. The volume label must be defined. If MSI is not specified, the default is the first defined volume.

SORTORDER
SORTORDER may be used to specify the sort order (collating sequence) that is used for string comparisons performed by the SORT BY statement and the LEX function.

SORTORDER spec
where spec specifies an Eloquence specific collating sequence, consisting of a language name and the fold/nofold modifier separated by an @ character.

A "fold" sort order interleaves upper- and lowercase characters, such as AaBbCc...Zz, where a "nofold" sort order separates upper- and lowercase characters, such as "ABC...Z abc...z".

Please refer to the /opt/eloquence/8.2/lib/nls/collate directory for a list of available collating sequences.

If SORTORDER is not specified an OS specific collating sequence is used as defined by the LANG, LC_COLLATE or ELOQLANG environment variables (please refer to locale(1) for more information). Please note that the locale must support the hp-roman8 character set.

For example:

SORTORDER german@nofold

MEMSIZE
MEMSIZE may be used to configure the memory available to program variables.

MEMSIZE size [k|m]
where size is a numeric value in the range of 1 to 1000. A unit may be specified (k = kilo bytes, m = mega bytes). If the unit is not present, then the value is assumed to be in kilo bytes. By default a memory size of 1 MB is used.

The example below specifies a memory size of 10 MB.

MEMSIZE 10m

PATH
A PATH specifies a list of file system locations (directories). If a path is defined it is used instead of the default volume label (MSI) to locate existing files.

PATH PathList
where PathList specifies a list of path elements (absolute or relative directory names, volume labels, relative directory names with volume labels or dot for current directory), separated by colon characters (HP-UX or Linux) or semicolon characters (Windows).

See also: PATH documentation in the Eloquence B.08.20 release notes.

CLSPATH
A class path specifies a list of file system locations (directories). If a class path is defined it is used instead of the default volume label (MSI) to locate existing files for LOAD CLASS statements and autoloading of class methods.

CLSPATH PathList
where PathList specifies a list of path elements (absolute or relative directory names, volume labels, relative directory names with volume labels or dot for current directory), separated by colon characters (HP-UX or Linux) or semicolon characters (Windows).

See also: CLSPATH documentation in the Eloquence B.08.20 release notes.

SYSID
May be used to define the result of the SYSID$ function. By default the eloqcore SYSID$ function returns the system's hostname (truncated after 20 characters).

SYSID id
where id specifies the desired SYSID$ function result. The configuration file entry is currently limited to 20 characters.

OPTION
The OPTION keyword may be used to define eloqcore runtime options.

OPTION option value
where option specifies the option and value specifies the option setting. The following options are supported:

OPTION NLN
May be used to enable the Eloquence NLN mode. The NLN mode is disabled by default to ensure full backwards compatibility.
Default: OPTION NLN 0

See also: NLN documentation in the Eloquence B.08.20 release notes.

OPTION AUTOLOAD
May be used to disable Eloquence automatic code management.
Default: OPTION AUTOLOAD 1

See also: AUTOLOAD documentation in the Eloquence B.08.20 release notes.

OPTION CLSLOAD
May be used to disable Eloquence automatic class loading.
Default: OPTION CLSLOAD 1

See also: CLSLOAD documentation in the Eloquence B.08.20 release notes.

OPTION DEFSTRSZ
OPTION AUTOSTRSZ
The DEFSTRSZ and AUTOSTRSZ options may be used to configure the default dimension of string variables.

  • AUTOSTRSZ specifies the dimension of string variables that are implicitly allocated upon use (auto variables). For example, A$="TEST" or A$(1)="HELLO".

  • DEFSTRSZ specifies the dimension of string variables that were declared without specifying the dimension. For example, DIM A$(1:10) or COM A$.

DEFSTRSZ defaults to a 18 characters. AUTOSTRSZ defaults to the DEFSTRSZ value.

For example, the configuration below specifies that undeclared string variables are allocated with a size of 100 characters:

option AUTOSTRSZ 100

Consequently, the following statement works without causing a string overflow error:

A$=RPT$("X",100)

Please note:

  • Changing the default string variable dimension may have an impact on existing applications. More memory is used for string variables. Also, the application may fail if it relies on the default string variable dimension. Specifically, variables used in a PACK USING statement will change the layout of the resulting packed buffer. It is strongly recommended to explicitly declare all variables used in a PACK USING statement.
  • It is recommended to not specify the DEFSTRSZ option. This will limit any potential impact to auto variables which are expected to be less critical. AUTOSTRSZ should only be changed after careful consideration.

OPTION POPUPBOX
The POPUPBOX option may be used to allow function keys to interrupt a POPUP BOX statement. When enabled, a defined FUNCTION KEY or HALT may interrupt a POPUP BOX statement and returns -1 as the selected choice.

The option value is formed by adding the desired function:

  • +1 = sfk
  • +2 = halt
  • +4 = ESC key

For example:

option popupbox 7
Please note that this option has no effect when using a DLG driver.

CRT
The CRT keyword configures terminal properties such as the linedraw character mapping and, on Windows, the console font and colors.

CRT property value
where property specifies the terminal property and value specifies the property setting. The following properties may be configured:

CRT LINEDRAW
The LINEDRAW property configures how Eloquence linedraw character codes are mapped to Unicode. This setting depends on whether the terminal font provides the full Unicode box drawing glyph set or the WGL4 (Windows Glyph List 4.0) subset.

  • 1 - Terminal font supports full Unicode box drawing glyph set.
  • 2 - Terminal font supports Unicode WGL4 box drawing glyph subset.

The default is 2 on Windows and 1 otherwise. Windows Unicode fonts typically support the WGL4 subset.

The EQ_LINEDRAW environment variable may be used to override this setting.

Windows: CRT FONT
On Windows, Eloquence now uses a TrueType console font, instead of the previously used raster font which typically does not support Unicode character mapping.

The Lucida Console font is used by default. The font size and weight are derived as closely as possible from the Command Prompt window properties.

The FONT property may be used to configure a different font as well as its size and weight.

CRT FONT name [, [+]size [, weight ]]
size may be optionally specified to define the character height in logical units. If a + plus sign is prepended, this value is added to the font size derived from the Command Prompt window properties.

If size is specified, weight may be specified in addition, using one of the keywords below. Please note that Windows might choose a different font size if the specified size/weight combination is not available.
KeywordWeight
THIN100
EXTRALIGHTULTRALIGHT200
LIGHT300
NORMALREGULAR400
MEDIUM500
SEMIBOLDDEMIBOLD600
BOLD700
EXTRABOLDULTRABOLD800
HEAVYBLACK900

For example, to enlarge the default font by one logical unit:

crt font "Lucida Console",+1

Windows: CRT BACKGROUND|FOREGROUND|UNDERLINE|BLINK
On Windows, the underline and blink display attributes are mapped to colors. These colors, and the terminal background and foreground colors, may be configured using the BACKGROUND, FOREGROUND, UNDERLINE, BLINK properties.

The default colors are:

  • BACKGROUND: white
  • FOREGROUND: black
  • UNDERLINE: blue
  • BLINK: red

The colors below may be specified.
BLACK
BLUE
GREEN
CYAN(BLUE+GREEN)
RED
MAGENTA(BLUE+RED)
YELLOW(GREEN+RED)
WHITE(BLUE+GREEN+RED)

For example:

crt background black
crt foreground green
crt underline cyan
crt blink magenta

eloq.config template file

A default configuration file eloq.config is installed and may be customized.
A template eloq.config file is installed as newconfig/config/eloq.config.

# @(#) eloq.config - B.08.30 ($Revision: 28.3 $)
# Eloquence configuration file
#
# This file contains global available configuration
# this should be installed as /etc/opt/eloquence/8.3/eloq.config
#
# PLEASE NOTE:
# You MUST define at least one volume (typically SYSTEM, see below)
# or eloqcore will fail on startup.
#
# Globally defined volumes
#
# Format: VOLUME label [device] path
#
#      label   - Volume label (up to 8 characters)
#                must be unique per file
#      device  - Device specifier eg. ":F2,6,0"
#                ignored when present, no longer used
#      path    - path to map volume on
#
# Globally defined printers
#
# Format: PRINTER no [model] type spec
#
#      no     - printer select code (-2 .. 7, 11 .. 99)
#      model  - PCL or OTHER
#               ignored when present, not used
#      type   - printer type PIPE, FILE or SYSTEM
#      spec   - path/command to process on printer selection
#
# Globally defined ports
#
# Format: PORT no spec
#
#       no    - port select code (11 .. 20)
#               may not conflict with PRINTER
#       spec  - path of tty devicefile
#
# Default date/time format
#
# Format: DATE spec
#         TIME spec
#
#       spec    - date/time specification. please refer to date(1) or
#                 strftime(3) for more information.
#                 For backward compatibility the former specifications
#                 "DD.MM.YY" and "MM/DD/YY" are silently converted.
#
#                 Default: DATE "%m/%d/%y"
#                          TIME "%H:%M:%S"
#
# Global MSI value
#
# Format: MSI label
#
#       label   - Volume label. Default is the first defined volume.
#
# Global sort order (collating sequence)
#
# Format: SORTORDER spec
#
#       SORTORDER may be used to specify the sort order that is used
#       for string comparisons performed by the SORT BY statement and
#       the LEX function.
#
#       If SORTORDER is not defined an OS specific collating sequence
#       is used as defined by the LANG, LC_COLLATE or ELOQLANG
#       environment variables (please refer to locale(1) for more
#       information). Please note that the locale should support the
#       hp-roman8 character set.
#
#       If SORTORDER is present it specifies an Eloquence specific
#       collating sequence.
#
#       spec    - The collating sequence is defined as a language
#                 specifier and either a "fold" or "nofold" modifier
#                 separated by a @ character, such as "french@nofold".
#
#                 A "fold" sort order interleaves upper- and lowercase
#                 characters, such as AaBbCc...Zz, where a "nofold"
#                 sort order separates upper- and lowercase characters,
#                 such as "ABC...Z abc...z".
#
#                 Please refer to the /opt/eloquence/8.3/lib/nls/collate
#                 directory for a list of available collating sequences.
#
# Global variable memory size
#
# Format: MEMSIZE size [k|m]
#
#       MEMSIZE may be used to specify the memory available to
#       program variables.
#
#       Size is a numeric value in the range of 1 to 1000. Optionally
#       a unit may be specified (k = kilo bytes, m = mega bytes).
#       If the unit is not present, then the value is assumed to be in
#       kilo bytes. By default a memory size of 1 MB is used.
#
# Options
#
# OPTION NLN 0
# OPTION AUTOLOAD 1
# OPTION CLSLOAD 1
#
# Path
#
# PATH PathList
# CLSPATH PathList
#

# --- sample volumes

VOLUME SYSTEM /opt/eloquence/8.3/share/prog
#VOLUME EXAMPLE /opt/eloquence/8.3/share/example

# --- sample printers

PRINTER  0  PIPE "lp -s 2>/dev/null"
#PRINTER 1  PIPE "lp -s -oc 2>/dev/null"
#PRINTER 2  FILE /dev/lp

# --- sample PORT

#PORT 11 /dev/tty0p5

See also

eloqcore


 
 
 
  Privacy | Webmaster | Terms of use | Impressum Revision: 2018-11-29  
  Copyright © 1995-2021 Marxmeier Software AG