Provided by: manpages-pl-dev_4.13-4_all bug

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).

       ┌────────────────────────┬────────────────────────┬─────────┐
       │InterfejsAtrybutWartość │
       ├────────────────────────┼────────────────────────┼─────────┤
       │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  listy  dyskusyjnej
       ⟨manpages-pl-list@lists.sourceforge.net⟩.