The
getmode()
function
returns a copy of the file permission bits
mode
as altered by the values pointed to by
set.
While only the mode bits are altered, other parts of the file mode
may be examined.
The
setmode()
function
takes an absolute (octal) or symbolic value, as described in
chmod(1),
as an argument
and returns a pointer to mode values to be supplied to
getmode().
Because some of the symbolic values are relative to the file
creation mask,
setmode()
may call
umask(2).
If this occurs, the file creation mask will be restored before
setmode()
returns.
If the calling program changes the value of its file creation mask
after calling
setmode(),
setmode()
must be called again if
getmode()
is to modify future file modes correctly.
If the mode passed to
setmode()
is invalid or if memory cannot be allocated for the return value,
setmode()
returns
NULL.
The value returned from
setmode()
is obtained from
malloc()
and should be returned to the system with
free()
when the program is done with it, generally after a call to
getmode().