pathconf

FPATHCONF(3)             Podręcznik programisty Linuksa             FPATHCONF(3)



NAZWA
       fpathconf, pathconf - pobranie konfiguracji dla plików

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 ustawiana jest
          odpowiednia wartość zmiennej errno (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-Safe │
       └────────────────────────┴────────────────────────┴─────────┘
ZGODNE Z
       POSIX.1-2001, POSIX.1-2008.

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)

O STRONIE
       Angielska wersja tej strony pochodzi z wydania 5.10 projektu Linux
       man-pages. Opis projektu, informacje dotyczące zgłaszania błędów oraz
       najnowszą wersję oryginału można znaleźć pod adresem
       https://www.kernel.org/doc/man-pages/.


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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ lub
       nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

       Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres
       manpages-pl-list@lists.sourceforge.net ⟨⟩.



GNU                             13 lipca 2017 r.                    FPATHCONF(3)