Solaris 移行ガイド

ioctl() 要求

dkio(7I)filiomtio(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 は、実装されていません。

次の ttycom ioctl 要求は Solaris 7 にはありません。

Solaris 7 でサポートされる ioctl()表 16-1 に示します。

表 16-1 ioctl() のサポート

ioctl()

説明 

DKIOCGPART

これらの要求は、Solaris 7 では DKIOCGAPARTDKIOCSAPART に置き換えられる。

DKIOCGCONF

この要求は、Solaris 7 では、SunOS 4 の DKIOCGCONFDKIOCINFO 構造体の情報を合わせたものが含まれる DKIOCINFOに置き換えられる。

DKIOCSCMD

この要求は、IPI ドライブに対してのみ正常に実行される。この ioctl は、SCSI デバイスでは異常終了する。SCSI デバイスに対しては、USCSI ioctl を使用する。

DKIOCGLOG

EINVAL が戻される。DKIOCWCHK コマンドは、フロッピーデバイスに対する書き込みチェックを切り換える。

filio

次の filio ioctl 要求は、Solaris 7 または SVR4 ではサポートされていない: FIOSETOWNFIOGETOWNFIOCLEXFIONCLEXfilioioctl 要求は ABI または SVID では、定義されていない。

mtio

Solaris 7 では mtio ioctl 要求のすべてをサポートしていないデバイスもある。mtio(7) のマニュアルページを参照。

sockio

次の sockio ioctl 要求は、SVR4 と Solaris 7 において実装されている:SIOCSPGRP, SIOCGPGRPSIOCATMARKsockio 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) インタフェースを通してサポートされる。