xref: /haiku/src/system/libroot/posix/unistd/chroot.cpp (revision 25a7b01d15612846f332751841da3579db313082)
1360be1fcSIngo Weinhold /*
2360be1fcSIngo Weinhold  * Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de. All rights reserved.
3360be1fcSIngo Weinhold  * Distributed under the terms of the MIT License.
4360be1fcSIngo Weinhold  */
5360be1fcSIngo Weinhold 
6360be1fcSIngo Weinhold #include <syscalls.h>
7360be1fcSIngo Weinhold 
8360be1fcSIngo Weinhold #include <errno.h>
9360be1fcSIngo Weinhold #include <unistd.h>
10360be1fcSIngo Weinhold 
11*ae901935SOliver Tappe #include <errno_private.h>
12*ae901935SOliver Tappe 
13360be1fcSIngo Weinhold 
14360be1fcSIngo Weinhold int
chroot(const char * path)15360be1fcSIngo Weinhold chroot(const char *path)
16360be1fcSIngo Weinhold {
17360be1fcSIngo Weinhold 	status_t error = _kern_change_root(path);
18360be1fcSIngo Weinhold 	if (error != B_OK) {
19*ae901935SOliver Tappe 		__set_errno(error);
20360be1fcSIngo Weinhold 		return -1;
21360be1fcSIngo Weinhold 	}
22360be1fcSIngo Weinhold 
23360be1fcSIngo Weinhold 	return 0;
24360be1fcSIngo Weinhold }
25