The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

readv (3)
  • readv (2) ( Solaris man: Системные вызовы )
  • readv (2) ( FreeBSD man: Системные вызовы )
  • readv (2) ( Русские man: Системные вызовы )
  • readv (2) ( Linux man: Системные вызовы )
  • >> readv (3) ( Русские man: Библиотечные вызовы )
  • readv (3) ( Linux man: Библиотечные вызовы )
  • readv (3) ( POSIX man: Библиотечные вызовы )
  •  

    НАЗВАНИЕ

    readv, writev - записывают и считывают данные из нескольких буферов  

    СИНТАКСИС

    #include <sys/uio.h>
    
    int readv(int filedes, const struct iovec *vector,
                  size_t count);
    
    int writev(int filedes, const struct iovec *vector,
                  size_t count);
    
     

    ОПИСАНИЕ

    Функция
    readv() cчитывает count блоков из файла, ассоциированного с описателем filedes, в несколько буферов, описанных в vector.

    Функция writev() записывает минимум count блоков, описанных в vector, в файл, ассоциированный с описателем filedes.

    vector указывает на структуру structiovec, заданную в <sys/uio.h> как


    struct iovec {
    void *iov_base;   /* Начальный адрес */
    size_t iov_len;   /* Количество байтов */
    };
    

    Буферы обрабатываются в следующем порядке: vector[0], vector[1], ... vector[count].

    Функция readv() работает так же, как и read(2), за исключением того, что заполняет несколько буферов.

    Функция writev() работает так же, как и write(2), за исключением того, что будет записано несколько буферов.

     

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

    Функция readv() возвращает количество байтов или -1 в случае ошибки; функция writev() возвращает количество записанных байтов.  

    НАЙДЕННЫЕ ОШИБКИ

    Функции readv() и writev() могут завершиться ошибкой и установить одно из следующих значений errno:
    EBADF
    ( fd - это некорректный описатель файла);
    EINVAL
    ( fd невозможно прочитать readv() или записать writev());
    EFAULT
    ( buf находится за пределами адресного пространства процесса);
    EAGAIN
    (при вызове open() были выбраны неблокирующиеся операции ввода/вывода, поэтому чтение или запись не могут быть выполнены немедленно);
    EINTR
    (чтение или запись были прерваны до передачи данных).
     

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

    Неизвестно.  

    НАЙДЕННЫЕ ОШИБКИ

    Не следует смешивать вызовы к функциям, таким, как readv() или writev(), которые действуют на файловых описателях, с функциями библиотеки stdio, поскольку результат этого непредсказуем.  

    СМ. ТАКЖЕ

    read(2), write(2)


     

    Index

    НАЗВАНИЕ
    СИНТАКСИС
    ОПИСАНИЕ
    ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
    НАЙДЕННЫЕ ОШИБКИ
    СООТВЕТСТВИЕ СТАНДАРТАМ
    НАЙДЕННЫЕ ОШИБКИ
    СМ. ТАКЖЕ


    Поиск по тексту MAN-ов: 




    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2022 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру