[Info-vax] MAX record size in a sequential file
jbriggs444
jbriggs444 at gmail.com
Wed May 16 11:46:51 EDT 2012
On May 16, 9:30 am, koeh... at eisner.nospam.encompasserve.org (Bob
Koehler) wrote:
> In article <0cfabdf3-f7a3-498f-8d62-14f9a3384... at e3g2000yqm.googlegroups.com>, jbriggs444 <jbriggs... at gmail.com> writes:
>
>
>
> > Stream-lf means that your on-disk record layout is controlled by
> > the presence of line feeds in the data. Record attributes of CR means
> > that your on-the-printer layout has each record printed on a
> > separate line. Seems quite standard to me. Exactly what one would
> > want when attempting to reproduce the semantics of a Unix text file.
>
> Could be. Not something I'm likely to attempt.
For your information...
The carriage control record attributes on a VMS file do not modify the
data returned by RMS to the user. They are intended as metadata to
be used by applications that intend to print or otherwise display the
file.
CR means carriage-return or "implied" carriage control, i.e.
When output to a print device (e.g. terminal or printer), each record
in the
data file is to be preceded with a line feed and followed with a
carriage
return
[In practice, the leading line feed in front of the first record in a
file is
usually suppressed]
Fortran means Fortran carriage control, i.e.
The first character in each record is interpreted as carriage control
information.
A blank (" ") means single-spacing
A hyphen ("-") means double-spacing
A plus sign ("+") means overstrike this line on top of the last one
A one ("1") means print this line on a new page
None means no carriage control, i.e
Carriage returns, line feeds and form feeds must be literally present
within the record. No carriage control is automatically supplied
between records. By default the entire file prints on one long
line.
Print-file carriage control requires that the file have VFC
organization
(variable length records with a fixed control region). The fixed
control
region is used to store the carriage control information. As I
recall,
this is basically a two byte field containing a count of newlines to
print
before the current record and a count of newlines to print after.
The standard expectation for a Stream-LF file that is printed would
be for each record to print on a line by itself. That means that
record attribute of CR is entirely appropriate.
The situation at hand involved basic and RMS. The paragraphs
below are not at all relevant to this situation.
The C run time library can make life difficult. It tries to arrange
things
so that the data stream that a user sees when reading from an RMS
file more or less matches the data stream that would result if that
file
were printed. It can look at the record attributes and synthesize
file
content accordingly.
http://h71000.www7.hp.com/doc/83final/5763/5763pro_006.html
[Note that the CRTL defaults to processing Stream-LF files in stream
mode. It disregards record attributes when operating in stream mode]
More information about the Info-vax
mailing list