Provided by: manpages-pl-dev_4.26.0-1_all 

NAZWA
fpathconf, pathconf - pobiera konfigurację dla plików
BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)
SKŁADNIA
#include <unistd.h>
long fpathconf(int fd, int name);
long pathconf(const char *path, int name);
OPIS
Funkcja fpathconf() pobiera wartość opcji konfiguracyjnej name dla otwartego deskryptora pliku fd.
Funkcja pathconf() pobiera wartość opcji konfiguracyjnej name dla pliku o nazwie path.
Odpowiednie makra zdefiniowane w <unistd.h> są wartościami minimalnymi. Jeśli aplikacja chce korzystać z
wartości, które mogą się zmieniać, to może wywołać fpathconf() lub pathconf(), które zwracają bardziej
liberalne wyniki.
Przekazanie w argumencie name jednej z poniższych wartości zwraca następujące opcje konfiguracji:
_PC_LINK_MAX
Maksymalna liczba dowiązań do pliku. Jeśli fd lub path odnoszą się do katalogu, to wartość dotyczy
całego katalogu. Odpowiadające temu makro to _POSIX_LINK_MAX.
_PC_MAX_CANON
Maksymalna długość sformatowanej linii wejściowej, przy czym fd lub path musi odnosić się do
terminala. Odpowiadające temu makro to _POSIX_MAX_CANON.
_PC_MAX_INPUT
Maksymalna długość linii wejściowej, przy czym fd lub path musi odnosić się do terminala.
Odpowiadające temu makro to _POSIX_MAX_INPUT.
_PC_NAME_MAX
Maksymalna długość nazwy pliku w katalogu path lub fd, jaką proces może utworzyć. Odpowiadające
temu makro to _POSIX_NAME_MAX.
_PC_PATH_MAX
Maksymalna długość względnej ścieżki, gdy path lub fd jest katalogiem bieżącym. Odpowiadające temu
makro to _POSIX_PATH_MAX.
_PC_PIPE_BUF
Maksymalna liczba bajtów, które można niepodzielnie (atomicznie) zapisać do potoku lub kolejki
FIFO. W przypadku fpathconf() argument fd powinien odnosić się do potoku lub kolejki FIFO. Dla
fpathconf(), argument path powinien odnosić się do kolejki FIFO lub katalogu; w tym drugim
przypadku wartość zwracana jest odpowiednia dla kolejek FIFO tworzonych w tym katalogu.
Odpowiadające temu makro to _POSIX_PIPE_BUF.
_PC_CHOWN_RESTRICTED
Zwraca wartość dodatnią, jeśli użycie chown(2) i fchown(2), w celu zmiany identyfikatora
właściciela pliku albo w celu zmienienia identyfikatora grupy pliku na wartość inną niż efektywny
identyfikator grupy procesu lub jeden z dodatkowych identyfikatorów grup, jest ograniczone do
procesu mającego odpowiednie uprawnienia. Zgodnie z POSIX.1 wartość ta powinna zawsze być różna od
-1. Odpowiadające temu makro to _POSIX_CHOWN_RESTRICTED.
Jeśli fd lub path odnoszą się do katalogu, to wartość zwracana dotyczy to wszystkich plików w tym
katalogu.
_PC_NO_TRUNC
Zwraca wartość niezerową, jeśli dostęp do plików o nazwach dłuższych od _POSIX_NAME_MAX powoduje
błąd. Odpowiadające temu makro to _POSIX_NO_TRUNC.
_PC_VDISABLE
Zwraca wartość niezerową, jeśli przetwarzanie znaków specjalnych może być wyłączone, przy czym fd
lub path muszą odnosić się do terminala.
WARTOŚĆ ZWRACANA
Funkcje te zwracają jedną z następujących wartości:
• W razie wystąpienia błędu zwracane jest -1 i ustawiane errno wskazując błąd (na przykład na EINVAL
wskazujące, że name jest niepoprawna).
• Jeśli name odpowiada jakiemuś ograniczeniu typu maksimum lub minimum, ale nie można określić wartości
tego ograniczenia, to zwracane jest -1 bez zmieniana wartości errno. (W celu odróżnienia
nieokreślalnego ograniczenia od innego błędu, należy ustawić errno na zero przed wywołaniem tej
funcji, i następnie sprawdzić, czy errno jest niezerowe, jeśli funkcja zwróci wartość -1).
• Jeśli name odpowiada jakiejś nazwie opcji, to zwracana jest wartość dodatnia, gdy ta opcja jest
wspierana, w przeciwnym wypadku zwracane jest -1.
• W przeciwnym wypadku zwracana jest bieżąca wartość opcji lub ograniczenia. Wartość ta nie będzie
bardziej restrykcyjna niż odpowiednia wartość dostępna w pliku <unistd.h> lub <limits.h> w czasie
kompilowania aplikacji.
BŁĘDY
EACCES (pathconf()) Brak uprawnień do przeszukiwania jednego z katalogów w ścieżce zaczynającej path.
EBADF (fpathconf()) fd nie jest prawidłowym deskryptorem pliku.
EINVAL name jest niepoprawne.
EINVAL Ta implementacja nie wspiera skojarzenia name z podanym plikiem.
ELOOP (pathconf()) Podczas rozwiązywania path napotkano zbyt wiele dowiązań symbolicznych.
ENAMETOOLONG
(pathconf()) path jest za długa.
ENOENT (pathconf()) Składnik ścieżki path nie istnieje lub path jest pustym łańcuchem znaków.
ENOTDIR
(pathconf()) Jeden ze składników ścieżki path nie jest katalogiem.
ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
┌──────────────────────────────────────────────────────────────┬────────────────────────┬───────────────┐
│ Interfejs │ Atrybut │ Wartość │
├──────────────────────────────────────────────────────────────┼────────────────────────┼───────────────┤
│ fpathconf(), pathconf() │ Bezpieczeństwo wątkowe │ MT-bezpieczne │
└──────────────────────────────────────────────────────────────┴────────────────────────┴───────────────┘
STANDARDY
POSIX.1-2008.
HISTORIA
POSIX.1-2001.
UWAGI
W danym katalogu mogą istnieć pliki o nazwach dłuższych niż wartość zwrócona dla name równego
_PC_NAME_MAX.
Niektóre ze zwracanych wartości mogą być olbrzymie, więc nie nadają się do alokowania pamięci.
ZOBACZ TAKŻE
getconf(1), open(2), statfs(2), confstr(3), sysconf(3)
TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Adam Byrtek <alpha@irc.pl>, Andrzej
Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Robert Luberda <robert@debian.org>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać
zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ
ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-
list@lists.sourceforge.net.
Linux man-pages 6.9.1 2 maja 2024 r. fpathconf(3)