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.