デバイスドライバは、デバイスコンテキスト管理用のエントリポイントルーチンに関する情報をシステムに知らせるために、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_callback_ctl 構造体のバージョン番号。このバージョン番号は DEVMAP_OPS_REV に設定する必要があります。
ドライバの devmap_map(9E) エントリポイントのアドレスに設定する必要があります。
ドライバの devmap_access(9E) エントリポイントのアドレスに設定する必要があります。
ドライバの devmap_dup(9E) エントリポイントのアドレスに設定する必要があります。
ドライバの devmap_unmap(9E) エントリポイントのアドレスに設定する必要があります。