.\" -*- coding: UTF-8 -*-
.\" Copyright (c) 1996 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" 5 Oct 2002, Modified by Michael Kerrisk <mtk.manpages@gmail.com>
.\" 	Updated for POSIX.1 2001
.\" 2004-12-17 Martin Schulze <joey@infodrom.org>, mtk
.\"	Removed errno declaration prototype, added notes
.\" 2006-02-09 Kurt Wall, mtk
.\"     Added non-POSIX errors
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH errno 3 "15 czerwca 2024 r." "Linux man\-pages 6.9.1" 
.SH NAZWA
errno \- numer ostatniego błędu
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
.\".P
.\".BI "extern int " errno ;
\fB#include <errno.h>\fP
.fi
.SH OPIS
.\"
Plik nagłówkowy \fI<errno.h>\fP definiuje zmienną całkowitą \fIerrno\fP,
która jest ustawiana w razie błędu przez wywołania systemowe oraz pewne
funkcje biblioteczne tak, aby zaznaczyć, co poszło źle.
.SS errno
Wartość zmiennej \fIerrno\fP jest istotna, tylko gdy wywołanie zwróciło błąd
(tj. \-1 w wypadku większości wywołań systemowych; \-1 lub NULL w wypadku
większości funkcji bibliotecznych), ale funkcja biblioteczna, która
zakończyła się sukcesem, także \fImoże\fP zmienić \fIerrno\fP. Żadne wywołanie
systemowe ani żadna funkcja biblioteczna nie ustawiają \fIerrno\fP na zero.
.P
W przypadku niektórych wywołań systemowych i funkcji bibliotecznych
(np. \fBgetpriority\fP(2)) \-1 jest poprawną wartością zwracaną również w razie
powodzenia. W takich wypadkach, aby sprawdzić, czy wywołanie lub funkcja
zakończyły się powodzeniem czy błędem, należy ustawić \fIerrno\fP na zero przed
wywołaniem, a następnie \- jeżeli wywołanie lub funkcja zwrócą wartość, która
mogłaby wskazywać na wystąpienie błędu \- sprawdzić, czy wartość \fIerrno\fP
jest niezerowa.
.P
.\"
\fIerrno\fP jest definiowana przez standard ISO C jako modyfikowalna l\-wartość
typu \fBint\fP, która nie może zostać jawnie zadeklarowana; \fIerrno\fP może być
makrem. Wartość \fIerrno\fP jest lokalna w obrębie wątku, jej zmiana w jednym
wątku nie wpływa na wartość w innym.
.SS "Numery i nazwy błędów"
Poprawne numery błędów są liczbami dodatnimi. Plik nagłówkowy
\fI<errno.h>\fP definiuje nazwy symboliczna dla wszystkich dodatnich
numerów błędów, które mogą wystąpić w zmiennej \fIerrno\fP.
.P
Każdej nazwie błędu określonej przez POSIX.1 musi odpowiadać inna wartość z
wyjątkiem \fBEAGAIN\fP i \fBEWOULDBLOCK\fP, które mogą mieć tę samą wartość. W
Linuksie mają one taką samą wartość na wszystkich architekturach.
.P
Numery błędów, które odpowiadają nazwom symbolicznym, mogą być różne w
różnych systemach uniksowych, a nawet mogą się różnić pomiędzy
architekturami linuksowymi. Dlatego poniższa lista nazw błędów nie zawiera
numerycznych wartości kodów błędów. Można użyć funkcji \fBperror\fP(3) i
\fBstrerror\fP(3) do skonwertowania nazw do odpowiadających im tekstowych
komunikatów błędów.
.P
Używając polecenia \fBerrno\fP(1) (z pakietu \fImoreutils\fP) w dowolnym systemie
linuksowym, można uzyskać listę wszystkich symbolicznych nazw błędów i
odpowiadających im numerów błędów:
.P
.in +4n
.EX
$ \fBerrno \-l\fP
EPERM 1 Operacja niedozwolona
ENOENT 2 Nie ma takiego pliku ani katalogu
ESRCH 3 Nie ma takiego procesu
EINTR 4 Przerwane wywołanie systemowe
EIO 5 Błąd wejścia/wyjścia
\&...
.EE
.in
.P
Polecenia \fBerrno\fP(1) można także użyć do wyszukania indywidualnych kodów i
nazw błędów oraz do wyszukania błędów po ich opisach, tak jak w poniższych
przykładach:
.P
.in +4n
.EX
$ \fBerrno 2\fP
ENOENT 2 Nie ma takiego pliku ani katalogu
$ \fBerrno ESRCH\fP
ESRCH 3 Nie ma takiego procesu
$ \fBerrno \-s "brak dostępu"\fP
EACCES 13 Brak dostępu
.EE
.in
.\".P
.\" POSIX.1 (2001 edition) lists the following symbolic error names.  Of
.\" these, \fBEDOM\fP and \fBERANGE\fP are in the ISO C standard.  ISO C
.\" Amendment 1 defines the additional error number \fBEILSEQ\fP for
.\" coding errors in multibyte or wide characters.
.\"
.SS "Lista nazw błędów"
W poniższej liście symbolicznych nazw błędów, pewne nazwy oznaczono w
następujący sposób:
.TP 
\fIPOSIX.1\-2001\fP
Nazwa jest definiowana przez POSIX.1\-2001, jak i przez późniejsze wersje
standardu POSIX.1, chyba że zaznaczono, że jest inaczej.
.TP 
\fIPOSIX.1\-2008\fP
Nazwa jest definiowana przez POSIX.1\-2008, ale nie była obecna we
wcześniejszych standardach POSIX.1.
.TP 
\fIC99\fP
Nazwa jest zdefiniowana przez standard C99.
.P
Poniżej przedstawiono listę symbolicznych nazw błędów, które są zdefiniowane
pod Linuksem:
.TP  16
\fBE2BIG\fP
Lista argumentów za długa (POSIX.1\-2001).
.TP 
\fBEACCES\fP
Brak dostępu (POSIX.1\-2001).
.TP 
\fBEADDRINUSE\fP
Adres jest już w użyciu (POSIX.1\-2001).
.TP 
\fBEADDRNOTAVAIL\fP
.\" EADV is only an error on HURD(?)
Niedostępny adres (POSIX.1\-2001).
.TP 
\fBEAFNOSUPPORT\fP
Rodzina adresów nieobsługiwana (POSIX.1\-2001).
.TP 
\fBEAGAIN\fP
Zasoby chwilowo niedostępne (może mieć tę samą wartość, co \fBEWOULDBLOCK\fP)
(POSIX.1\-2001).
.TP 
\fBEALREADY\fP
Operacja jest już wykonywana (POSIX.1\-2001).
.TP 
\fBEBADE\fP
Błędna wymiana.
.TP 
\fBEBADF\fP
Błędny deskryptor pliku (POSIX.1\-2001).
.TP 
\fBEBADFD\fP
Deskryptor pliku w złym stanie.
.TP 
\fBEBADMSG\fP
Błędny komunikat (POSIX.1\-2001).
.TP 
\fBEBADR\fP
Błędny deskryptor żądania.
.TP 
\fBEBADRQC\fP
Zły kod żądania.
.TP 
\fBEBADSLT\fP
.\" EBFONT is defined but appears not to be used by kernel or glibc.
Błędny kanał.
.TP 
\fBEBUSY\fP
Urządzenie lub zasoby zajęte (POSIX.1\-2001).
.TP 
\fBECANCELED\fP
Operacja anulowana (POSIX.1\-2001).
.TP 
\fBECHILD\fP
Brak procesów potomnych (POSIX.1\-2001).
.TP 
\fBECHRNG\fP
Numer kanału poza zakresem.
.TP 
\fBECOMM\fP
Błąd komunikacji podczas wysyłania.
.TP 
\fBECONNABORTED\fP
Połączenie przerwane (POSIX.1\-2001).
.TP 
\fBECONNREFUSED\fP
Połączenie odrzucone (POSIX.1\-2001).
.TP 
\fBECONNRESET\fP
Połączenie zerwane (przez drugą stronę) (POSIX.1\-2001).
.TP 
\fBEDEADLK\fP
Uniknięto zakleszczenia zasobów (POSIX.1\-2001).
.TP 
\fBEDEADLOCK\fP
Na większość architektur \[em] synonim \fBEDEADLK\fP. Na niektórych
architekturach (np. linuksowym MIPS, PowerPC, SPARC) jest to oddzielny kod
błędu \[Bq]Błąd zakleszczenia blokowania pliku\[rq].
.TP 
\fBEDESTADDRREQ\fP
Wymagany jest adres docelowy (POSIX.1\-2001).
.TP 
\fBEDOM\fP
.\" EDOTDOT is defined but appears to be unused
Argument spoza dziedziny funkcji matematycznej (POSIX.1, C99).
.TP 
\fBEDQUOT\fP
.\" POSIX just says "Reserved"
Przekroczony limit dyskowy (POSIX.1\-2001).
.TP 
\fBEEXIST\fP
Plik istnieje (POSIX.1\-2001).
.TP 
\fBEFAULT\fP
Błędny adres (POSIX.1\-2001).
.TP 
\fBEFBIG\fP
Plik zbyt duży (POSIX.1\-2001).
.TP 
\fBEHOSTDOWN\fP
Urządzenie jest wyłączone.
.TP 
\fBEHOSTUNREACH\fP
Brak trasy do hosta (POSIX.1\-2001).
.TP 
\fBEHWPOISON\fP
Strona pamięci ma błąd sprzętowy.
.TP 
\fBEIDRM\fP
Identyfikator został usunięty (POSIX.1\-2001).
.TP 
\fBEILSEQ\fP
Błędny lub niepełny znak wielobajtowy (POSIX.1, C99).
.IP
Komunikat tutaj pokazany pochodzi z opisu tego błędu w bibliotece glibc. W
standardzie POSIX.1 ten błąd jest opisany jako \[Bq]Niepoprawna sekwencja
bajtów\[rq].
.TP 
\fBEINPROGRESS\fP
Operacja jest właśnie wykonywana (POSIX.1\-2001).
.TP 
\fBEINTR\fP
Przerwane wywołanie systemowe (POSIX.1\-2001); patrz \fBsignal\fP(7)
.TP 
\fBEINVAL\fP
Zły argument (POSIX.1\-2001).
.TP 
\fBEIO\fP
Błąd wejścia/wyjścia (POSIX.1\-2001).
.TP 
\fBEISCONN\fP
Gniazdo już jest połączone (POSIX.1\-2001).
.TP 
\fBEISDIR\fP
Jest katalogiem (POSIX.1\-2001).
.TP 
\fBEISNAM\fP
Jest plikiem nazwanym.
.TP 
\fBEKEYEXPIRED\fP
Klucz wygasł.
.TP 
\fBEKEYREJECTED\fP
Klucz został odrzucony przez usługę.
.TP 
\fBEKEYREVOKED\fP
Klucz został unieważniony.
.TP 
\fBEL2HLT\fP
Poziom 2 zatrzymany.
.TP 
\fBEL2NSYNC\fP
Poziom 2 niezsynchronizowany.
.TP 
\fBEL3HLT\fP
Poziom 3 zatrzymany.
.TP 
\fBEL3RST\fP
Poziom 3 zatrzymany.
.TP 
\fBELIBACC\fP
Brak dostępu do wymaganej biblioteki dzielonej.
.TP 
\fBELIBBAD\fP
Próba użycia uszkodzonej biblioteki dzielonej.
.TP 
\fBELIBMAX\fP
Próba łączenia ze zbyt wieloma bibliotekami dzielonymi.
.TP 
\fBELIBSCN\fP
Sekcja \&.lib w a.out jest uszkodzona.
.TP 
\fBELIBEXEC\fP
Nie można bezpośrednio uruchomić biblioteki dzielonej.
.TP 
\fBELNRNG\fP
.\" ELNRNG appears to be used by a few drivers
Numer kanału poza zakresem.
.TP 
\fBELOOP\fP
Za duże zagnieżdżenie dowiązań symbolicznych (POSIX.1\-2001).
.TP 
\fBEMEDIUMTYPE\fP
Niewłaściwy typ medium.
.TP 
\fBEMFILE\fP
Zbyt wiele otwartych plików (POSIX.1\-2001); zwykle spowodowane
przekroczeniem limitu zasobów \fBRLIMIT_NOFILE\fP opisanego w
\fBgetrlimit\fP(2). Może być spowodowane również przekroczeniem limitu
określonego w \fI/proc/sys/fs/nr_open\fP.
.TP 
\fBEMLINK\fP
Za dużo dowiązań (POSIX.1\-2001).
.TP 
\fBEMSGSIZE\fP
Komunikat za długi (POSIX.1\-2001).
.TP 
\fBEMULTIHOP\fP
.\" POSIX says "Reserved"
Próba przejścia przez zbyt wiele ruterów (POSIX.1\-2001).
.TP 
\fBENAMETOOLONG\fP
.\" ENAVAIL is defined, but appears not to be used
Za długa nazwa pliku (POSIX.1\-2001).
.TP 
\fBENETDOWN\fP
Sieć jest wyłączona (POSIX.1\-2001).
.TP 
\fBENETRESET\fP
Połączenie zerwane przez sieć (POSIX.1\-2001).
.TP 
\fBENETUNREACH\fP
Sieć jest niedostępna (POSIX.1\-2001).
.TP 
\fBENFILE\fP
Zbyt wiele otwartych plików (POSIX.1\-2001); pod Linuksem zwykle jest to
rezultat natrafienia na limit \fI/proc/sys/fs/file\-max\fP (patrz \fBproc\fP(5)).
.TP 
\fBENOANO\fP
.\" ENOANO appears to be used by a few drivers
\[Bq]No anode\[rq] \[em] dosł. brak anody (?!). /Domniemywa się, że mogło
chodzić tu o wariant \[Bq]inode\[rq] \[em] i\-węzła lub o \[Bq]allocation
node\[rq] \[em] węzeł alokacji \[em] przyp. tłum./
.TP 
\fBENOBUFS\fP
.\" ENOCSI is defined but appears to be unused.
Brak miejsca w buforze (POSIX.1 (opcja XSI STREAMS)).
.TP 
\fBENODATA\fP
Atrybut o takiej nazwie nie istnieje lub proces nie ma dostępu do tego
atrybutu, zob. \fBxattr\fP(7).
.IP
W POSIX.1\-2001 (opcja XSI STREAMS), błąd ten opisano jako \[Bq]Nie jest
dostępny żaden komunikat na początku kolejki odczytu STREAM\[rq]
.TP 
\fBENODEV\fP
Nie ma takiego urządzenia (POSIX.1\-2001).
.TP 
\fBENOENT\fP
Nie ma takiego pliku ani katalogu (POSIX.1\-2001).
.IP
Zwykle błąd ten jest wynikiem nieistnienia podanej ścieżki lub nieistnienia
jednej z części składowej (katalogu) ścieżki lub oznacza, że podana ścieżka
jest nieprawidłowym dowiązaniem symbolicznym.
.TP 
\fBENOEXEC\fP
Błędny format pliku wykonywalnego (POSIX.1\-2001).
.TP 
\fBENOKEY\fP
Wymagany klucz niedostępny.
.TP 
\fBENOLCK\fP
Brak dostępnych blokad (POSIX.1\-2001).
.TP 
\fBENOLINK\fP
.\" POSIX says "Reserved"
Połączenie zostało przerwane (POSIX.1\-2001).
.TP 
\fBENOMEDIUM\fP
Brak medium.
.TP 
\fBENOMEM\fP
Za mało miejsca/nie można przydzielić pamięci (POSIX.1\-2001).
.TP 
\fBENOMSG\fP
Brak komunikatu o pożądanym typie (POSIX.1\-2001).
.TP 
\fBENONET\fP
Maszyna nie znajduje się w tej sieci.
.TP 
\fBENOPKG\fP
Pakiet nie jest zainstalowany.
.TP 
\fBENOPROTOOPT\fP
Protokół niedostępny (POSIX.1\-2001).
.TP 
\fBENOSPC\fP
Brak miejsca na urządzeniu (POSIX.1\-2001).
.TP 
\fBENOSR\fP
Brak dodatkowych strumieni (POSIX.1 (opcja XSI STREAMS)).
.TP 
\fBENOSTR\fP
Nie jest strumieniem (POSIX.1 (opcja XSI STREAMS)).
.TP 
\fBENOSYS\fP
Niezaimplementowana funkcja (POSIX.1\-2001).
.TP 
\fBENOTBLK\fP
Wymagane urządzenie blokowe.
.TP 
\fBENOTCONN\fP
Drugi koniec nie jest połączony (POSIX.1\-2001).
.TP 
\fBENOTDIR\fP
Nie jest katalogiem (POSIX.1\-2001).
.TP 
\fBENOTEMPTY\fP
.\" ENOTNAM is defined but appears to be unused.
Katalog nie jest pusty (POSIX.1\-2001).
.TP 
\fBENOTRECOVERABLE\fP
Stan bez możliwości wyjścia (POSIX.1\-2008).
.TP 
\fBENOTSOCK\fP
Nie jest gniazdem (POSIX.1\-2001).
.TP 
\fBENOTSUP\fP
Operacja nieobsługiwana (POSIX.1\-2001).
.TP 
\fBENOTTY\fP
Niewłaściwa operacja kontrolna (ioctl) wejścia/wyjścia (POSIX.1\-2001).
.TP 
\fBENOTUNIQ\fP
Nazwa nie jest unikatowa w sieci.
.TP 
\fBENXIO\fP
Nie ma takiego urządzenia ani adresu (POSIX.1\-2001).
.TP 
\fBEOPNOTSUPP\fP
Operacja na gnieździe nieobsługiwana (POSIX.1\-2001).
.IP
(\fBENOTSUP\fP i \fBEOPNOTSUPP\fP mają pod Linuksem tę samą wartość, chociaż
zgodnie z POSIX.1 te wartość powinny się różnić)
.TP 
\fBEOVERFLOW\fP
Wartość za duża dla zdefiniowanego typu danych (POSIX.1\-2001).
.TP 
\fBEOWNERDEAD\fP
.\" Used at least by the user-space side of rubost mutexes
Właściciel zmarł (POSIX.1\-2008).
.TP 
\fBEPERM\fP
Operacja niedozwolona (POSIX.1\-2001).
.TP 
\fBEPFNOSUPPORT\fP
Nieobsługiwana rodzina protokołów.
.TP 
\fBEPIPE\fP
Przerwany potok (POSIX.1\-2001).
.TP 
\fBEPROTO\fP
Błąd protokołu (POSIX.1\-2001).
.TP 
\fBEPROTONOSUPPORT\fP
Protokół nieobsługiwany (POSIX.1\-2001).
.TP 
\fBEPROTOTYPE\fP
Typ protokołu nie pasuje do gniazda (POSIX.1\-2001).
.TP 
\fBERANGE\fP
Za duży wynik (POSIX.1, C99).
.TP 
\fBEREMCHG\fP
Zmienił się adres drugiego końca.
.TP 
\fBEREMOTE\fP
Obiekt jest obiektem zdalnym (podmontowanym przez NFS).
.TP 
\fBEREMOTEIO\fP
Błąd wejścia/wyjścia w odległym systemie.
.TP 
\fBERESTART\fP
Należy wznowić przerwane wywołanie systemowe.
.TP 
\fBERFKILL\fP
.\" ERFKILL appears to be used by various drivers
Operacja niemożliwa ze względu na RF\-kill.
.TP 
\fBEROFS\fP
System plików wyłącznie do odczytu (POSIX.1\-2001).
.TP 
\fBESHUTDOWN\fP
Wysyłanie po zamknięciu gniazda jest niemożliwe.
.TP 
\fBESPIPE\fP
Błędne przesunięcie (POSIX.1\-2001).
.TP 
\fBESOCKTNOSUPPORT\fP
Nieobsługiwany typ gniazda.
.TP 
\fBESRCH\fP
.\" ESRMNT is defined but appears not to be used
Nie ma takiego procesu (POSIX.1\-2001).
.TP 
\fBESTALE\fP
Nieaktualny uchwyt pliku (POSIX.1\-2001).
.IP
Ten błąd może wystąpić na systemie plików NFS i na innych systemach plików.
.TP 
\fBESTRPIPE\fP
Błąd potoku biblioteki strumieni.
.TP 
\fBETIME\fP
Upłynął czas stopera (POSIX.1 (opcja XSI STREAMS)).
.IP
(POSIX.1 mówi \[Bq]Przekroczenie czasu STREAM \fBioctl\fP(2)\[rq]).
.TP 
\fBETIMEDOUT\fP
Przekroczony czas oczekiwania na połączenie (POSIX.1\-2001).
.TP 
\fBETOOMANYREFS\fP
.\" ETOOMANYREFS seems to be used in net/unix/af_unix.c
Za dużo odniesień: dowiązanie niemożliwe.
.TP 
\fBETXTBSY\fP
Plik tekstowy zajęty (POSIX.1\-2001).
.TP 
\fBEUCLEAN\fP
Struktura wymaga wyczyszczenia.
.TP 
\fBEUNATCH\fP
Sterownik protokołu nie jest podłączony.
.TP 
\fBEUSERS\fP
Za dużo użytkowników.
.TP 
\fBEWOULDBLOCK\fP
Operacja zostałaby zablokowana (może mieć tę samą wartość, co \fBEAGAIN\fP)
(POSIX.1\-2001).
.TP 
\fBEXDEV\fP
Błędne dowiązanie pomiędzy różnymi urządzeniami (POSIX.1\-2001).
.TP 
\fBEXFULL\fP
Przepełniona wymiana.
.SH UWAGI
Powszechnym błędem jest robienie
.P
.in +4n
.EX
if (jakieśwywołanie() == \-1) {
    printf("jakieśwywołanie() zwróciło błąd\[rs]n");
    if (errno == ...) { ... }
}
.EE
.in
.P
ponieważ \fIerrno\fP niekoniecznie musi mieć tę samą wartość, jaką miało po
powrocie z \fIjakieśwywołanie()\fP (tj. mogła zostać zmieniona przez
\fBprintf\fP(3)).  Jeżeli wartość \fIerrno\fP powinna być utrzymana pomiędzy
wywołaniami funkcji, musi być zachowywana:
.P
.in +4n
.EX
if (jakieśwywołanie() == \-1) {
    int errsv = errno;
    printf("jakieśwywołanie() zwróciło błąd\[rs]n");
    if (errsv == ...) { ... }
}
.EE
.in
.P
Proszę zauważyć, że API wątków POSIX \fInie\fP ustawia \fIerrno\fP w razie
wystąpienia błędu. Przy niepowodzeniu ustawiany jest numer błędu jako wynik
funkcji. Te numery błędów mają takie samo znaczenie, jak numery błędów
zwracane w \fIerrno\fP przez inne interfejsy programistyczne.
.P
Na niektórych antycznych systemach \fI<errno.h>\fP był nieobecny lub
nie deklarował \fIerrno\fP, tak że trzeba było  zadeklarować \fIerrno\fP samemu
(tj. \fIextern int errno\fP). \fBNie należy tego robić\fP. Już od dawna nie ma
takiej potrzeby, a może  powodować problemy, gdy są używane nowoczesne
wersje biblioteki C.
.SH "ZOBACZ TAKŻE"
.\" In the moreutils package
\fBerrno\fP(1), \fBerr\fP(3), \fBerror\fP(3), \fBperror\fP(3), \fBstrerror\fP(3)
.PP
.SH TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika:
Adam Byrtek <alpha@irc.pl>,
Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>,
Paweł Krawczyk (eglibc) <kravietz@ceti.pl>,
Jakub Bogusz (eglibc) <qboosh@pld-linux.org>,
Robert Luberda <robert@debian.org>
i
Michał Kułach <michal.kulach@gmail.com>
.
.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 .
