The OpenNET Project / Index page

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

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

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

physio (9)
  • physio (9) ( Solaris man: Ядро )
  • >> physio (9) ( FreeBSD man: Ядро )

  • BSD mandoc
     

    NAME

    
    
    physio
    
     - initiate I/O on raw devices
    
     
    

    SYNOPSIS

       #include <sys/param.h>
       #include <sys/systm.h>
       #include <sys/bio.h>
       #include <sys/buf.h>
    int physio (dev_t dev struct uio *uio int ioflag);
     

    DESCRIPTION

    The physio ();
    is a helper function typically called from character device read ();
    and write ();
    routines to start I/O on a user process buffer. The maximum amount of data to transfer with each call is determined by Fa dev->si_iosize_max . The physio ();
    call converts the I/O request into a strategy ();
    request and passes the new request to the driver's strategy ();
    routine for processing.

    Since Fa uio normally describes user space addresses, physio ();
    needs to lock those pages into memory. This is done by calling vmapbuf ();
    for the appropriate pages. physio ();
    always awaits the completion of the entire requested transfer before returning, unless an error condition is detected earlier.

    A break-down of the arguments follows:

    Fa dev
    The device number identifying the device to interact with.
    Fa uio
    The description of the entire transfer as requested by the user process. Currently, the results of passing a Fa uio structure with the uio_segflg set to anything other than UIO_USERSPACE are undefined.
    Fa ioflag
    The ioflag argument from the read ();
    or write ();
    function calling physio (.);

     

    RETURN VALUES

    If successful physio ();
    returns 0. Er EFAULT is returned if the address range described by Fa uio is not accessible by the requesting process. physio ();
    will return any error resulting from calls to the device strategy routine, by examining the B_ERROR buffer flag and the b_error field. Note that the actual transfer size may be less than requested by Fa uio if the device signals an ``end of file'' condition.  

    SEE ALSO

    read(2), write(2)  

    HISTORY

    The manual page is originally from Nx with minor changes for applicability with Fx .

    The call has been completely re-written for providing higher I/O and paging performance.


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    RETURN VALUES
    SEE ALSO
    HISTORY


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




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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