read man page on OpenIndiana

Man page or keyword search:  
man Server   20441 pages
apropos Keyword Search (all sections)
Output format
OpenIndiana logo
[printable version]

read(9E)		      Driver Entry Points		      read(9E)

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 trans‐
		  action.

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 super‐
       vise 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

SunOS 5.11			  19 Nov 1997			      read(9E)
[top]

List of man pages available for OpenIndiana

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net