Innerhalb
Nach weiteren Dokumenten suchen
Support-Ressourcen
| Dieses Buch im PDF-Format herunterladen
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.
ARGUMENTS
-
-
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
|
|