devmap_dup man page on SunOS

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

devmap_dup(9E)		      Driver Entry Points		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
		       mapping.

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

SunOS 5.10			  21 Jan 1997			devmap_dup(9E)
[top]

List of man pages available for SunOS

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