devmap_callback_ctl man page on SmartOS

Printed from http://www.polarhome.com/service/man/?qf=devmap_callback_ctl&af=0&tf=2&of=SmartOS

DEVMAP_CALLBACK_CTL(9S)				       DEVMAP_CALLBACK_CTL(9S)

NAME
       devmap_callback_ctl - device mapping-control structure

SYNOPSIS
       #include <sys/ddidevmap.h>

INTERFACE LEVEL
       Solaris DDI specific (Solaris DDI).

DESCRIPTION
       A  devmap_callback_ctl  structure  describes a set of callback routines
       that are called by  the system to notify	 a  device  driver  to	manage
       events	on    the  device  mappings  created  by  devmap_setup(9F)  or
       ddi_devmap_segmap(9F).

       Device drivers pass the initialized  devmap_callback_ctl	 structure  to
       either	devmap_devmem_setup(9F)	  or   devmap_umem_setup(9F)   in  the
       devmap(9E) entry point during the mapping setup.	 The  system  makes  a
       private copy of the structure for later use. Device drivers can specify
       different devmap_callback_ctl for different mappings.

       A device driver should allocate the device  mapping  control  structure
       and  initialize	the  following	fields,	 if the driver wants the entry
       points to be called by the system:

       devmap_rev
			 Version number. Set this to DEVMAP_OPS_REV.

       devmap_map
			 Set to the address of the devmap_map(9E) entry	 point
			 or to	NULL if the driver does not support this call‐
			 back. If set, the  system  calls  the	devmap_map(9E)
			 entry	point  during  the  mmap(2)  system call.  The
			 drivers typically allocate driver private data struc‐
			 ture  in  this function and return the pointer to the
			 private data structure to the system for later use.

       devmap_access
			 Set to the address  of	 the  devmap_access(9E)	 entry
			 point or to  NULL if the driver does not support this
			 callback. If  set,  the  system  calls	 the  driver's
			 devmap_access(9E)  entry  point during memory access.
			 The system expects devmap_access(9E) to  call	either
			 devmap_do_ctxmgt(9F)  or devmap_default_access(9F) to
			 load  the  memory  address  translations  before   it
			 returns to the system.

       devmap_dup
			 Set  to the address of the devmap_dup(9E) entry point
			 or to	NULL if the driver does not support this call.
			 If  set,  the	system	calls the devmap_dup(9E) entry
			 point during the fork(2) system call.

       devmap_unmap
			 Set to the  address  of  the  devmap_unmap(9E)	 entry
			 point or to  NULL if the driver does not support this
			 call.	 If   set,   the   system   will   call	   the
			 devmap_unmap(9E)  entry point during the munmap(2) or
			 exit(2) system calls.

STRUCTURE MEMBERS
	 int  devmap_rev;
	 int  (*devmap_map)(devmap_cookie_t dhp, dev_t dev,
	      uint_t flags,offset_t off, size_t len, void **pvtp);
	 int  (*devmap_access)(devmap_cookie_t dhp, void *pvtp,
	      offset_t off, size_t len, uint_t type, uint_t rw);
	 int  (*devmap_dup)(devmap_cookie_t dhp, void *pvtp,
		      devmap_cookie_t new_dhp, void **new_pvtp);
	 void (*devmap_unmap)(devmap_cookie_t dhp, void *pvtp,
	      offset_t off, size_t len, devmap_cookie_t new_dhp1,
	      void **new_pvtp1, devmap_cookie_t new_dhp2, void **new_pvtp2);

SEE ALSO
       exit(2), fork(2), mmap(2),  munmap(2),  devmap(9E),  devmap_access(9E),
       devmap_dup(9E),		  devmap_map(9E),	     devmap_unmap(9E),
       ddi_devmap_segmap(9F),  devmap_default_access(9F),   devmap_devmem_set‐
       up(9F), devmap_do_ctxmgt(9F), devmap_setup(9F), devmap_umem_setup(9F)

       Writing Device Drivers

				 Jul 24, 1996	       DEVMAP_CALLBACK_CTL(9S)
[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