CHROOT(2) BSD Programmer's Manual CHROOT(2) NNAAMMEE cchhrroooott - change root directory SSYYNNOOPPSSIISS ##iinncclluuddee <<uunniissttdd..hh>> _i_n_t cchhrroooott(_c_o_n_s_t _c_h_a_r _*_d_i_r_n_a_m_e); DDEESSCCRRIIPPTTIIOONN _D_i_r_n_a_m_e is the address of the pathname of a directory, terminated by an ASCII NUL. CChhrroooott() causes _d_i_r_n_a_m_e to become the root directory, that is, the starting point for path searches of pathnames beginning with `/'. In order for a directory to become the root directory a process must have execute (search) access for that directory. It should be noted that cchhrroooott() has no effect on the process's current directory. This call is restricted to the super-user. RREETTUURRNN VVAALLUUEESS Upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned and _e_r_r_n_o is set to indicate an error. EERRRROORRSS CChhrroooott() will fail and the root directory will be unchanged if: [ENOTDIR] A component of the path name is not a directory. [EINVAL] The pathname contains a character with the high-order bit set. [ENAMETOOLONG] A component of a pathname exceeded 255 characters, or an en- tire path name exceeded 1023 characters. [ENOENT] The named directory does not exist. [EACCES] Search permission is denied for any component of the path name. [ELOOP] Too many symbolic links were encountered in translating the pathname. [EFAULT] _P_a_t_h points outside the process's allocated address space. [EIO] An I/O error occurred while reading from or writing to the file system. SSEEEE AALLSSOO chdir(2) HHIISSTTOORRYY The cchhrroooott function call appeared in 4.2BSD. 4.2 Berkeley Distribution June 4, 1993 1