[Info-vax] wrong file format

Arne Vajhøj arne at vajhoej.dk
Sat Jan 2 21:04:45 EST 2021


On 12/31/2020 10:54 PM, Bill Gunshannon wrote:
> On 12/31/20 3:58 PM, Dirk Munk wrote:
>> Bill Gunshannon wrote:
>>> On 12/31/20 6:07 AM, Dirk Munk wrote:
>>>> Bill Gunshannon wrote:
>>>>> On 12/30/20 7:59 AM, Dirk Munk wrote:
>>>>>> Suppose you have a VMS file with fixed record size. That file has 
>>>>>> no records separators what so ever, it is one long stream of data. 
>>>>>> VMS can calculate where the records start and end in the file. 
>>>>>> Suppose it consists out of sets of three records of 100 bytes that 
>>>>>> belong together. Then you can change the attributes of that file 
>>>>>> to records of 300 bytes, and in one read operation you will have 
>>>>>> all the data that belongs together. I've actually used this in the 
>>>>>> past.
>>>>>
>>>>> And that would be an application concept, not really an OS thing.
>>>>
>>>> Actually not, since this can only be done because of the way RMS 
>>>> stores data, and RMS is part of the OS.
>>>
>>> See, there is where we differ in opinion.  I see RMS as an
>>> application that just happens to ship with VMS.  Like editors,
>>> compilers and other pieces that ship with the OS but have are
>>> not really part of it.  Surely VMS will run without RMS present.
>>> Not all applications need to access files at all.
>>
>> No, RMS is more like middleware. How do you think that VMS could read 
>> and write its own files if RMS is not present?
> 
> Does a call to printf/scanf in a C program use RMS?
> (Really, can someone answer that question?)

You will need someone with access to source to confirm.

But:
* the traditional story is that all language RTL IO goes
   through RMS - including C RTL (even though that one
   supposedly is a bit more complicated than other
   languages)
* as a rule of thumb: if the IO works both with a terminal
   and a file then it is likely going through RMS - printf and
   scanf does

(it is of course possible to test on device type and issue
different SYS$QIO calls based on device type - but that seems
like reinventing the wheel/RMS to me)

Arne




More information about the Info-vax mailing list