![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
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? Thanks Denny 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.
|