MPE/iX Intrinsics Reference Manual (32650-90905)

Chapter 7 393
Command Definitions (HP32208-HPLOACNMPROC)
HPFOPEN
45/CA Fill character:
Passes two ASCII characters that determine what padding character to
use at the end of blocks or unused pages, and the padding used by
itemnum
=53. Do not use delimiter characters for this option. The fill
character must be a 2 byte array. The first character only is used as the
padding character. The second character is reserved for future use. This
option is applicable only at file creation.
Default: Null characters for a binary file and ASCII blanks for an ASCII
file.
The default fill character for byte stream files is the null character. The fill
character is null for hierarchical directories regardless of the value
specified for this
itemnum
.
46/I32 Inhibit buffering:
Passes a value enabling/disabling automatic operataing systembuffering.
If NOBUF is specified, I/O is allowed to take place directly between the data
area and the applicable hardware device.
The following values are valid:
0 Allow normal buffering (BUF)
1 Inhibit buffering (NOBUF)
Default: 0
NOBUF access is oriented to physical block transfer rather than logical
record transfer. If NOBUF and a variable-length record structure are
specified in
itemnum
=6 and the file does not have a variable-length record
format, then the format is changed internally to an undefined-length
record format. When performing an FWRITE, set up the variable structure.
With NOBUF access, responsibility for blocking and deblocking of records in
the file belongs to the program. To be consistent with files built using
buffered I/O, records should begin on half word boundaries. When the
information content of the record is less than the defined record length,
you must pad the record with blanks if the file is ASCII, or with zeros if
the file is binary.
The record size and block size for files manipulated with NOBUF specified
follow the same rules as those files that are created using buffering. The
default blocking factor for a file created under NOBUF is one.
If a file is opened NOBUF without multirecord mode specified in
itemnum
=15, then transfer a maximum of only one block of data per read
or write.
The end-of-file (EOF) marker, next record pointer, and record transfer
count are maintained in terms of logical records for all files. The number of
logical records affected by each transfer is determined by the size of the
transfer.
Transfers always begin on a block boundary. Those transfers that do not