GDSX Manual

Design and Development
Extended General Device Support (GDSX) Manual–134303
2-18
Space Usages and Limitations
DCCBDECS or USKELDEC, an installed subvolume file that contains these two
structures. However, you may want to add some DEFINEs for the structures or modify
the standard template for a device control block. (The DCB can be modified to add
scratchpad variables or user-defined attributes that are specific to a class of devices.) To
do this, you modify the USKELDEC file as desired and source in its templates section at
compile time.
If you are using either the USKELEX example program or the USKELEXC example
program for your user code, you source in the templates section of the ULHDECSE file
in the installed subvolume, which contains the standard LCB template and a modified
DCB template.
If you are using the USAMPLE example program for your user code, you source in the
templates section of the ULHDECS file in the installed subvolume, which contains the
standard LCB template and a DCB template modified for USAMPLE.
User code must source in the config^templates, config^data, common^data, and errors
sections from DCCBDECS. The config^templates section allows programmatic access
to the configuration parameters used by TSCODE. The config^data section contains an
allocation of the configuration template defined in the config^templates section. (For a
description of the variables defined see "GDSX Configuration Parameters" on page
2-42.) Common^data contains some miscellaneous globals (including DCBTBL and
LINETBL) and DEFINEs. The errors section contains event mask definitions, event
result literals, and Guardian file error code literals.
From EXTDECS0, user code sources in the Guardian procedures that you intend to use.
PEXTGDS contains EXTERNAL declarations for all TSCODE procedures callable
from USCODE. All the pseudo procedures and the utility procedures are declared in
PEXTGDS.
Naming Conventions
When writing code, you are free to choose identifiers conforming to normal TAL rules.
If you use a local variable whose identifier starts with a circumflex character (^), be sure
that TSCODE does not use the identifier for a global variable.
Space Usages and Limitations
Because USCODE is bound with TSCODE to become a GDSX runnable unit, there are
limitations in code space and data space in user code. However, as multiple code spaces
are available, code space is not likely to be a problem.
Regarding the data space, GDSX uses a user data segment with a size of 64 pages.
TSCODE uses two extended segments—one for trace data (with trace^seg^id equal to
1025) and one for various control and data structures. The latter segment ID
(ext^data^pool^seg^id) is 1024 by default, but can be specified by you with the
SEGMENTID configuration parameter. For further information, see the description of
the parameter later in this section.
Caution. Although the DCB template is user-modifiable, the LCB template is not.