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

fchmod(2) OSS System Calls Reference Manual
Use From the Guardian Environment
The fchmod( ) function is one of 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. These le numbers cannot
be closed by calling the Guardian FILE_CLOSE_ procedure.
The current working directory is assigned from the VOLUME attribute of the Guardian
environment =_DEFAULTS DEFINE.
The use of static memory by the process increases slightly.
These effects occur only when the rst of the set of functions is called. The effects are not cumu-
lative.
RETURN VALUES
Upon successful completion, the fchmod() function returns the value 0 (zero). Otherwise, the
value -1 is returned, and errno is set to indicate the error.
ERRORS
If any of these conditions occur, the fchmod() function sets errno to the corresponding value:
[EBADF] The le descriptor ledes is not valid.
[EFSBAD] The leset catalog for one of the lesets involved in the operation is corrupt.
[EINTR] A signal was caught during execution of the system call.
[EINVAL] One of these conditions exists:
The value of the mode parameter is invalid.
An attempt was made to set access permissions on a Guardian le (that
is, a le in the /G le system).
[EIO] An input or output error occurred. The device holding the le might be in the
down state, or both processors that provide access to the device might have
failed.
[ENOENT] The program attempted an operation on a le that is open but that has been
unlinked (and the attributes of the le are no longer alterable).
[ENOROOT] One of these conditions exists:
The root leset of the local node (leset 0) is not in the STARTED state.
The current root leset for the specied le is unavailable. The OSS
name server for the leset might have failed.
The specied le is on a remote HP NonStop node, and communication
with the remote name server has been lost.
[EOSSNOTRUNNING]
The program attempted an operation on an object in the OSS environment while
a required system process was not running.
34 Hewlett-Packard Company 527186-005