write - write data to a device
#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);
Architecture independent level 1 (DDI/DKI). This entry point is optional.
dev
uio_p
cred_p
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.
The write() routine should return 0 for success, or the appropriate error number.
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)); }
read(2), write(2), read(9E), physio(9F), cb_ops(9S), uio(9S)
Writing Device Drivers
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |