devmap_dup man page on SmartOS

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

DEVMAP_DUP(9E)							DEVMAP_DUP(9E)

NAME
       devmap_dup - device mapping duplication entry point

SYNOPSIS
       #include <sys/ddi.h>
       #include <sys/sunddi.h

	int prefixdevmap_dup(devmap_cookie_t dhp, void *pvtp,
	    devmap_cookie_t new_dhp, void **new_pvtp);

INTERFACE LEVEL
       Solaris DDI specific (Solaris DDI).

ARGUMENTS
       dhp
		    An	opaque mapping handle that the system uses to describe
		    the mapping currently being duplicated.

       pvtp
		    Driver private mapping  data  for  the  mapping  currently
		    being duplicated.

       new_dhp
		    An	opaque data structure that the system uses to describe
		    the duplicated device mapping.

       new_pvtp
		    A pointer to be filled  in	by  device  drivers  with  the
		    driver private mapping data for the duplicated device map‐
		    ping.

DESCRIPTION
       The system calls devmap_dup() when a device mapping is duplicated, such
       as during the execution of the fork(2) system call.  The system expects
       devmap_dup() to generate new driver private data for the	 new  mapping,
       and  to	set  new_pvtp to point to it. new_dhp is the handle of the new
       mapped object.

       A non-zero return value from  devmap_dup() will cause  a	 corresponding
       operation such as fork() to fail.

RETURN VALUES
       devmap_dup() returns the following values:

       0
		   Successful completion.

       Non-zero
		   An error occurred.

EXAMPLES
	 static int
	 xxdevmap_dup(devmap_cookie_t dhp, void *pvtp, \
	     devmap_cookie_t new_dhp,
	     void **new_pvtp)
	 {
	     struct xxpvtdata	 *prvtdata;
	     struct xxpvtdata	 *p = (struct xxpvtdata *)pvtp;
	     struct xx_softc	 *softc = p->softc;
	     mutex_enter(&softc->mutex);
	     /* Allocate a new private data structure */
	     prvtdata = kmem_alloc(sizeof (struct xxpvtdata), KM_SLEEP);
	     /* Return the new data */
	     prvtdata->off = p->off;
	     prvtdata->len = p->len;
	     prvtdata->ctx = p->ctx;
	     prvtdata->dhp = new_dhp;
	     prvtdata->softc = p->softc;
	     *new_pvtp = prvtdata;
	     mutex_exit(&softc->mutex);
	     return (0);
	 }

SEE ALSO
       fork(2), devmap_callback_ctl(9S)

       Writing Device Drivers

				 Jan 21, 1997			DEVMAP_DUP(9E)
[top]

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]
Tweet
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