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() rou-
     tine   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


Man(1) output converted with man2html