Open System Services System Calls Reference Manual (G06.29+, H06.08+, J06.03+)

System Functions (n - p) PUT_FILE_OPEN_(2)
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 the Guardian READ procedure is called immediately after
PUT_FILE_OPEN_() for a structured file, READ 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, the Guardian KEYPO-
SITION procedure is usually called before any subsequent Guardian I/O pro-
cedure call (such as READ, READUPDATE, or WRITE) to establish 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 (zero). You can use a separate open
for operations with sync_or_receive_depth greater than 0 (zero).
You cannot use sequential block buffering.
64-bit primary keys
In order to access non-key-sequenced files bigger than 4 gigabytes, you must set
bit 31 of the PUT_FILE_OPEN_() elections parameter. Use of this parameter
allows the use of procedures using 32-bit primary keys (POSITION, KEYPOSI-
TION, REPOSITION, GETSYNCINFO, and SETSYNCINFO) and the 32-bit
key items of the FILE_GETINFOLIST_, FILEINFO, and FILERECINFO pro-
cedures.
Considerations for Terminals
The terminal 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 PUT_FILE_OPEN_() completes
When process A attempts to open process B, PUT_FILE_OPEN_() completes
as follows:
If process B has already opened $RECEIVE with file-management sys-
tem messages disabled, the open call by process A completes immedi-
ately.
If process B has opened $RECEIVE requesting file-management system
messages enabled, the open call completes when process B reads the
open message from process A by using READX, or if B uses READUP-
DATEX, the open call completes when process B replies to the open
message (by using REPLYX).
If process B has not yet opened $RECEIVE, the open by process A does
527186-023 Hewlett-Packard Company 5209