ioctl() 要求
dkio(7I)、filio、mtio(7I)、sockio(7I)、streamio(7I)、termio(7I)、 termios(7I) に関連するすべての ioctl は、Solaris 2.6 でサポートされます。
SunOS 4.x の termios 構造体と Solaris 2.6 の termios構造体との間に、互換性のない部分がいくつかあります。例えば SunOS 4.x の termios 構造体にはある c_line フィールドが、Solaris 2.6 には含まれていません。
<sys/ttold.h> に定義がある次の ioctl は、実装されていません。
-
TIOCMODG
-
OTTYDISC
-
TABLDISC
-
KBLDISC
-
TIOCMIDS
-
TIOCSETX
-
NETLDISC
-
NTABLDISC
-
TIOCGETX
-
NTTYDISC
-
MOUSELDISC
次の ttycom ioctl 要求は Solaris 2.6 にはありません。
-
TIOCSCTTY
-
TIOCNOTTY
-
TIOCISPACE
-
TIOCPKT
-
TIOCGETPGRP
-
TIOCISIZE
-
TIOCUCNTL
-
TIOCOUTQ
-
TIOCTCNTL
-
TIOCCONS
Solaris 2.6 でサポートされる ioctl() を表 16-1 に示します。
表 16-1
ioctl() のサポート
ioctl()
|
説明
|
DKIOCGPART
|
これらの要求は、Solaris 2.6 では DKIOCGAPART と DKIOCSAPART に置き換えられる。
|
DKIOCGCONF
|
この要求は、Solaris 2.6
では、SunOS 4.x の DKIOCGCONF と DKIOCINFO 構造体の情報を合わせたものが含まれる DKIOCINFOに置き換えられる。
|
DKIOCSCMD
|
この要求は、IPI ドライブに対してのみ正常に実行される。この ioctl は、SCSI デバイスでは異常終了する。SCSI デバイスに対しては、USCSI ioctl を使用する。
|
DKIOCGLOG
|
EINVAL が戻される。DKIOCWCHK コマンドは、フロッピーデバイスに対する書き込みチェックを切り換える。
|
filio
|
次の filio ioctl 要求は、Solaris 2.6 または SVR4 ではサポートされていない: FIOSETOWN、FIOGETOWN、FIOCLEX、 FIONCLEX、 filio。 ioctl 要求は ABI または SVID では、定義されていない。
|
mtio
|
Solaris 2.6 では mtio ioctl 要求のすべてをサポートしていないデバイスもある。マニュアルページの mtio(7) を参照のこと。
|
sockio
|
次の sockio ioctl 要求は、SVR4 と Solaris 2.6 において実装されている:SIOCSPGRP, SIOCGPGRP、SIOCATMARK。sockio ioctl 要求は ABI または SVID では、定義されていない。
|
streamio
|
すべての SunOS 4.x の streamio ioctl 要求は、Solaris 2.6 、ABI、SVID、および SVR4
に実装されている。I_FDINSERT 要求は、strfdinsert 構造体を指す引数が必要となる。SunOS 4.x の strfdinsert 構造体は fd (int) フィールドを含むが、ABI、SVID、または SVR4 strfdinsert 構造体は fd (int) フィールドを含む。
|
audioio
|
SunOS 4.x の <sun/audioio.h> ファイルは、Solaris 2.6 では <sys/audioio.h> に移動されている。さらに、Solaris 2.6 では、インタフェースの機能が強化されている。詳細については、audio(7)、audioamd(7)、dbri(7) マニュアルページを参照のこと。
|
termio, termios
|
すべての SunOS 4.x の termio、および termios ioctl 要求は、Solaris 2.6、ABI、SVID、および SVR4 に実装される。SunOS 4.x termios 構造体と Solaris 2.6 、あるいは ABI、SVID、または SVR4 termios 構造体との間には一部互換性がない。SunOS 4.x の termios構造体には、他のリリースでサポートされない c_line フィールドがある。c_cflag (端末のハードウェア制御) の内容は SunOS 4.x ソフトウェアでは CRTSCTS (RTS/CTS フロー制御を有効にする) が可能だが、この値は Solaris 2.6 リリース、ABI、SVID、または SVR4 には定義がない。しかし、機能性は termiox(7) インタフェースを通してサポートされる。
|