Open System Services System Calls Reference Manual (G06.29+, H06.08+, J06.03+)
System Functions (s and S) SPT_FILE_OPEN_(2)
using nowait I/O to a process; the opener does not wait for the process being
opened to service the open message.
Direct and buffered I/O transfers
A file opened by SPT_FILE_OPEN_() uses direct I/O transfers by default;
SETMODE 72 is used to force the system to use an intermediate buffer in the
process file segment (PFS) for I/O transfers. This behavior is unlike the obsoles-
cent Guardian OPEN procedure call, which uses a PFS buffer for I/O transfers by
default.
Sequential block buffering
Sequential block buffering is only supported for disk files. If you are using
sequential block buffering, the file should usually be opened with protected or
exclusive access. You can use shared access, but it is somewhat slower than the
other access methods, and there might be concurrency problems. See the discus-
sion of "Sequential Block Buffering" in the Enscribe Programmer’s Guide.
Named processes
If you supply a process filename for a named process, it can represent any pro-
cess with the same name. System messages are normally sent to the current pri-
mary process. The exception is when a named process supplies its own name to
SPT_FILE_OPEN_(). In that case, the name refers to the backup process and
system messages are sent to the backup process.
A named process can be represented with or without a sequence number.
SPT_FILE_OPEN_() treats the two name forms differently:
• If you supply a process file name that includes a sequence number, the
process must have a matching sequence number or the open fails with
error 14. When retrying I/O on a process opened under such a name, the
file system does not attempt to send messages to a possible backup pro-
cess of the same name unless it has a matching sequence number. This
behavior ensures that the named process is a true backup of the primary
process.
• If you supply a process file name that does not include a sequence
number, any process with a matching name can be opened and can be
sent I/O retries. A newly created process that receives an I/O retry
intended for another process of the same name will usually reject it with
an error 60, but this behavior is under the control of the application.
Partitioned files
A separate FCB exists for each partition of a partitioned file. There is one ACB
per accessor (as for single-volume files), but this ACB requires more main
memory because it contains the information necessary to access all of the parti-
tions, including the location and partial-key value for each partition.
Disk file open security check
When a disk file open is attempted, the system performs a security check. The
accessor’s (that is, the caller’s) security level is checked against the file security
level for the requested access mode, as follows:
for read access read security level is checked.
for write access
write security level is checked.
527186-023 Hewlett-Packard Company 7−197