devmap_callback_ctl(9s) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

devmap_callback_ctl(9s)

Kernel & Driver Data Structures                        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 driv‐
                        ers typically allocate driver private  data  structure
                        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 in Oracle Solaris 11.4



Oracle Solaris 11.4               24 Jul 1996          devmap_callback_ctl(9S)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3