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

NAZWA

       write - zapis do deskryptora pliku

SK/LADNIA

       #include <unistd.h>

       ssize_t write(int fd, const void *buf, size_t count);

OPIS

       write  zapisuje  maksymalnie  count  bajtow do pliku wskazywanego przez
       deskryptor fd.  Zapis nastpuje z bufora wskazywanego przez buf.   POSIX
       wymaga,  by read(), ktore moe pojawi si po zakoczeniu write(), zwrocilo
       nowe dane. Naley zauway, e nie wszystkie  systemy  plikow  s  zgodne  z
       POSIX.

WARTO ZWRACANA

       Po  pomylnym  zakoczeniu  zwracana  jest liczba zapisanych bajtow (zero
       oznacza  nie  zapisanie  niczego).  Po  bldzie  zwracane  jest   -1   i
       odpowiednio  ustawiane errno.  Jeli count jest rowne zero, a deskryptor
       pliku odnosi si do zwyklego pliku, zostanie zwrocone zero, nie powodujc
       adnych innych efektow.  Dla plikow specjalnych wyniki s nieprzenone.

B/LDY

       EBADF  fd  nie jest prawidlowym deskryptorem pliku lub nie jest otwarty
              dla zapisu.

       EINVAL fd jest dowizany do obiektu, ktory nie nadaje si do zapisu.

       EFAULT buf jest poza dostpn dla uytkownika przestrzeni adresow.

       EFBIG  Wykonano  prob  zapisu   do   pliku   przekraczajc   zaleny   od
              implementacji   maksymalny   rozmiar   pliku   lub  przekraczajc
              maksymalny  rozmian  pliku  dla  danego  procesu.   Ewentualnie,
              wystpila  proba zapisu na pozycji poza maksymaln dozwolon pozycj
              w pliku.

       EPIPE  fd  jest  podlczony  do  potoku,  lub  gniazda,  ktorego  koniec
              czytajcy  jest zamknity. Gdy wystpi taka sytuacja, proces piszcy
              rownie otrzyma sygnal SIGPIPE.  (Tak wic warto zwracana  podczas
              zapisu  jest  widoczna jedynie, gdy program przechwytuje blokuje
              lub ignoruje ten sygnal.)

       EAGAIN Wybrano nieblokujce we/wy (za pomoc O_NONBLOCK), a do potoku lub
              gniazda fd nie mona natychmiast zapisa danych.

       EINTR  Wywolanie    zostalo   przerwane   sygnalem   przed   zapisaniem
              jakichkolwiek danych.

       ENOSPC Na urzdzeniu zawierajcym plik, do ktorego odnosi si fd,  nie  ma
              miejsca na dane.

       EIO    Podczas modyfikacji i-wzla wystpil niskopoziomowy bld we/wy.

       Mog  wystpi  rownie inne bldy, zalene od rodzaju obiektu podlczonego do
       fd.

ZGODNE Z

       SVr4, SVID, POSIX, X/OPEN,  4.3BSD.  SVr4  dokumentuje  dodatkowe  kody
       bldow  EDEADLK,  ENOLCK,  ENOLNK, ENOSR, ENXIO i ERANGE. Pod SVr4 zapis
       moe zosta przerwany w kadej  chwili,  nie  za  tylko  przed  zapisaniem
       jakichkolwiek danych, zwracajc EINTR.

NOTES

       Pomylne  zakoczenie  write  nie  gwarantuje, e dane zostaly zapisane na
       dysku.  W  rzeczywistoci,  w  niektorych  bldnych  implementacjach  nie
       gwarantuje  to  nawet, e zostalo zarezerwowane miejsce na dane. Jedynym
       sposobem, aby te rzeczy zapewni jest wywolanie  fsync(2)  po  zapisaniu
       wszytkich danych.

ZOBACZ TAKE

       close(2),  fcntl(2),  fsync(2),  ioctl(2),  lseek(2), open(2), read(2),
       select(2), fwrite(3), writev(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.