endttyent(3) ttys ファイルのエントリを取得する

Other Alias

getttyent, getttynam, setttyent

書式

#include <ttyent.h>

struct ttyent *getttyent(void);

struct ttyent *getttynam(const char *name);

int setttyent(void);

int endttyent(void);

説明

これらの関数はファイル _PATH_TTYS (例えば /etc/ttys) へのインタフェースを提供する。

関数 setttyent() はファイルをオープンする。 また既にオープンされている場合は、巻き戻す。

関数 endttyent() はファイルをクローズする。

関数 getttynam() は指定された端末名についてファイルを検索する。 この関数は (以下で説明されている) ttyent 構造体へのポインタを返す。

関数 getttyent() は (もし必要であれば) ファイル _PATH_TTYS をオープンし、最初のエントリを返す。 ファイルが既にオープンされている場合は、次のエントリを返す。 ttyent 構造体は以下の通りである。

struct ttyent {
    char *ty_name;     /* 端末デバイス名 */
    char *ty_getty;    /* 実行するコマンド。通常は getty */
    char *ty_type;     /* termcap のための端末タイプ */
    int   ty_status;   /* 状態フラグ */
    char *ty_window;   /* ウィンドウマネージャを起動するコマンド */
    char *ty_comment;  /* コメントフィールド */
};

ty_status は以下のいずれか値をとることができる。

#define TTY_ON     0x01  /* ログインを有効にする (ty_getty プログラムを開始する) */
#define TTY_SECURE 0x02  /* ユーザ ID 0 でのログインを許可する */

属性

マルチスレッディング (pthreads(7) 参照)

関数 getttyent() は静的変数へのポインタを返す。そのため、スレッドセーフではない。

関数 setttyent() と endttyent() は静的変数を使用する。そのため、スレッドセーフではない。

関数 getttynam() はスレッドセーフではない関数 getttyent() を呼び出す。そのため、スレッドセーフではない。

準拠

POSIX.1-2001 にはない。 BSD 系に存在し、おそらく他のシステムにもあるだろう。

注意

Linux では、ファイル /etc/ttys と上で説明した関数は使われていない。

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.65 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。