__utmpxname() - utmpx データベース名の変更

標準

標準/拡張機能 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 を戻します。

関連情報