スポンサーリンク

GETTTYENT(3) FreeBSD ライブラリ関数マニュアル GETTTYENT(3)

名称

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

ライブラリ

標準 C ライブラリ (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() は 4.3BSD ではじ めて登場しました。

バグ

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

4.3 Berkeley Distribution November 17, 1996 4.3 Berkeley Distribution

スポンサーリンク