Provided by: manpages-pl-dev_0.6-2_all bug

NAZWA

       lseek - zmiana pozycji w pliku dla odczytu/zapisu

SKŁADNIA

       #include <sys/types.h>
       #include <unistd.h>

       off_t lseek(int fildes, off_t offset, int whence);

OPIS

        Uwaga! To tłumaczenie może być nieaktualne!

       Funkcja  lseek  zmienia  przesunięcie  dla  deskryptora  pliku  fildes na wartość podaną w
       argumencie offset, zgodnie z dyrektywą whence w następujący sposób:

       SEEK_SET
              Przesunięcie jest ustawiane na offset bajtów.

       SEEK_CUR
              Przesunięcie jest ustawiane na aktualną pozycję plus offset bajtów.

       SEEK_END
              Przesunięcie jest ustawiane na rozmiar pliku plus offset bajtów.

       Funkcja lseek umożliwia ustawienie przesunięcia w  pliku  poza  istniejący  koniec  pliku.
       Jeśli później w tym miejscu zostaną zapisane jakieś dane, to kolejne odczyty danych z luki
       zwrócą bajty zerowe (aż do czasu, gdy dane zostaną rzeczywiście w tej luce zapisane).

WARTOŚĆ ZWRACANA

       Po pomyślnym zakończeniu  lseek  zwraca  ustawione  przesunięcie,  liczone  w  bajtach  od
       początku  pliku.  W przeciwnym wypadku zwracane jest (off_t)-1 oraz ustawiane jest errno w
       sposób wskazujący rodzaj błędu.

BŁĘDY

       EBADF  fildes nie jest otwartym deskryptorem pliku.

       ESPIPE fildes jest związany z potokiem, gniazdem, lub FIFO.

       EINVAL whence jest nieprawidłową wartością.

ZGODNE Z

       SVr4, POSIX, BSD 4.3

OGRANICZENIA

       urządzenie musi wspierać tę operację.

       Ograniczenia specyficzne dla Linuksa, to: użycie lseek na urządzeniu  terminalowym  zwraca
       ESPIPE.  Inne  systemy  zwracają liczbę zapisanych znaków, używając SEEK_SET do ustawiania
       licznika. Niektóre urządzenia, np.  /dev/null nie powodują wystąpienia błędu  ESPIPE,  ale
       zwracają wskaźnik o nieokreślonej wartości.

UWAGI

       Podczas  konwersji  starego  kodu,  należy  podstawiać zamiast wartości whence następujące
       makra:

         stare   nowe
       0       SEEK_SET
       1       SEEK_CUR
       2       SEEK_END
       L_SET   SEEK_SET
       L_INCR  SEEK_CUR

       L_XTND  SEEK_END

       SVR1-3 zwracają long zamiast off_t, BSD zwraca int.

       Należy zauważyć, że deskryptory  plików  utworzone  przez  dup(2)  i  fork(2)  współdzielą
       wskaźnik bieżącej pozycji w pliku, więc wykonywanie operacji typu "seek" na takich plikach
       może prowadzić do wyścigu.

ZOBACZ TAKŻE

       dup(2), fork(2), open(2), fseek(3)

INFORMACJE O TŁUMACZENIU

       Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia  Manuali  i  może
       nie  być  aktualne.  W  razie  zauważenia  różnic  między  powyższym opisem a rzeczywistym
       zachowaniem opisywanego programu lub  funkcji,  prosimy  o  zapoznanie  się  z  oryginalną
       (angielską) wersją strony podręcznika za pomocą polecenia:

              man --locale=C 2 lseek

       Prosimy  o  pomoc  w  aktualizacji stron man - więcej informacji można znaleźć pod adresem
       http://sourceforge.net/projects/manpages-pl/.