chdir, fchdir − zmiana katalogu roboczego
#include <unistd.h>
int chdir(const char *path);
int fchdir(int fd);
Uwaga! To tłumaczenie może być nieaktualne!
chdir zmienia katalog bieżący na katalog podany w path.
fchdir jest identyczne jak chdir, lecz katalog jest podawany jako deskryptor otwartego pliku.
Po pomyślnym zakończeniu zwracane jest zero. W wypadku błędu zwracane jest −1 i odpowiednio ustawiane errno.
Dla niektórych systemów plików mogą być zwracane inne błędy niż opisane poniżej. Najogólniejsze błędy chdir to:
EFAULT |
path wskazuje poza dostępną dla użytkownika przestrzeń adresową. |
ENAMETOOLONG
path jest zbyt długie.
ENOENT |
Plik nie istnieje. |
|||
ENOMEM |
Brak pamięci jądra. |
ENOTDIR
Składnik ścieżki path. nie jest katalogiem.
EACCES |
Brak praw do przeszukiwania dla składnika ścieżki path. |
||
ELOOP |
Podczas rozwiązywania path napotkano zbyt wiele dowiązań symbolicznych. |
||
EIO |
Wystąpił błąd wejścia-wyjścia. |
Ogólne błędy fchdir to:
EBADF |
fd Nie jest prawidłowym deskryptorem pliku. |
EACCESS
Brak praw do przeszukiwania katalogu otwartego przez deskryptor fd.
Prototyp funkcji fchdir jest dostępny tylko jeżeli zdefiniowano _BSD_SOURCE (bezpośrednio, albo pośrednio - nie definiując _POSIX_SOURCE czy kompilując z włączoną flagą −ansi).
Funkcja chdir jest zgodna z SVr4, SVID, POSIX, X/OPEN, 4.4BSD. SVr4 dokumentuje dodatkowe błędy EINTR, ENOLINK i EMULTIHOP, lecz nie zawiera ENOMEM. POSIX.1 nie zawiera błędów ENOMEM, ELOOP. X/OPEN nie zawiera błędów EFAULT, ENOMEM i EIO.
Funkcja fchdir jest zgodna z SVr4, 4.4BSD oraz X/OPEN. SVr4 dokumentuje dodatkowe błędy EIO, EINTR i ENOLINK. X/OPEN dokumentuje dodatkowe błędy EINTR i EIO.
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:
man −−locale=C 2 chdir
Prosimy o pomoc w aktualizacji stron man − więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages−pl/.