getttyent()
および
getttynam()
関数はそれぞれ、次に示す構造体を持つ
オブジェクトのポインタを返します。構造体には、
tty
記述ファイルにある行の
内訳フィールドが含まれます。
struct ttyent {
char *ty_name; /* 端末デバイス名 */
char *ty_getty; /* 実行するコマンド、通常は getty */
char *ty_type; /* termcap の端末タイプ */
#define TTY_ON 0x01 /* ログイン有効化 (ty_getty プログラム開始) */
#define TTY_SECURE 0x02 /* uid 0 でのログイン許可 */
#define TTY_DIALUP 0x04 /* ダイアルアップ tty */
#define TTY_NETWORK 0x08 /* ネットワーク tty */
int ty_status; /* ステータスフラグ */
char *ty_window; /* ウィンドウマネージャ起動コマンド */
char *ty_comment; /* コメントフィールド */
char *ty_group; /* tty グループ名 */
};
フィールドは次のとおりです。
ty_name
|
|
キャラクタ特殊ファイル名。
|
ty_getty
|
|
tty
回線特性の初期化のため、
init(8)
によって呼び出す
コマンド名。
|
ty_type
|
|
この
tty
回線に接続されたデフォルト端末のタイプ名。
|
ty_status
|
|
この
tty
回線で許されるさまざまな機能を示す、
ビットフィールドのマスク。
可能なフラグは次のとおりです。
|
TTY_ON
|
ログインを有効化します
(すなわち、このエントリの
ty_getty
で参照されるコマンドを、
init(8)
が起動します)。
|
TTY_SECURE
|
ユーザは uid 0 でこの端末にログインできます。
|
TTY_DIALUP
|
ユーザは
uid 0
でこの端末にログインできます。
|
TTY_DIALUP
|
tty
をダイアルイン回線として識別します。この
フラグが設定されると、
isdialuptty()
は非 0 値を返します。
|
TTY_NETWORK
|
|
ネットワーク接続に使用された
tty
を識別します。このフラグが設定されると、
isnettty()
は非 0 値を返します。
|
ty_window
|
|
回線に関連するウィンドウシステムを実行するコマンドです。
|
ty_group
|
|
tty
が所属するグループ名です。
ttys
記述ファイルにグループの指定がない場合は、"none"
と呼ばれる無名グループにその
tty
が置かれます。
|
ty_comment
|
|
終端のコメントフィールドであり、
先頭のハッシュマーク (``#'') と余白はすべて除去されます。
|
キャラクタストリングを示すフィールドが未指定の場合、それらはすべて
ヌルポインタとして返ります。指定されたフラグ値がない場合、フィールド
ty_status
は 0 になります。
このフィールドの意味および用法の詳細な説明については、
ttys(5)
を参照してください。
getttyent()
関数は、必要ならばオープンして
ttys
ファイルの次の行を読み込みます。
setttyent()
関数は、ファイルがオープンされていればリワインドし、
オープンされていなければオープンします。
endttyent()
関数は、オープンされているファイルをすべてクローズします。
getttynam()
関数は、適合する
name
が見付かる
(かまたは
EOF
に出会う)
まで、ファイルを最初から検索します。