The OpenNET Project / Index page

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

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

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

read (9)
  • read (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • read (1) ( FreeBSD man: Команды и прикладные программы пользовательского уровня )
  • read (1) ( Linux man: Команды и прикладные программы пользовательского уровня )
  • read (1) ( POSIX man: Команды и прикладные программы пользовательского уровня )
  • read (2) ( Solaris man: Системные вызовы )
  • read (2) ( FreeBSD man: Системные вызовы )
  • read (2) ( Русские man: Системные вызовы )
  • read (2) ( Linux man: Системные вызовы )
  • read (3) ( POSIX man: Библиотечные вызовы )
  • >> read (9) ( Solaris man: Ядро )
  •  

    NAME

    read - read data from a device
     
    

    SYNOPSIS

    #include <sys/types.h>
    #include <sys/errno.h>
    #include <sys/open.h>
    #include <sys/uio.h>
    #include <sys/cred.h>
    #include <sys/ddi.h>
    #include <sys/sunddi.h>
    
    
    
    int prefixread(dev_t dev, struct uio *uio_p, cred_t *cred_p);
    

     

    INTERFACE LEVEL

    Architecture independent level 1 (DDI/DKI). This entry point is optional.  

    PARAMETERS

    dev

    Device number.

    uio_p

    Pointer to the uio(9S) structure that describes where the data is to be stored in user space.

    cred_p

    Pointer to the user credential structure for the I/O transaction.

     

    DESCRIPTION

    The driver read() routine is called indirectly through cb_ops(9S) by the read(2) system call. The read() routine should check the validity of the minor number component of dev and the user credential structure pointed to by cred_p (if pertinent). The read() routine should supervise the data transfer into the user space described by the uio(9S) structure.  

    RETURN VALUES

    The read() routine should return 0 for success, or the appropriate error number.  

    EXAMPLES

    Example 1 read() routine using physio()

    The following is an example of a read() routine using physio(9F) to perform reads from a non-seekable device:

          static int
         xxread(dev_t dev, struct uio *uiop, cred_t *credp)
         {
                  int                 rval;
                  offset_t            off;
                  int                 instance;
                  xx_t                xx;
    
                  instance = getminor(dev);
                  xx = ddi_get_soft_state(xxstate, instance);
                  if (xx == NULL)
                            return (ENXIO);
                  off = uiop->uio_loffset;
                  rval = physio(xxstrategy, NULL, dev, B_READ,
                            xxmin, uiop);
                  uiop->uio_loffset = off;
                  return (rval);
         }                                                  
    

     

    SEE ALSO

    read(2), write(9E), physio(9F), cb_ops(9S), uio(9S)

    Writing Device Drivers


     

    Index

    NAME
    SYNOPSIS
    INTERFACE LEVEL
    PARAMETERS
    DESCRIPTION
    RETURN VALUES
    EXAMPLES
    SEE ALSO


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




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

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