|
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.
Keyword | | Weight
| THIN | | 100
| EXTRALIGHT | ULTRALIGHT | 200
| LIGHT | | 300
| NORMAL | REGULAR | 400
| MEDIUM | | 500
| SEMIBOLD | DEMIBOLD | 600
| BOLD | | 700
| EXTRABOLD | ULTRABOLD | 800
| HEAVY | BLACK | 900
|
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
eloqcore
|
|