User guide

36 CHAPTER 3. THE LIBRARY
rtn
. . . CIN:y, POS:y, NAT:y
The ro ot node is a vector accessible to all running programs to provide access to
all global information. It is avail abl e in all vers i ons of BCPL but many of its fields are
only used in Cintpos. The global variable rootnode holds a pointer to the root no de.
On some sy st e ms the address of the root node is also held in the manifest constant
rootnodeaddr. Manifest constants starting with rtn
give the positions of the fields
within the root node.
rtn
abortcode CIN:y, POS:y, NAT:n
This rootnode field holds the most recent return code from a command language
interpreter (CLI). It is used by commands such as dumpsys and dumpdebug when in-
specting Cintcode memory dumps.
rtn adjclock CIN:y, POS:y, NAT:n
This rootnode field hol ds a correction in minutes to be added to the time of day
supplied by the system. It is normally set to zero.
rtn
blklist CIN:y, POS:y, NAT:y
All blocks of memory whethe r fr e e or in used are chained together in increasing
address order. This rootnode field points to the first in the chain.
rtn
blib CIN:y, POS:y, NAT:n
Under Cintsys and Cintpos this rootnode field hol ds the appropriate versions of the
modules BLIB, SYSLIB and DLIB chained together.
rtn
boot CIN:y, POS:y, NAT:n
Under Cintsys and Cintpos this root node field holds the appropriate ver si on of the
BOOT module.
rtn
boottrace CIN:y, POS:y, NAT:n
Under Cintsys and Ci ntp os this rootnode field holds 0, 1, 2 or 3. The default value
is 0 but can be incremented using the -v option. Larger values of boottace generate
more tracing information.
rtn bptaddr, rtn bptinstr CIN:y, POS:y, NAT:n
These each hold vectors of 10 elements used by the standalone debugger to hold
breakpoint addresses and operation codes overwritten by BRK instructions. They are
in t he rootnode to make them accessible to the debug task in Cintpos and to the
dumpdebug command.
rtn
clkintson CIN:n, POS:y, NAT:n
Under Cintpos, this b oolean fie l d controls whether clock interrupts are enabled.
It is provided to make single step execution possible within the interactive debugger
without interference from clock i nterrupts. For more details see the chapter on the
debugger starting on page 139.