NAME
revoke —
revoke file access
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <unistd.h>
int
revoke(
const char
*path);
DESCRIPTION
The
revoke() function invalidates all current open file
descriptors in the system for the file named by
path.
Subsequent operations on any such descriptors fail, with the exceptions that a
read(2) from a character device
file which has been revoked returns a count of zero (end of file), and a
close(2) call will succeed. If
the file is a special file for a device which is open, the device close
function is called as if all open references to the file had been closed.
Access to a file may be revoked only by its owner or the super user.
The
revoke() function is normally used to prepare a terminal
device for a new login session, preventing any access by a previous user of
the terminal.
RETURN VALUES
A 0 value indicates that the call succeeded. A -1 return value indicates an
error occurred and
errno is set to indicate the reason.
ERRORS
Access to the named file is revoked unless one of the following:
-
-
- [
EACCES
]
- Search permission is denied for a component of the path
prefix.
-
-
- [
EFAULT
]
- path points outside the process's
allocated address space.
-
-
- [
ELOOP
]
- Too many symbolic links were encountered in translating the
pathname.
-
-
- [
ENAMETOOLONG
]
- A component of a pathname exceeded
{
NAME_MAX
} characters, or an entire path name
exceeded {PATH_MAX
} characters.
-
-
- [
ENOENT
]
- The named file or a component of the path name does not
exist.
-
-
- [
ENOTDIR
]
- A component of the path prefix is not a directory.
-
-
- [
EPERM
]
- The caller is neither the owner of the file nor the super
user.
SEE ALSO
close(2),
dup(2),
fcntl(2),
flock(2),
fstat(2),
read(2),
write(2)
HISTORY
The
revoke() function was introduced in
4.3BSD-Reno.