fchdir
идентично
chdir,
только каталог задан в виде открытого файлового дескриптора.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
В случае успеха возвращается ноль. При ошибке возвращается -1, а
errno
устанавливается должным образом.
ОШИБКИ
В зависимости от файловой системы могут появляться также другие
ошибки. Обычные ошибки
chdir
таковы:
EFAULT
path
указывает за пределы доступного адресного пространства.
ENAMETOOLONG
path
слишком длинно.
ENOENT
Файл не существует.
ENOMEM
Ядру не хватило памяти.
ENOTDIR
Компонент пути, использованный как каталог в
path,
в действительности таковым не является.
EACCES
В одном из каталогов, находящихся по пути к
path,
не разрешен поиск.
ELOOP
path
является зацикленной символической ссылкой, то есть при подстановке
возникает ссылка на неё саму.
EIO
Произошла ошибка ввода-вывода.
Обычные ошибки для
fchdir
таковы:
EBADF
fd
не является правильным дескриптором файла.
EACCES
В каталоге, заданном с помощью
fd,
не разрешен поиск.
ЗАМЕЧАНИЯ
Прототип для
fchdir
доступен только, если определена переменная
_BSD_SOURCE
(или явно или неявно, но задана переменная
_POSIX_SOURCE или компиляция осуществляется с флагом -ansi).
СООТВЕТСТВИЕ СТАНДАРТАМ
Системный вызов
chdir
совместим с SVr4, SVID, POSIX, X/OPEN, 4.4BSD. SVr4 документирует
дополнительные коды ошибок EINTR, ENOLINK и EMULTIHOP, но не содержит
ENOMEM. POSIX.1 не содержит кодов ошибок ENOMEM и ELOOP. X/OPEN не
определяет кодов ошибок EFAULT, ENOMEM и EIO.
Системный вызов
fchdir
совместим с SVr4, 4.4BSD and X/OPEN. SVr4 документирует
дополнительные коды ошибок EIO, EINTR, и ENOLINK. X/OPEN
документирует дополнительные коды ошибок EINTR и EIO.