HP OpenVMS Systems

ask the wizard
Content starts here

Resolving System Symbols?

» close window

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
    $

answer written or last revised on ( 22-APR-1998 )

» close window