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

chmod(2) OSS System Calls Reference Manual
optional (nondefault) ACL entries with nonzero permissions also have the comment |
# effective:---. |
To set the permission bits of ACL entries, use the acl() function instead of the chmod() function. |
ACLs are not supported for symbolic links.
Use on Guardian Objects
Attempting to set the access permissions on a Guardian le (that is, a le in the /G le system)
fails with errno set to [EINVAL].
Use From the Guardian Environment
The chmod() 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 chmod() 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 chmod() function sets errno to the corresponding value:
[EACCES] Search permission is denied for a component of the path parameter.
[EFAULT] The path parameter points to a location outside of the allocated address space of
the process.
[EFSBAD] The leset catalog for one of the lesets involved in the operation is corrupt.
[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.
[ELOOP] Too many symbolic links were encountered in translating the path parameter.
[ENAMETOOLONG]
One of these is too long:
The pathname pointed to by the path parameter
A component of the pathname pointed to by the path parameter
122 Hewlett-Packard Company 527186-007