tail head cat sleep
QR code linking to this page

manページ  — GETTTYENT

名称

getttyent, getttynam, setttyent, endttyent – ttys ファイルエントリを取得 isdialuptty, isnettty – ファイルエントリから tty タイプを決める

内容

ライブラリ

Standard C Library (libc, -lc)

書式

#include <ttyent.h>

struct ttyent *
getttyent(void);

struct ttyent *
getttynam(const char *name);

int
setttyent(void);

int
endttyent(void);

int
isdialuptty(const char *name);

int
isnettty(const char *name);

解説

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 に出会う) まで、ファイルを最初から検索します。

戻り値

ルーチン getttyent() および getttynam() は、 EOF またはエラーでいずれもヌルポインタを返します。 setttyent() 関数および endttyent() 関数は、いずれも失敗した場合は 0 を、成功した場合は 1 を返します。

ルーチン isdialuptty() および isnettty() は、パラメータによって指名された tty に関連する tty エントリに、ダイアルアップまたはネットワークフラグが 設定されていなければ非 0 を返し、その他の場合は 0 を返します。

関連ファイル

/etc/ttys
 

関連項目

login(1), ttyslot(3), gettytab(5), termcap(5), ttys(5), getty(8), init(8)

歴史

関数 getttyent(), getttynam(), setttyent(), endttyent()BSD 4.3 ではじめて登場しました。

バグ

これらの関数は静的データ記憶域を使用します。後で使用するデータの場合は、 以後の呼び出しで上書きする前にデータをコピーして保存する必要があります。

BSD 4.3 GETTTYENT (3) November 17, 1996

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

A computer would deserve to be called intelligent if it could deceive a human into believing that it was human.
— Alan Turing