![]() |
![]() 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 $
|