编写设备驱动程序

devmap_callback_ctl 结构

设备驱动程序必须分配并初始化 devmap_callback_ctl(9S) 结构,以便通知系统用于设备上下文管理的入口点例程。

此结构使用以下语法:

struct devmap_callback_ctl {    
    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);
};
devmap_rev

devmap_callback_ctl 结构的版本号。版本号必须设置为 DEVMAP_OPS_REV

devmap_map

必须设置为驱动程序的 devmap_map(9E) 入口点的地址。

devmap_access

必须设置为驱动程序的 devmap_access(9E) 入口点的地址。

devmap_dup

必须设置为驱动程序的 devmap_dup(9E) 入口点的地址。

devmap_unmap

必须设置为驱动程序的 devmap_unmap(9E) 入口点的地址。