HP OpenVMS Systems

ask the wizard
Content starts here

C file-related operations? (stream-lf?)

» close window

The Question is:

 
I am using the UCX TCP/IP for open vms on an Alpha 600
 
I have a UNIX -sun mounting a file via NFS to the ALPHA, writing binary instrumentation data to the ALPHA.  The file gets set as type STREAM-LF by the ALPHA, and I can't figure out how to set the file to a fixed length type of record (like 512 byte) so I
can use the file in FORTRAN applications.  The fact that it is STREAM-LF, means there are no set RECL lengths, and I am having a cow trying to open the file in FORTRAN for manipulations (bitwise).  The hex value '0A'x is valid binary data, not a carriage
control character, and STREAM-LF is using it as CR.  If only I could open the file in Fortran as unformatted, RECL=xxx, the world could be happy again!!
 
(I used to be able to do this with Wollongong's NFS product for my VAX 11-785!!!!!)
 
Thanks alot!!!
 
Pat Besselman
Phone: 520-538-3808
 
 
 


The Answer is :

 
  Look at the creat() documentation for the RMS keywords available
  to C programmers.  (In particular, one can code the C program to
  open and write the file using Fortran semantics, if necessary.)
 
  You will also want to look at the RMS documentation, to learn more
  about the specific meanings of the RMS keywords.  Specific RMS
  keywords of interest will be the FAB$B_RFM field, and FAB$_RAT.
 
  When creating the file on OpenVMS, the fdl$create() routine and
  a FDL (File Definition Language) file can make it far easier to
  tailor a file creation operation to specific application needs.
  The fdl$create() routine uses the FDL file to create the file
  using the attributes specified in the FDL file...  (Using a pass
  of ANALYZE/RMS/FDL=<file> on an existing Fortran-created file
  that meets your requirement, you can create a set of definitions
  that you can later use in a C call to fdl$create().  If you choose
  to use the Fortran semantics, you will likely need to explicitly
  consider the Fortran or print-file carriage control in the C code
  that writes to the file.)
 
  As for the semantics of file access from a system other than OpenVMS...
 

answer written or last revised on ( 7-JUL-1998 )

» close window