CHROOT(2)

NAME
chroot - change root directory

SYNOPSIS
#include <unistd.h>

int chroot(const char *path);

DESCRIPTION
chroot changes the root directory to that specified in path. This directory will be used for path name beginning with /. The root directory is inherited by all children of the current process. Only the super-user may change the root directory. Note that this call does not change the current working directory, so that `.' can be outside the tree rooted at `/'.

RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.

ERRORS
Depending on the file system, other errors can be returned. The more general errors are listed below:

EPERM
    The effective UID does not match the owner of the file, and is not zero; or the owner or group were specified incorrectly.

EROFS
    The named file resides on a read-only file system.

EFAULT
    path points outside your accessible address space.

ENAMETOOLONG
    path is too long.

ENOENT
    The file does not exist.

ENOMEM
    Insufficient kernel memory was available.

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

EACCES
    Search permission is denied on a component of the path prefix.

ELOOP
    path contains a circular reference (i.e., via a symbolic link)

CONFORMING TO
SVr4, SVID, 4.4BSD. This function is not part of POSIX.1. SVr4 documents additional EINTR, ENOLINK and EMULTIHOP error conditions,

SEE ALSO
chdir(2)