インタフェースに C (変更) とマークされている場合、SunOS 4 コマンドと Solaris 7 コマンドとの違いについて簡単な説明があります。
インタフェースに S (同じ) とマークされている場合、Solaris 7 インタフェースは SunOS 4 インタフェースの機能をすべてサポートします。場合によってはインタフェースは拡張されていますが、これは SunOS 4 インタフェースの完全なスーパーセットと考えることができます。現在は多くのシステムコールがライブラリルーチンとして利用できます。注の欄には新しいルーチンのマニュアルページの参照先を示してあります。
インタフェースに A (置換) とマークされている場合、注の欄を読んでください。
インタフェースに N (利用不可) とマークされている場合、そのインタフェースは利用できません。
標準ではサポートされていない errno 値をインタフェースが含む場合、「#」で示します。errno の違いは必ずしも互換性を損ないません。ただし、EDQUOT、EFAULT、EIO は ABI または SVID に関して表示されていないことがありますが、errno 値は必要に応じて ABI または SVID 準拠システムによりサポートされます。
SunOS 4 には、System V 互換バージョンの多くのコマンド、システムコール、およびルーチンを提供する System V のインストールオプションがあります。System V インタフェースはこのあとに続く表に一覧表示されています。SunOS 4 インタフェースの System V バージョンを指す場合には、「SysV」とインタフェースの横に示してあります。
すべての Solaris 7 インタフェースに関する詳細な情報については、『man pages section 2: System Calls』を参照してください。
システムコールは関数です。この付録では、関数名のすぐ後に空の()をつけて関数を識別しています。数字を入れた()がさらに続く場合、これは関連するマニュアルページのセクションを示します。
以下の表にエントリの例と、その説明を示します。
SunOS 4 システムコール |
SunOS 5.7 |
利用可能な代替システムコールと注 |
ABI |
SVID |
SVR4 |
BSD |
---|---|---|---|---|---|---|
mctl()(2) |
A |
memcntl()(2) が同様の機能を提供する。 |
A |
A |
A |
S |
mctl() システムコールは、ABI、SVID、SVR4、および SunOS 5.7 では利用できません。memcntl() コールを使用するには、このシステムコールを使用するアプリケーションをすべて書き直さなければなりません。mctl() は SunOS/BSD 互換パッケージで利用できますが、使用するアプリケーションは他の SVR4 システムと互換性がありません。
SunOS 4 システムコール |
SunOS 5.7 |
利用可能な代替システムコールと注 |
ABI |
SVID |
SVR4 |
BSD |
---|---|---|---|---|---|---|
getsockname()(2) |
S# |
SunOS 4 の getsockname() が使用する errno 値 ENOBUFS は、SVR4 と SunOS 5.7 では ENOSR に変更された。 |
N |
N |
S# |
N |
getsockname() システムコールは、ABI または SVID では定義されていません。SunOS 5.7 と SVR4 における getsockname() コールは SunOS 4 のものと同じですが、SunOS 4 ではエラー条件について errno を ENOBUFS に設定していたのに対し、SunOS 5.7 では errno を ENOSR に設定するという点が異なります。