GETTTYENT(3) | Linux Programmer's Manual | GETTTYENT(3) |
getttyent, getttynam, setttyent, endttyent - ttys ファイルのエントリーを取得する
#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 でのログインを許可する */
関数 getttyent() は静的変数へのポインターを返す。そのため、スレッドセーフではない。
関数 setttyent() と endttyent() は静的変数を使用する。そのため、スレッドセーフではない。
関数 getttynam() はスレッドセーフではない関数 getttyent() を呼び出す。そのため、スレッドセーフではない。
POSIX.1-2001 にはない。 BSD 系に存在し、おそらく他のシステムにもあるだろう。
Linux では、ファイル /etc/ttys と上で説明した関数は使われていない。
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。
2013-07-22 | GNU |