標準/拡張機能 | C/C++ | 依存項目 |
---|---|---|
z/OS® UNIX | 両方 |
#define _XOPEN_SOURCE_EXTENDED 1
#include <utmpx.h>
int __utmpxname(char *file);
__utmpxname() 関数は、現行スレッドの utmpx データベース・ ファイル名を、デフォルト /etc/utmpx から file で指定 された名前に変更します。__utmpxname() 関数は、ファイルをオープンしません。これは現在現行スレッドに対してオープンしている 場合には、古い utmpx データベース・ファイルをクローズし、新規の utmpx データベース・ファイル名を保管します。ファイルが 存在していない場合には、指示は出されません。
__utmpxname() 関数は、スレッド固有のデータを処理するので、マルチスレッド・アプリケーションから安全に使用できます。同じプロセスの複数のスレッドがデータベースをオープンすると、各スレッドは、異なるファイル記述子を使用してデータベースをオープンします。スレッドのデータベース・ファイル記述子は、呼び出しスレッドが終了したか、あるいは呼び出しスレッドによって endutxent() 関数が呼び出されたときにクローズされます。
__utmpxname() が呼び出された (ストレージが解放された) 後で、プログラムは、getutxline()、getutxid()、getutxent()、または pututxline() によって戻されたデータを参照してはなりません。endutxent() 関数は、utmpx データベースの名前をデフォルトの値に リセットします。endutxent() を呼び出した後で 非標準 utmpx データベースで追加 utmpx 操作を実行しなければ ならない場合には、再び __utmpxname() を呼び出して、非標準名を再確立します。
正常に実行された場合、__utmpxname() は 0 を戻します。
正常に実行されなかった場合、__utmpxname() は -1 を戻します。