The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

devmap_dup (9)
  • >> devmap_dup (9) ( Solaris man: Ядро )
  •  

    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


     

    Index

    NAME
    SYNOPSIS
    INTERFACE LEVEL
    ARGUMENTS
    DESCRIPTION
    RETURN VALUES
    EXAMPLES
    SEE ALSO


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру