HP OpenVMS Systems

ask the wizard
Content starts here

C references to LIB symbols?

» close window

The Question is:

I am writing a C program to manipulate files. I found the following 3 modules
 missing from the C library, and had to extract them from LIB.MLB. Could these
 please be added? Or please tell me where to look.
FH2DEF.H;2    7  19-NOV-2003 15:17:35.29
FI2DEF.H;2    2  19-NOV-2003 15:15:39.28
HM2DEF.H;2    6  19-NOV-2003 15:19:17.16
And I did not find offsets defined for the "allocated blocks" and "used blocks"
 values in the ODS2 file header.  Is this an oversight? or am I not looking in
 the right area?

The Answer is :

  You are manipulating files at an exceedingly low level, and one that
  is comparatively unusual for applications.
  These definition modules are and have traditionally been available in
  SYS$LIB_C.TLB, please reference them from there -- that the definitions
  are in LIB is an indication of the nature of the definitions.
  You will also want to be aware of FI5DEF, and ODS-5 requirements.
  If you can locate a copy, the VMS File System Internals book by McCoy
  -- out of print -- will be of interest, as will the ODS documentation
  available on the OpenVMS Freeware distributions.
  Depending on what task(s) you seek to perform, there are packages on the
  OpenVMS Freeware which allow access to low-level OpenVMS disk volume
  structures on other platforms, and there are system service and $qio[w]
  interfaces for most operations.  If this is an OpenVMS application, the
  OpenVMS Wizard would tend to use either the IO$_ACPCONTROL ($qio[w])
  interface, or the RMS services interface, or a language interface --
  this for both supportability and upgradability, among other reasons.

answer written or last revised on ( 4-JAN-2004 )

» close window