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