Provided by: manpages-pl-dev_20060617-3_all bug

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)