Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

write(9e) [opensolaris man page]

write(9E)							Driver Entry Points							 write(9E)

NAME
write - write data to a device SYNOPSIS
#include <sys/types.h> #include <sys/errno.h> #include <sys/open.h> #include <sys/cred.h> #include <sys/ddi.h> #include <sys/sunddi.h> int prefixwrite(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
Used for character or raw data I/O, the driver write() routine is called indirectly through cb_ops(9S) by the write(2) system call. The write() routine supervises the data transfer from user space to a device described by the uio(9S) structure. The write() routine should check the validity of the minor number component of dev and the user credentials pointed to by cred_p, if per- tinent. RETURN VALUES
The write() routine should return 0 for success, or the appropriate error number. EXAMPLES
The following is an example of a write() routine using physio(9F) to perform writes to a seekable device: static int xxwrite(dev_t dev, struct uio *uiop, cred_t *credp) { int instance; xx_t xx; instance = getminor(dev); xx = ddi_get_soft_state(xxstate, instance); if (xx == NULL) return (ENXIO); return (physio(xxstrategy, NULL, dev, B_WRITE, xxmin, uiop)); } SEE ALSO
read(2), write(2), read(9E), physio(9F), cb_ops(9S), uio(9S) Writing Device Drivers SunOS 5.11 28 Mar 1997 write(9E)

Check Out this Related Man Page

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 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 valid- ity 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 SunOS 5.10 19 Nov 1997 read(9E)
Man Page