.\" -*- coding: UTF-8 -*-
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
.\" and Copyright (C) 2017 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" %%%LICENSE_START(VERBATIM)
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one.
.\"
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date.  The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein.  The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\" %%%LICENSE_END
.\"
.\" Modified Wed Jul 28 11:12:26 1993 by Rik Faith (faith@cs.unc.edu)
.\"
.\" FIXME Probably all of the following should be documented:
.\"     _PC_SYNC_IO,
.\"     _PC_ASYNC_IO,
.\"     _PC_PRIO_IO,
.\"     _PC_SOCK_MAXBUF,
.\"     _PC_FILESIZEBITS,
.\"     _PC_REC_INCR_XFER_SIZE,
.\"     _PC_REC_MAX_XFER_SIZE,
.\"     _PC_REC_MIN_XFER_SIZE,
.\"     _PC_REC_XFER_ALIGN,
.\"     _PC_ALLOC_SIZE_MIN,
.\"     _PC_SYMLINK_MAX,
.\"     _PC_2_SYMLINKS
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH FPATHCONF 3 "13 lipca 2017 r." GNU "Podręcznik programisty Linuksa"
.SH NAZWA
fpathconf, pathconf \- pobranie konfiguracji dla plików
.SH SKŁADNIA
.nf
\fB#include <unistd.h>\fP
.PP
\fBlong fpathconf(int \fP\fIfd\fP\fB, int \fP\fIname\fP\fB);\fP
\fBlong pathconf(const char *\fP\fIpath\fP\fB, int \fP\fIname\fP\fB);\fP
.fi
.SH OPIS
Funkcja \fBfpathconf\fP() pobiera wartość opcji konfiguracyjnej \fIname\fP dla
otwartego deskryptora pliku \fIfd\fP.
.PP
Funkcja \fBpathconf\fP() pobiera wartość opcji konfiguracyjnej \fIname\fP dla
pliku o nazwie \fIpath\fP.
.PP
Odpowiednie makra zdefiniowane w \fI<unistd.h>\fP są wartościami
minimalnymi. Jeśli aplikacja chce korzystać z wartości, które mogą się
zmieniać, to może wywołać \fBfpathconf\fP() lub \fBpathconf\fP(), które zwracają
bardziej liberalne wyniki.
.PP
Przekazanie w argumencie \fIname\fP jednej z poniższych wartości zwraca
następujące opcje konfiguracji:
.TP 
\fB_PC_LINK_MAX\fP
Maksymalna liczba dowiązań do pliku. Jeśli \fIfd\fP lub \fIpath\fP odnoszą się do
katalogu, to wartość dotyczy całego katalogu. Odpowiadające temu makro to
\fB_POSIX_LINK_MAX\fP.
.TP 
\fB_PC_MAX_CANON\fP
Maksymalna długość sformatowanej linii wejściowej, przy czym \fIfd\fP lub
\fIpath\fP musi odnosić się do terminala. Odpowiadające temu makro to
\fB_POSIX_MAX_CANON\fP.
.TP 
\fB_PC_MAX_INPUT\fP
Maksymalna długość linii wejściowej, przy czym \fIfd\fP lub \fIpath\fP musi
odnosić się do terminala. Odpowiadające temu makro to \fB_POSIX_MAX_INPUT\fP.
.TP 
\fB_PC_NAME_MAX\fP
Maksymalna długość nazwy pliku w katalogu \fIpath\fP lub \fIfd\fP, jaką proces
może utworzyć. Odpowiadające temu makro to \fB_POSIX_NAME_MAX\fP.
.TP 
\fB_PC_PATH_MAX\fP
Maksymalna długość względnej ścieżki, gdy \fIpath\fP lub \fIfd\fP jest katalogiem
bieżącym. Odpowiadające temu makro to \fB_POSIX_PATH_MAX\fP.
.TP 
\fB_PC_PIPE_BUF\fP
Maksymalna liczba bajtów, które można niepodzielnie (atomicznie) zapisać do
potoku lub kolejki FIFO. W przypadku \fBfpathconf\fP() argument \fIfd\fP powinien
odnosić się do potoku lub kolejki FIFO. Dla \fBfpathconf\fP(), argument \fIpath\fP
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 \fB_POSIX_PIPE_BUF\fP.
.TP 
\fB_PC_CHOWN_RESTRICTED\fP
Zwraca wartość dodatnią, jeśli użycie \fBchown\fP(2) i \fBfchown\fP(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
\fB_POSIX_CHOWN_RESTRICTED\fP.
.IP
Jeśli \fIfd\fP lub \fIpath\fP odnoszą się do katalogu, to wartość zwracana dotyczy
to wszystkich plików w tym katalogu.
.TP 
\fB_PC_NO_TRUNC\fP
Zwraca wartość niezerową, jeśli dostęp do plików o nazwach dłuższych od
\fB_POSIX_NAME_MAX\fP powoduje błąd. Odpowiadające temu makro to
\fB_POSIX_NO_TRUNC\fP.
.TP 
\fB_PC_VDISABLE\fP
Zwraca wartość niezerową, jeśli przetwarzanie znaków specjalnych może być
wyłączone, przy czym \fIfd\fP lub \fIpath\fP muszą odnosić się do terminala.
.SH "WARTOŚĆ ZWRACANA"
Funkcje te zwracają jedną z następujących wartości:
.IP * 3
W razie wystąpienia błędu zwracane jest \-1 i ustawiana jest odpowiednia
wartość zmiennej \fIerrno\fP (na przykład na \fBEINVAL\fP wskazujące, że \fIname\fP
jest niepoprawna).
.IP *
Jeśli \fIname\fP 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 \fIerrno\fP. (W celu odróżnienia nieokreślalnego
ograniczenia od innego błędu, należy ustawić \fIerrno\fP na zero przed
wywołaniem tej funcji, i następnie sprawdzić, czy \fIerrno\fP jest niezerowe,
jeśli funkcja zwróci wartość \-1).
.IP *
Jeśli \fIname\fP odpowiada jakiejś nazwie opcji, to zwracana jest wartość
dodatnia, gdy ta opcja jest wspierana, w przeciwnym wypadku zwracane jest
\-1.
.IP *
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 \fI<unistd.h>\fP lub \fI<limits.h>\fP w
czasie kompilowania aplikacji.
.SH BŁĘDY
.TP 
\fBEACCES\fP
(\fBpathconf\fP()) Brak uprawnień do przeszukiwania jednego z katalogów w
ścieżce zaczynającej \fIpath\fP.
.TP 
\fBEBADF\fP
(\fBfpathconf\fP()) \fIfd\fP nie jest prawidłowym deskryptorem pliku.
.TP 
\fBEINVAL\fP
\fIname\fP jest niepoprawne.
.TP 
\fBEINVAL\fP
Ta implementacja nie wspiera skojarzenia \fIname\fP z podanym plikiem.
.TP 
\fBELOOP\fP
(\fBpathconf\fP()) Podczas rozwiązywania \fIpath\fP napotkano zbyt wiele dowiązań
symbolicznych.
.TP 
\fBENAMETOOLONG\fP
(\fBpathconf\fP())  \fIpath\fP jest za długa.
.TP 
\fBENOENT\fP
(\fBpathconf\fP()) Składnik ścieżki \fIpath\fP nie istnieje lub \fIpath\fP jest
pustym łańcuchem znaków.
.TP 
\fBENOTDIR\fP
(\fBpathconf\fP()) Jeden ze składników ścieżki \fIpath\fP nie jest katalogiem.
.SH ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku
\fBattributes\fP(7).
.TS
allbox;
lbw23 lb lb
l l l.
Interfejs	Atrybut	Wartość
T{
\fBfpathconf\fP(),
\fBpathconf\fP()
T}	Bezpieczeństwo wątkowe	MT\-Safe
.TE
.SH "ZGODNE Z"
POSIX.1\-2001, POSIX.1\-2008.
.SH UWAGI
W danym katalogu mogą istnieć pliki o nazwach dłuższych niż wartość zwrócona
dla \fIname\fP równego \fB_PC_NAME_MAX\fP.
.PP
Niektóre ze zwracanych wartości mogą być olbrzymie, więc nie nadają się do
alokowania pamięci.
.SH "ZOBACZ TAKŻE"
\fBgetconf\fP(1), \fBopen\fP(2), \fBstatfs\fP(2), \fBconfstr\fP(3), \fBsysconf\fP(3)
.SH "O STRONIE"
Angielska wersja tej strony pochodzi z wydania 5.10 projektu Linux
\fIman\-pages\fP. 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/.
.PP
.SH 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>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
