HP OpenVMS Systemsask the wizard |
The Question is: In Goldenberg and Kenah's *VAX/VMS Internal's and Data Structures*, there are many references to symbols that begin "CTL$". Most of these appear to be globally available locations in the P1 section of virtual memory. But how can I reference these in either C (or any higher-level language for that matter) or VAX/Macro? I can't figure it out and I can't find any documentation on this. It would be great to know where Digital actually documents this information as well as how to do what I want to do. Thank you! Yours, Russell Dale, Software Engineer Information Builders, Inc. The Answer is :
CTL$ symbols are accessable via images that are linked against the base
image on OpenVMS Alpha (via LINK/SYSEXE), and against the system symbol
table on OpenVMS VAX (module SYS.STB/SELECTIVE).
For information on linking against the base image and the OpenVMS system
symbol tables, see the OpenVMS device driver manuals.
Various of these data structures are protected and require accessors
to be in inner-mode -- that is, the code needs to be operating in
supervisor, or more commonly in executive or kernel mode in order to
access these data cells.
Much of what is included in the Internals and Data Structures Manuals
is not considered to be official documentation. That is, OpenVMS
Engineering reserves the right to change the interfaces, routines,
and data structures that are described in these manuals.
As an example of an OpenVMS VAX module (written in DEC C) that includes
some symbols, such as CTL$* references, that are resolved by SYS.STB:
$
$ CC module
$ Link module,SYS$SYSTEM:SYS.STB/SELECT
$
OpenVMS Alpha:
$
$ CC module
$ Link module/SYSEXE
$
|