Mac Developer Library Developer


This manual page is part of Xcode Tools version 5.0

To obtain these tools:

If you are running a version of Xcode Tools other than 5.0, view the documentation locally:

  • In Xcode

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.

REVOKE(2)                   BSD System Calls Manual                  REVOKE(2)

     revoke -- revoke file access

     #include <unistd.h>

     revoke(const char *path);

     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() 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 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 currently
     supported only for block and character special device files.  It is normally used to prepare a terminal
     device for a new login session, preventing any access by a previous user of the terminal.

     A 0 value indicated that the call succeeded.  A -1 return value indicates an error occurred and errno
     is set to indicated the reason.

     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 exist.

     [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.

     [EINVAL]           The named file is neither a character special or block special file.

     [EPERM]            The caller is neither the owner of the file nor the super user.

     [ENOTSUP]          The path does not represent a block or character device.

     [EBUSY]            The path represents a block device which is providing the backing for a mounted vol-ume. volume.


     The revoke function was introduced in 4.3BSD-Reno.

BSD                              June 4, 1993                              BSD

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.