バイナリ互換性ガイド

getXXbyYY() 関数

SunOS 4.x には、ユーザー、ホスト、グループなどに関する情報を検索する一群の関数があります。これらは、情報検索の順序によって 2 つのセットに分類されます。1 セット目の関数は、リファレンスマニュアルの次の項に説明があります。

gethostent(3N)getnetent(3N)getnetgrent(3N),getprotoent(3N)getpublickey(3N)getrpcent(3N)getsecretkey(3N)getservent(3N)yp_get_default_domain(3N)

これらの関数は、最初に該当する NIS マップを検索します。そして、NIS が実行中でない場合に限り、/etc 内の対応するファイルを検索します。2 セット目の関数は、リファレンスマニュアルの getpwent(3C)getgrent(3C) の項に説明があります。この 2 つの関数は、まず /etc の中のファイルを検索します。その結果データが見つからない場合は、NIS が実行状態にあれば、NIS に対して照会します。静的にリンクされているアプリケーションの場合は、これらの関数は、SunOS 5.x でも、SunOS 4.x で実行した場合とまったく同じ働きをします。

SunOS 5.0 以降のリリースでは、上に列挙した情報検索関数はすべて、ネームサービススイッチを介してそれぞれの機能を実行するように変更されています。実行時に、構成ファイル /etc/nsswitch.conf を参照して情報ソースとルックアップ順序が決定されます。

SunOS 4.x で静的にリンクされているアプリケーションを、バイナリ互換パッケージを使って SunOS 5.x で実行した場合、これらの情報検索関数は SunOS 4.x のときとまったく同じ働きをします。このため、その動作がネイティブ SunOS 5.x アプリケーションと異なる可能性があります。SunOS 5.x を実行するマシンのネームサービススイッチが、この項の冒頭で述べたような動作をするように構成されていない場合は、静的にリンクされた 4.x アプリケーションの中の情報検索関数は、ネイティブ 5.x アプリケーションの場合とは異なる動作をすることがあります。一方、SunOS 5.x で実行するものとして動的にリンクされた 4.x アプリケーションにおいては、情報検索関数は、ネイティブ 5.x アプリケーションの場合と同じ動作をします。