Content-type: text/html Man page of write

write

Section: Driver Entry Points (9E)
Updated: 28 Mar 1997
Index Return to Main Contents
 

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


 

Index

NAME
SYNOPSIS
INTERFACE LEVEL
PARAMETERS
DESCRIPTION
RETURN VALUES
EXAMPLES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 02:39:34 GMT, October 02, 2010