REVOKE(2)                 OpenBSD Programmer's Manual                REVOKE(2)

NAME
     revoke - revoke file access

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 de-
     scriptors fail, with the exceptions that a read() from a character device
     file which has been revoked returns a count of zero (end of file), and a
     close() 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 refer-
     ences to the file had been closed.

     Access to a file may be revoked only by its owner or the superuser.  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 indicated that the call succeeded.  A -1 return value indicates
     an error occurred and errno is set to indicated the reason.

ERRORS
     Access to the named file is revoked unless one of the following:

     [ENOTDIR]     A component of the path prefix is not a directory.

     [ENAMETOOLONG]
                   A component of a pathname exceeded 255 characters, or an
                   entire path name exceeded 1024 characters.

     [ENOENT]      The named file or a component of the path name does not ex-
                   ist.

     [EACCES]      Search permission is denied for a component of the path
                   prefix.

     [ELOOP]       Too many symbolic links were encountered in translating the
                   pathname.

     [EFAULT]      path points outside the process's allocated address space.

     [EPERM]       The caller is neither the owner of the file nor the supe-
                   ruser.

SEE ALSO
     close(2)

HISTORY
     The revoke function was introduced in 4.3BSD-Reno.

OpenBSD 4.0                      June 4, 1993                                1
