fpathconf(3) Library Functions Manual fpathconf(3) NAZWA fpathconf, pathconf - pobranie konfiguracji dla plikow BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include long fpathconf(int fd, int name); long pathconf(const char *path, int name); OPIS Funkcja fpathconf() pobiera wartosc opcji konfiguracyjnej name dla otwartego deskryptora pliku fd. Funkcja pathconf() pobiera wartosc opcji konfiguracyjnej name dla pliku o nazwie path. Odpowiednie makra zdefiniowane w sa wartosciami minimalnymi. Jesli aplikacja chce korzystac z wartosci, ktore moga sie zmieniac, to moze wywolac fpathconf() lub pathconf(), ktore zwracaja bardziej liberalne wyniki. Przekazanie w argumencie name jednej z ponizszych wartosci zwraca nastepujace opcje konfiguracji: _PC_LINK_MAX Maksymalna liczba dowiazan do pliku. Jesli fd lub path odnosza sie do katalogu, to wartosc dotyczy calego katalogu. Odpowiadajace temu makro to _POSIX_LINK_MAX. _PC_MAX_CANON Maksymalna dlugosc sformatowanej linii wejsciowej, przy czym fd lub path musi odnosic sie do terminala. Odpowiadajace temu makro to _POSIX_MAX_CANON. _PC_MAX_INPUT Maksymalna dlugosc linii wejsciowej, przy czym fd lub path musi odnosic sie do terminala. Odpowiadajace temu makro to _POSIX_MAX_INPUT. _PC_NAME_MAX Maksymalna dlugosc nazwy pliku w katalogu path lub fd, jaka proces moze utworzyc. Odpowiadajace temu makro to _POSIX_NAME_MAX. _PC_PATH_MAX Maksymalna dlugosc wzglednej sciezki, gdy path lub fd jest katalogiem biezacym. Odpowiadajace temu makro to _POSIX_PATH_MAX. _PC_PIPE_BUF Maksymalna liczba bajtow, ktore mozna niepodzielnie (atomicznie) zapisac do potoku lub kolejki FIFO. W przypadku fpathconf() argument fd powinien odnosic sie do potoku lub kolejki FIFO. Dla fpathconf(), argument path powinien odnosic sie do kolejki FIFO lub katalogu; w tym drugim przypadku wartosc zwracana jest odpowiednia dla kolejek FIFO tworzonych w tym katalogu. Odpowiadajace temu makro to _POSIX_PIPE_BUF. _PC_CHOWN_RESTRICTED Zwraca wartosc dodatnia, jesli uzycie chown(2) i fchown(2), w celu zmiany identyfikatora wlasciciela pliku albo w celu zmienienia identyfikatora grupy pliku na wartosc inna niz efektywny identyfikator grupy procesu lub jeden z dodatkowych identyfikatorow grup, jest ograniczone do procesu majacego odpowiednie uprawnienia. Zgodnie z POSIX.1 wartosc ta powinna zawsze byc rozna od -1. Odpowiadajace temu makro to _POSIX_CHOWN_RESTRICTED. Jesli fd lub path odnosza sie do katalogu, to wartosc zwracana dotyczy to wszystkich plikow w tym katalogu. _PC_NO_TRUNC Zwraca wartosc niezerowa, jesli dostep do plikow o nazwach dluzszych od _POSIX_NAME_MAX powoduje blad. Odpowiadajace temu makro to _POSIX_NO_TRUNC. _PC_VDISABLE Zwraca wartosc niezerowa, jesli przetwarzanie znakow specjalnych moze byc wylaczone, przy czym fd lub path musza odnosic sie do terminala. WARTOSC ZWRACANA Funkcje te zwracaja jedna z nastepujacych wartosci: o On error, -1 is returned and errno is set to indicate the error (for example, EINVAL, indicating that name is invalid). o Jesli name odpowiada jakiemus ograniczeniu typu maksimum lub minimum, ale nie mozna okreslic wartosci tego ograniczenia, to zwracane jest -1 bez zmieniana wartosci errno. (W celu odroznienia nieokreslalnego ograniczenia od innego bledu, nalezy ustawic errno na zero przed wywolaniem tej funcji, i nastepnie sprawdzic, czy errno jest niezerowe, jesli funkcja zwroci wartosc -1). o Jesli name odpowiada jakiejs nazwie opcji, to zwracana jest wartosc dodatnia, gdy ta opcja jest wspierana, w przeciwnym wypadku zwracane jest -1. o W przeciwnym wypadku zwracana jest biezaca wartosc opcji lub ograniczenia. Wartosc ta nie bedzie bardziej restrykcyjna niz odpowiednia wartosc dostepna w pliku lub w czasie kompilowania aplikacji. BLEDY EACCES (pathconf()) Brak uprawnien do przeszukiwania jednego z katalogow w sciezce zaczynajacej path. EBADF (fpathconf()) fd nie jest prawidlowym deskryptorem pliku. EINVAL name jest niepoprawne. EINVAL Ta implementacja nie wspiera skojarzenia name z podanym plikiem. ELOOP (pathconf()) Podczas rozwiazywania path napotkano zbyt wiele dowiazan symbolicznych. ENAMETOOLONG (pathconf()) path jest za dluga. ENOENT (pathconf()) Skladnik sciezki path nie istnieje lub path jest pustym lancuchem znakow. ENOTDIR (pathconf()) Jeden ze skladnikow sciezki path nie jest katalogiem. ATRYBUTY Informacje o pojeciach uzywanych w tym rozdziale mozna znalezc w podreczniku attributes(7). +---------------------------+--------------------------+---------------+ |Interfejs | Atrybut | Wartosc | +---------------------------+--------------------------+---------------+ |fpathconf(), pathconf() | Bezpieczenstwo watkowe | MT-bezpieczne | +---------------------------+--------------------------+---------------+ STANDARDY POSIX.1-2008. HISTORIA POSIX.1-2001. UWAGI W danym katalogu moga istniec pliki o nazwach dluzszych niz wartosc zwrocona dla name rownego _PC_NAME_MAX. Niektore ze zwracanych wartosci moga byc olbrzymie, wiec nie nadaja sie do alokowania pamieci. ZOBACZ TAKZE getconf(1), open(2), statfs(2), confstr(3), sysconf(3) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Adam Byrtek , Andrzej Krzysztofowicz i Robert Luberda Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.06 31 pazdziernika 2023 r. fpathconf(3)