Open System Services System Calls Reference Manual (G06.28+, H06.05+)

System Functions (n - p) open(2)
You cannot use the open() function on any other type of Guardian object. An attempt to
open:
AFormat2le that is larger than approximately 2 gigabytes fails with
errno set |
to [EOVERFLOW].
A structured le fails with errno set, usually to [EINVAL].
A le administered through the Storage Management Foundation (SMF) fails
with errno set to [ENOTSUP].
Any le or device of any other type not described here fails with errno set, usu-
ally to [EINVAL].
An attempt to open a volume, a subvolume, or a process other than a TTY simulation
process (/G/vol, /G/vol/subvol,or/G/process, respectively) fails with errno set to [EIS-
DIR].
An attempt to open a subvolume with a reserved name beginning with ZYQ (for exam-
ple, /G/vol2/zyq00004) fails with errno set to [EACCES].
An attempt to open a le within a subvolume with a reserved name beginning with ZYQ
(for example, /G/vol2/zyq00004/z000002x) fails with errno set to [EACCES].
If the le is not an EDIT le (that is, the le code is not 101), it is opened in shared
exclusion mode.
If the le is an EDIT le and read-only access is specied, the le is opened in protected
exclusion mode in the Guardian environment.
If the le is an EDIT le and write access is specied, the call fails with errno set to
[EINVAL].
The sysconf() function reports the maximum number of opens as the upper limit of
opens per process. The actual limit depends on other factors, such as the size of the pro-
cess le segment (PFS) and the number of existing opens on directories or on les in the
Guardian environment.
If the open requires le creation, the Guardian le created will be Format 1, odd, unstruc-
tured, and le code 180.
If the open requires le creation, the le is given access permissions compatible with the
standard security permissions for the Guardian creator access ID (CAID) of the calling
process.
During open() processing, all access permissions are checked. This includes Guardian environ-
ment checks by Guardian standard security mechanisms (and by the Safeguard product) for
Guardian disk le and process access.
Use From the Guardian Environment
A call to the open() function in the Guardian environment requires an OSS pathname and returns
an OSS le-system le descriptor, regardless of the le system containing the le.
The open() function belongs to a set of functions that have these effects when the rst of them is
called from the Guardian environment:
Two Guardian le-system le numbers (not necessarily the next two available) are allo-
cated for the root directory and the current working directory. You cannot close these le
numbers by calling the Guardian FILE_CLOSE_ procedure.
527186-007 Hewlett-Packard Company 59