Provided by: manpages-ru_0.98-4_all bug

ИМЯ

       pread,  pwrite  -  читает  из файлового дескриптора или пишет в него по
       заданному смещению

ОБЗОР

       #define _XOPEN_SOURCE 500

       #include <unistd.h>

       ssize_t pread(int fd, void *buf, size_t count, off_t offset);

       ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset);

ОПИСАНИЕ

       pread() читает count байт  из  файлового  дексриптора  fd  по  смещению
       offset  (от  начала  файла)  в буфер buf.  Позиция смещения в файле при
       этом не изменяется.

       pwrite() пишет count байт из буфера buf в  файловый  дескриптор  fd  по
       смещению offset.  Позиция смещения в файле при этом не изменяется.

       Файл,   на   который   указывает   дескриптор  fd  должен  поддерживать
       позиционирование.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       В случае успеха, возвращается  количество  прочитанных  или  записанных
       байт  (ноль  говорит о том, что ничего не было записано в случае pwrite
       или что достигнут конец файла в случае pread), или -1 в случае  ошибки,
       при этом значение errno содержит ошибку.

ОШИБКИ

       pread  может вернуть ошибку и установить errno в любое значение из тех,
       что устанавливаются для read(2) или  lseek(2).   pwrite  может  вернуть
       ошибку  и установить errno в любое значение из тех, что устанавливаются
       для write(2) или lseek(2).

СООТВЕТСТВИЕ СТАНДАРТАМ

       Unix98

ИСТОРИЯ

       Системные вызовы pread и pwrite были добавлен в Linux начиная с  версии
       2.1.60;  записи  в  таблице системных вызовов для i386 были добавлены в
       2.1.69.  Поддержка libc (включая эмуляцию на  старых  ядрах,  без  этих
       системных вызовов) была добавлена в glibc 2.1.

СМОТРИ ТАКЖЕ

       read(2), write(2), lseek(2)

ПЕРЕВОД

       Перевёл с английского Виктор Вислобоков <corochoone@perm.ru> 2004