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
       pertinent.
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                               March 28, 1997                      WRITE(9E)