HP-UX Reference (11i v2 03/08) - 2 System Calls (vol 5)

c
chroot(2) chroot(2)
(TO BE OBSOLETED)
NAME
chroot - change root directory
SYNOPSIS
#include <unistd.h>
int chroot(const char *path);
DESCRIPTION
chroot() causes the named directory to become the root directory, the starting point for path searches
for path names beginning with /. path points to a path name naming a directory. The user’s working
directory is unaffected by the
chroot() system call.
The effective user
ID of the process must be a user having appropriate privileges to change the root direc-
tory.
The
.. entry in the root directory is interpreted to mean the root directory itself. Thus,
.. cannot be
used to access files outside the subtree rooted at the root directory.
RETURN VALUE
Upon successful completion, a value of 0 is returned. Otherwise, a value of 1 is returned and
errno is
set to indicate the error.
ERRORS
chroot() fails and the root directory remains unchanged if one or more of the following is true:
[ENOTDIR] Any component of the path name is not a directory.
[ENOENT] The named directory does not exist or a component of the path does not
exist.
[EPERM] The effective user ID is not a user who has appropriate privileges.
[EFAULT] path points outside the allocated address space of the process. The reli-
able detection of this error is implementation dependent.
[ENAMETOOLONG] The length of the specified path name exceeds
PATH_MAX bytes, or the
length of a component of the path name exceeds
NAME_MAX bytes while
_POSIX_NO_TRUNC is in effect.
[ELOOP] Too many symbolic links were encountered in translating the path name.
WARNINGS
Obsolescent Interfaces
chroot() is to be obsoleted at a future date.
SEE ALSO
chroot(1M), chdir(2).
STANDARDS CONFORMANCE
chroot(): AES, SVID2, SVID3, XPG2, XPG3, XPG4
HP-UX 11i Version 2: August 2003 1 Hewlett-Packard Company Section 237