getpass サブルーチン

目的

パスワードを読み取ります。

ライブラリー

標準 C ライブラリー (libc.a)

構文

#include <stdlib.h>
char *getpass ( Prompt)
char *Prompt;

説明

重要: 文字は静的データ域に戻されます。 このサブルーチンに対する後続の呼び出しにより、静的データ域が上書きされます。

getpass サブルーチンは、以下のことを行います。

  • 現行プロセスの制御端末を開きます。
  • Prompt パラメーターで指定された文字をそのデバイスに書き込みます。
  • 改行文字またはファイルの終わり (EOF) 文字が検出されるまで、 PASS_MAX 定数の値までの文字数をそのデバイスから読み取ります。
  • 端末の状態を復元し、制御端末をクローズします。

読み取り操作中は、文字エコーは使用不可になります。

getpass サブルーチンは、マルチスレッド環境では安全ではありません。 スレッド化されたアプリケーションで getpass サブルーチンを使用するには、アプリケーションは各スレッドの保全性を保持する必要があります。

パラメーター

項目 説明
プロンプト 端末に表示するプロンプトを指定します。

戻り値

このサブルーチンが正常に実行されると、ストリングへのポインターが戻されます。 エラーが発生した場合、サブルーチンは NULL ポインターを戻し、エラーを示すために errno グローバル変数を設定します。

エラー・コード

getpass サブルーチンが失敗すると、以下のエラー・コードの 1 つ以上が戻されます。

項目 説明
EINTR getpass サブルーチンが端末装置を読み取っているときに割り込みが発生したことを示します。 SIGINT または SIGQUIT シグナルを受信すると、 getpass サブルーチンは入力を終了し、シグナルを呼び出しプロセスに送信します。
ENXIO プロセスに制御端末がないことを示します。

注: getpass サブルーチンによって呼び出されるサブルーチンは、他のエラー・コードを設定することができます。