Provided by: manpages-pl-dev_0.7-1_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/.

Linux                                              2001-09-24                                           LSEEK(2)