Provided by:
manpages-pl-dev_20060617-3_all 
NAZWA
errno - numer ostatniego bldu
SK/LADNIA
#include <errno.h>
OPIS
Plik naglowkowy <errno.h> definiuje zmienn calkowit errno, ktora jest
ustawiana w razie bldu przez wywolania systemowe oraz pewne funkcje
biblioteczne tak, aby zaznaczy, co poszlo le. Warto ta jest istotna
tylko gdy wywolanie zwrocilo bld (zwykle -1), ale funkcja biblioteczna,
ktora zakoczyla si sukcesem, take moe zmieni errno.
Czasami, gdy -1 jest take poprawn wartoci zwracan, aby wykry bldy naley
przed wywolaniem wyzerowa errno.
errno jest definiowana przez standard ISO C jako modyfikowalna l-warto
typu int, ktore nie moe zosta jawnie zadeklarowana; errno moe by
makrem. Warto errno jest lokalna w obrbie wtku, jej zmiana w jednym
wtku nie wplywa na warto w innym.
Wszystkie poprawne numery bldow s rone od zera, funkcja biblioteczna
nigdy nie przypisuje errno zera. Kadej nazwie bldu okrelonej przez
POSIX.1 musi odpowiada inna warto z wyjtkiem EAGAIN i EWOULDBLOCK,
ktore mog mie t sam warto.
POSIX.1 (wydanie z 2001 roku) wyszczegolnia nastpujce symboliczne nazwy
bldow. Dwie z nich EDOM oraz ERANGE s zawarte take w standardzie ISO C.
Pierwsza poprawka ISO C definiuje dodatkowy numer bldu EILSEQ dla
kodowania bldow w wielobajtowych lub szerokich znakach.
E2BIG Lista argumentow za dluga
EACCES Brak dostpu
EADDRINUSE
Adres jest uywany
EADDRNOTAVAIL
Adres niedostpny
EAFNOSUPPORT
Niewspierana rodzina adresow
EAGAIN Zasoby chwilowo niedostpne
EALREADY
Polczenie trwa
EBADF Bldny deskryptor pliku
EBADMSG
Bldny komunikat
EBUSY Zasob zajty
ECANCELED
Operacja anulowana
ECHILD Brak procesow potomnych
ECONNABORTED
Polczenie przerwane
ECONNREFUSED
Odmowa polczenia
ECONNRESET
Polczenie zrestartowane
EDEADLK
Uniknito zakleszczenia zasobow
EDESTADDRREQ
Wymagany jest adres docelowy
EDOM Bld dziedziny
EDQUOT Zarezerwowane
EEXIST Plik istnieje
EFAULT Bldny adres
EFBIG Plik jest za duy
EHOSTUNREACH
Host jest nieosigalny
EIDRM Usunito identyfikator
EILSEQ Nieprawidlowa kolejno bajtow
EINPROGRESS
Operacja jest ju wykonywana
EINTR Przerwane wywolanie funkcji
EINVAL Zly argument
EIO Bld wejcia/wyjcia
EISCONN
Gniazdo jest polczone
EISDIR Jest katalogiem
ELOOP Za duo poziomow dowiza symbolicznych
EMFILE Za duo otwartych plikow
EMLINK Za duo dowiza
EMSGSIZE
Nieodpowiednia dlugo bufora komunikatow
EMULTIHOP
Zarezerwowane
ENAMETOOLONG
Za dluga nazwa pliku
ENETDOWN
Sie jest wylczona
ENETRESET
Polczenie przerwane przez sie
ENETUNREACH
Sie jest niedostpna
ENFILE Za duo otwartych plikow w systemie
ENOBUFS
Brak dostpnej przestrzeni buforow
ENODATA
Brak komunikatow w naglowku czytanej kolejki STREAM
ENODEV Nie ma takiego urzdzenia
ENOENT Nie ma takiego pliku ani katalogu
ENOEXEC
Bldny format pliku wykonywalnego
ENOLCK Brak dostpnych blokad
ENOLINK
Zarezerwowane
ENOMEM Brak miejsca
ENOMSG Brak komunikatow zadanego rodzaju
ENOPROTOOPT
Protokol jest niedostpny
ENOSPC Brak miejsca na urzdzeniu
ENOSR Brak zasobow STREAM
ENOSTR To nie jest STREAM
ENOSYS Niezaimplementowana funkcja
ENOTCON
Gniazdo nie jest polczone
ENOTDIR
To nie jest katalog
ENOTEMPTY
Katalog nie jest pusty
ENOTSOCK
To nie jest gniazdo
ENOTSUP
Niedostpne
ENOTTY Nieodpowiednia operacja kontroli wejcia/wyjcia
ENXIO Brak urzdzenia lub adresu
EOPNOTSUPP
Operacja niedozwolona na gniedzie
EOVERFLOW
Warto za dua dla typu danych
EPERM Operacja niedozwolona
EPIPE Przerwany potok
EPROTO Bld protokolu
EPROTONOSUPPORT
Protokol nie wspierany
EPROTOTYPE
Niewlaciwy rodzaj protokolu dla gniazda
ERANGE Rezultat zbyt duy
EROFS System plikow wylcznie do odczytu
ESPIPE Nieprawidlowe przesunicie
ESRCH Nie ma takiego procesu
ESTALE Zarezerwowane
ETIME Timeout ioctl() dla STREAM
ETIMEDOUT
Operacja przeterminowana
ETXTBSY
Plik tekstowy jest zajty
EWOULDBLOCK
Operacja blokujca (moe to by ta sama warto, co dla EAGAIN)
EXDEV Nieprawidlowe dowizanie
UWAGI
Powszechnym bldem jest robienie
if (somecall() == -1) {
printf("somecall() zwrocilo bld\n");
if (errno == ...) { ... }
}
gdzie errno niekoniecznie musi mie t sam warto, jak mialo po powrocie z
somecall() (tj. mogla zosta zmieniona przez printf()). Jeeli warto
errno powinna by utrzymana pomidzy wywolaniami funkcji, musi by
zachowywana:
if (somecall() == -1) {
int errsv = errno;
printf("somecall() zwrocilo bld\n");
if (errsv == ...) { ... }
}
Powszechnie w tradycyjnym C deklarowalo si rcznie errno (np. extern
int errno) zamiast wlcza plik <errno.h>. Nie r'ob tego. To nie bdzie
dzialalo z nowoczesnymi wersjami biblioteki C. Jednake na (bardzo)
starych systemach Unix, <errno.h> moe nie istnie i ta deklaracja bdzie
potrzebna,
ZOBACZ TAKE
perror(3), strerror(3)
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.
2004-12-17 ERRNO(3)