awrite man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

AWRITE(9E)							    AWRITE(9E)

       awrite - asynchronous write to a device

       #include <sys/uio.h>
       #include <sys/aio_req.h>
       #include <sys/cred.h>
       #include <sys/ddi.h>
       #include <sys/sunddi.h>

       intprefixawrite(dev_t dev, struct aio_req *aio_reqp,
	    cred_t *cred_p);

       Solaris DDI specific (Solaris DDI). This entry point is optional. Driv‐
       ers that do not support an  awrite() entry point should use  nodev(9F)

		   Device number.

		   Pointer to the  aio_req(9S) structure that describes	 where
		   the data is stored.

		   Pointer to the  credential structure.

       The  driver's  awrite()	routine	 is  called to perform an asynchronous
       write.  getminor(9F) can be used to  access the minor number  component
       of the dev argument. awrite() may use the  credential structure pointed
       to by  cred_p to check for superuser access by  calling	 drv_priv(9F).
       The   awrite()  routine may also examine the  uio(9S) structure through
       the   aio_req  structure	 pointer,   aio_reqp.	awrite()   must	  call
       aphysio(9F)  with  the  aio_req	pointer	 and a pointer to the driver's
       strategy(9E) routine.

       No fields of the uio(9S) structure pointed to by	 aio_req,  other  than
       uio_offset or uio_loffset, may be modified for non-seekable devices.

       The  awrite() routine should return   0 for success, or the appropriate
       error number.

       This function is called from user context only.

       Example 1 Using the awrite() routine:

       The following is an example of an  awrite() routine:

	 static int
	 xxawrite(dev_t dev, struct aio_req *aio, cred_t *cred_p)
		 int instance;
		 struct xxstate *xsp;

		 instance = getminor(dev);
		 xsp = ddi_get_soft_state(statep, instance);
		 /*Verify soft state structure has been allocated */
		 if (xsp == NULL)
			  return (ENXIO);
		 return (aphysio(xxstrategy, anocancel, dev, B_WRITE, \
		 xxminphys, aio));

       write(2), aiowrite(3C), aread(9E), read(9E),  strategy(9E),  write(9E),
       anocancel(9F),  aphysio(9F), ddi_get_soft_state(9F), drv_priv(9F), get‐
       minor(9F), minphys(9F), nodev(9F), aio_req(9S), cb_ops(9S), uio(9S)

       Writing Device Drivers

       There is no way other than calling aphysio(9F) to accomplish  an	 asyn‐
       chronous write.

				 Mar 28, 1997			    AWRITE(9E)

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net