Go to main content
Oracle® Solaris 11.3 デバイスドライバの記述

印刷ビューの終了

更新: 2016 年 11 月
 
 

よく知られている ioctl インタフェース

多くの ioctl(9E) 処理は、デバイスドライバのクラスに共通しています。たとえば、ほとんどのディスクドライバは、ioctlsdkio(7I) ファミリの多くを実装しています。これらのインタフェースの多くは、データ構造体をカーネルにコピーしたりカーネルからコピーしたりします。これらのデータ構造体の一部では、LP64 データモデルでサイズが変わりました。次のセクションでは、ioctlsdkiofbio(7I)cdio(7I)、および mtio(7I) ファミリについて、64 ビットドライバの ioctl ルーチンで明示的な変換が必要になった ioctls を一覧表示します。

ioctl コマンド
影響を受けるデータ構造体
参照先
DKIOCGAPART
DKIOCSAPART
dk_map
dk_allmap
DKIOGVTOC
DKIOSVTOC
partition
vtoc
FBIOPUTCMAP
FBIOGETCMAP
fbcmap
FBIOPUTCMAPI
FBIOGETCMAPI
fbcmap_i
FBIOCCURSOR
FBIOSCURSOR
fbcursor
CDROMREADMODE1
CDROMREADMODE2
cdrom_read
CDROMCDDA
cdrom_cdda
CDROMCDXA
cdrom_cdxa
CDROMSUBCODE
cdrom_subcode
MTIOCTOP
mtop
MTIOCGET
mtget
MTIOCGETDRIVETYPE
mtdrivetype_request
USCSICMD
uscsi_cmd

デバイスのサイズ

nblocks プロパティーは、ブロックデバイスドライバの各スライスによってエクスポートされます。このプロパティーには、デバイスの各スライスがサポートできる 512 バイトのブロックの数が含まれています。nblocks プロパティーは、符号付きの 32 ビット量として定義され、スライスの最大サイズを 1T バイトに制限します。

ディスクあたり 1T バイトを超える記憶領域を提供するディスクデバイスは、Nblocks プロパティーを定義する必要があります。このプロパティーには、デバイスがサポートできる 512 バイトのブロックの数を引き続き含めてください。ただし、Nblocks は符号付きの 64 ビット量であり、ディスク容量に対する実際的な制限は削除されます。

nblocks プロパティーは推奨されなくなりました。すべてのディスクデバイスで Nblocks プロパティーを指定してください。