Other Alias
getttynam, setttyent, endttyent書式
#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/ に書かれている。