Guardian Procedure Calls Reference Manual (G06.25+)

Guardian Procedure Calls (F)
Guardian Procedure Calls Reference Manual522629-013
5-126
FILE_OPEN_ Procedure
Current-state indicators after an open
After successful completion of an open, the current-state indicators have these
values:
The current position is that of the first record in the file by primary key.
The positioning mode is approximate.
The comparison length is 0.
If READ is called immediately after FILE_OPEN_ for a structured file, it reads
the first record in the file; in a key-sequenced file, this is the first record by
primary key. Subsequent reads, without intervening positioning, read the file
sequentially (in a relative or entry-sequenced file) or by primary key (in a key-
sequenced file) through the last record in the file.
When a key-sequenced file is opened, KEYPOSITION is usually called before
any subsequent I/O call (such as READ, READUPDATE, WRITE) to establish
a position in the file.
a position in the file.
Queue files
If the READUPDATELOCK operation is to be used, the value of the
sync-or-
receive-depth parameter must be 0. A separate open may be used for
operations with
sync-or-receive-depth > 0.
Sequential block buffering cannot be used.
64-bit Primary keys
In order to access non-key-sequenced files bigger than 4 GB, bit <31> of the
FILE_OPEN_
elections parameter must be set. Use of this parameter allows
the use of procedures using 32-bit primary keys (POSITION, KEYPOSITION,
REPOSITION, GETSYNCINFO, and SETSYNCINFO) and the 32-bit key items of
the FILE_GETINFOLIST_, FILEINFO, and FILERECINFO procedures.
Consideration for Terminals
The terminal being used as the operator console should not be opened with exclusive
access. If it is, console messages are not logged.
Interprocess Communication Considerations
Maximum concurrent nowait operations for an open of $RECEIVE
The maximum number of concurrent nowait operations permitted for an open of
$RECEIVE is 1. Attempting to open $RECEIVE and to specify a value greater
than 1 causes an error 28 to be returned.
When FILE_OPEN_ completes