Guardian Procedure Calls Reference Manual (G06.25+)

Guardian Procedure Calls (O)
Guardian Procedure Calls Reference Manual522629-013
11-26
OPEN Procedure (Superseded by FILE_OPEN_
Procedure )
The positioning mode is approximate.
The comparison length is 0.
If READ is called immediately after OPEN for any 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 or by primary key through the last record in the file.
When a key-sequenced file is opened, KEYPOSITION usually is called before
any subsequent I/O call (such as READ, READUPDATE, WRITE) to establish
a position in the file.
Queue files
If the READUPDATELOCK[X] operation is to be used, 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.
Terminal Consideration
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 one. Attempting to open $RECEIVE and to specify a value greater
than 1 returns an error indication. A subsequent call to FILEINFO or
FILE_GETINFO_ shows that an error 28 occurred.
When open completes
When process A attempts to open process B, open completes as follows:
The open for process A won’t complete if process B has not opened its
$RECEIVE.
If process B has opened its $RECEIVE, but has not requested system
messages, the open for process A completes immediately.
If process B has opened its $RECEIVE requesting system messages, and with
a
receive-depth equal to 0, the open for process A completes when
process B does a read of $RECEIVE to get the open message from A.
If process B has opened its $RECEIVE requesting system messages and with
receive-depth greater than 0, the open for process A completes after
process B has read the open message of process A and replied to it.