Switch summary

ACCESS:APPEND   Create file in append mode
ACCESS:RONLY    Directfile may only be read, not modified
BUFFERS:n       Define no of buffers
FILES:n         Define max no of files
IMAGESIZE:n     Define directfile imagesize
LIMIT:n         Define max no of blocks for an outfile
NUMBERED        Outfile: set linenumber bit in buffer images
SIZE:n          Define total no of blocks for an outfile
WORDALIGNED     Put images on word boundaries in buffer


File definitions

File definitions can be given in three different ways:
1) In the text argument which is a parameter when the SIMULA program
generates a new file object.
2) In a special file of run-time switches.
3) At run-time via a user-RTS dialogue.

File definition formats:

1.  logical-filename file-descriptor/switch/switch...
2.  /switch/switch...
3.  /switch/switch... logical-filename file-descriptor/switch/switch...
4.  @file-descriptor

Run-time switches are passed to the object program in a specification
file.  This file is defined at compile-time with the R-option.  The
specification file contains one or more file definitions, each having
one of the formats above.

The first empty line or end of file terminates the reading of the
specification file.  Format 4 defines an indirect specification file.
It is possible to have more than one indirect specification file but
they must not be nested.  A specification file can be read from TTY or
disk.  SYSIN can be specified to contain the file definitions, which
then must be the first lines of SYSIN and must be terminated with an
empty line.  Specification files cannot be kept in sub-file directories.

The logical name is one to six alphanumeric characters.  If it is
omitted the filename is used as logical name, or, if the filename is
omitted, the devicename.

A file descriptor has the following format:

str:<directory>filename.filetype;Pnnnnnn

Defaults are DSK: and connected directory.		      No part of
the file descriptor is mandatory.  The file definition is linked to the
file object through the logical name when the file object is created.

The text argument when generating a new file object in a SIMULA program
has one of the following formats:

1.  "logical-filename file-descriptor/switch/switch..."
2.  "/switch/switch...  logical-filename
file-descriptor/switch/switch..."

Information in the specification file overrides the file object
argument.

The file descriptor may contain an asterisk in any of the fields except
protection.  The user is then conversationally asked for additional
information when the file object is created and he may enter missing
fields or override already defined fields.  This applies both to the
specification file and to the file object argument.


Switches

Switches that appear before the file definition or, in a specification
file, alone on a line are called GLOBAL switches.  Other switches are
termed LOCAL.  The same switch may be either local or global as defined
below.  All switches can be designated with their first letter or with
as many letters as desired.  The full names are given below.

ACCESS:APPEND
This switch can only be local and is applicable to outfiles and
printfiles only.  It means that the file will be written in append mode,
i.e.  the output will be appended to the file if it already exists.

ACCESS:RONLY
This local switch is applicable to directfiles only.  It means that the
directfile can only be read, not modified.

BUFFER:n

type          n       meaning

global        =<32    
                      n is the number of buffers in the buffer ring for
                      all subsequent files, unless they have a local
                      BUFFER switch or a new global BUFFER switch
                      appears
     global   >32     
                      n defines the area in words to be allocated for
                      buffers (necessary space for all files defined in
                      the specification file will however always be
                      allocated regardless of this value)
     local    =<32    
                      n is the number of buffers in the buffer ring for
                      this file
     local    >32     
                      n defines the size of one buffer in a two-buffer
                      ring (applicable to mag-tape only)

     FILES:n
     This switch defines the number of files to be handled
     simultaneously during execution and helps the run-time system to
     allocate an appropriate buffer area before start of execution.
     Since garbage collection will be invoked when the buffer area
     overflows, FILES can be used to avoid this.  FILES is a global
     switch only.  Default for n is 0.

     IMAGESIZE:n
     A local switch applicable to directfiles only.  It defines the
     record size which will be n+2 to allow for carriage return and line
     feed.  If this switch is not given, the image size specified via
     the parameter to OPEN will be used to define n.

     LIMIT:n
     LIMIT specifies the number of blocks that may be written on an
     outfile or printfile.  Default is no limit.  A run-time error
     occurs if this limit is exceeded.  LIMIT may only be used as a
     local switch.

     NUMBERED
     This switch can be applied only as a local switch in the
     specification of an outfile, printfile or directfile.  On a call to
     outimage, the last bit of the first word of the image is set to 1.
     NUMBERED implies WORDALIGNED.  See below.

     SIZE:n
     This switch defines the initial number of blocks (n) to be
     allocated to an outfile or directfile.  Default for n is 5.  At
     least n blocks will always be allocated but the file can however
     become larger than this size.  The switch will improve the
     efficiency when the file is large.  SIZE may only be used as a
     local switch.

     A numeric switch value must be given in the form of a decimal
     integer optionally followed immediately by the letter K or P,
     signifying multiplication with 1024 and 512 respectively.

     WORDALIGNED
     This switch is local and applies to outfiles and printfiles.
     Directfiles are always word-aligned.  The WORDALIGNED switch forces
     each image in the buffer to start on a word boundary.  If in
     addition the internal image is word-aligned, the image can be
     copied more efficiently to the buffer.  Main texts are always
     word-aligned.

     All switches except FILES and HELP may appear in the text argument
     to a file object.

     Example:

     INSPECT NEW outfile("RES.DAT/A:APPEND/LIMIT:100") DO ...


                          [END OF SIMRTS.HLP]

