map_driver - mathfur/minix GitHub Wiki
呼出元
概要
- servers/fs/dmap.cにて定義
- majorで指定するデバイスのdmapを更新する
引数
int major; // 更新対象のメジャーデバイス番号
int proc_nr; // デバイスドライバのプロセス番号((DRVR|PROC|MEM|LOG)_PROC_NRなど)
int style; // ドライバの形式(STYLE_DEV | STYLE_TTY | STYLE_CLONE)
実装
- エラー処理
- DMAP_MUTABLEがOFF => EPERM (== (_SIGN 1) /* operation not permitted */)
- DMAP_BUSYがON => EBUSY
- 正常系
- 引数に応じてmajorで指定するデバイスのdmapを更新する
- dmap_oiにはgen_io設定
- dmap_driverにはproc_nr設定
- dmap_flagsは変更されない
- dmap_opcl更新(STYLE_DEV => gen_opcl, STYLE_TTY => tty_opcl, STYLE_CLONE => clone_opcl)
コメント