Man page - ttyslot(3)

Packages contains this manual

Available languages:

en fr es ja ru ro

Manual

TTYSLOT

名 前
書 式
説 明
大 昔 の 歴 史
大 昔 の 歴 史 (2)
ttyslot の 意 味
返 り 値
属 性
準 拠
注 意
関 連 項 目
こ の 文 書 に つ い て

名 前

ttyslot - カ レ ン ト ユ ー ザ ー の 端 末 の ス ロ ッ ト を フ ァ イ ル か ら 探 す

書 式

#include <unistd.h> /* 「 注 意 」 を 参 照 */

int ttyslot(void);

glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 ( feature_test_macros (7) 参 照 ):

ttyslot ():

glibc 2.24 以 降 :
_DEFAULT_SOURCE
glibc 2.20 か ら 2.23 ま で :
_DEFAULT_SOURCE ||
_XOPEN_SOURCE && _XOPEN_SOURCE < 500
Glibc 2.19 以 前 :
_BSD_SOURCE ||
_XOPEN_SOURCE && _XOPEN_SOURCE < 500

説 明

レ ガ シ ー な 関 数 ttyslot () は 、 あ る フ ァ イ ル に 書 か れ て い る カ レ ン ト ユ ー ザ ー の エ ン ト リ ー の イ ン デ ッ ク ス を 返 す 。

「 ど の フ ァ イ ル な の か ? 」 と い う 質 問 が あ る だ ろ う 。 で は 、 ま ず 最 初 に そ の 歴 史 を 見 て み よ う 。

大 昔 の 歴 史

UNIX V6 で は /etc/ttys フ ァ イ ル が 使 わ れ て い た 。 init (1) プ ロ グ ラ ム は 、 こ の フ ァ イ ル を 読 み 込 み 、 各 端 末 行 で 何 を す べ き か を 探 す 。 各 行 は 3 文 字 か ら 構 成 さ れ て い る 。 1 文 字 目 は '0' ま た は '1' で あ り 、 '0' は 「 無 視 す る 」 こ と を 表 す 。 2 文 字 目 は 端 末 を 示 す : '8' は "/dev/tty8" を 表 す 。 3 文 字 目 は getty (8) へ の 引 数 で あ り 、 (接 続 を ) 試 み る 回 線 速 度 の 順 序 を 表 す ('-' は 110 ボ ー で 接 続 の 試 行 を 開 始 す る こ と を 表 す )。 よ っ て 一 般 的 な 行 は "18-" と な る 。 あ る 行 で ハ ン グ し た 場 合 は 、 '1' を '0' に 変 更 し 、 init に シ グ ナ ル を 送 り 、 '0' を '1' 再 度 に 変 更 し 、 init に 再 度 シ グ ナ ル を 送 る こ と で 解 決 す る 。

UNIX V7 で は フ ォ ー マ ッ ト が 変 更 さ れ た : 2 文 字 目 が getty (8) の 引 数 と な り 、 (接 続 を ) 試 み る 回 線 速 度 の 順 序 を 表 す よ う に な り ('0' は 300-1200-150-110 を 繰 り 返 す こ と を 表 し 、 '4' は オ ン ラ イ ン コ ン ソ ー ル DECwriter を 表 す )、 行 の 残 り (の 文 字 ) は 端 末 名 と な っ た 。 よ っ て 、 一 般 的 な 行 は "14console" と な る 。

後 者 の シ ス テ ム の 書 式 は 、 よ り 精 巧 で あ る 。 System V 系 の シ ス テ ム で は 、 代 わ り に /etc/inittab が あ る 。

大 昔 の 歴 史 (2)

一 方 、 現 在 ロ グ イ ン し て い る 人 を リ ス ト す る フ ァ イ ル /etc/utmp が あ る 。 こ れ は login (1) に よ っ て 管 理 さ れ て い る 。 こ の フ ァ イ ル は 固 定 さ れ た サ イ ズ で あ り 、 フ ァ イ ル 内 の 適 切 な イ ン デ ッ ク ス は 、 login (1) に よ っ て 決 定 さ れ る 。 こ の 際 に ttyslot () が 呼 ば れ て 、 /etc/ttys に お け る 行 番 号 を 見 つ け る (行 番 号 は 1 か ら 数 え る )。

ttyslot の 意 味

よ っ て 、 関 数 ttyslot () は 、 フ ァ イ ル /etc/ttys に お け る 呼 び 出 し 元 の プ ロ セ ス の 制 御 端 末 の イ ン デ ッ ク ス を 返 す 。 こ れ は /etc/utmp に お け る カ レ ン ト ユ ー ザ ー の エ ン ト リ ー の イ ン デ ッ ク ス と (通 常 は ) 等 し い 。 BSD に は 未 だ に /etc/ttys フ ァ イ ル が あ る が 、 System V 系 の シ ス テ ム に は な い の で 、 こ の フ ァ イ ル を 参 照 す る こ と は で き な い 。 よ っ て 、 そ の よ う な シ ス テ ム で は 「 ttyslot () は カ レ ン ト ユ ー ザ ー の ユ ー ザ ー ア カ ウ ン ト デ ー タ ベ ー ス に お け る イ ン デ ッ ク ス を 返 す 」 と ド キ ュ メ ン ト に 書 か れ て い る 。

返 り 値

成 功 し た 場 合 、 こ の 関 数 は ス ロ ッ ト 番 号 を 返 す 。 エ ラ ー の 場 合 (例 え ば 、 フ ァ イ ル デ ィ ス ク リ プ タ ー 0, 1, 2 の 何 れ も デ ー タ ベ ー ス に あ る 端 末 に 関 連 づ け ら れ て い な い 場 合 )、 UNIX V6, V7, BSD 系 の シ ス テ ム は 0 を 返 す が 、 System V 系 の シ ス テ ム は -1 を 返 す 。

属 性

こ の 節 で 使 用 さ れ て い る 用 語 の 説 明 に つ い て は 、 attributes (7) を 参 照 。

Image grohtml-34670-1.png

準 拠

SUSv1。 SUSv2 で は 「 過 去 の 名 残 (LEGACY)」 と 位 置 付 け ら れ て い る 。 POSIX.1-2001 で 削 除 さ れ た 。 SUSv2 で は エ ラ ー 時 に -1 を 返 す こ と が 要 求 さ れ て い る 。

注 意

utmp フ ァ イ ル は 様 々 な シ ス テ ム で /etc/utmp , /var/adm/utmp , /var/run/utmp の よ う に い ろ い ろ な 場 所 に あ る 。

こ の 関 数 の glibc2 に お け る 実 装 で は 、 フ ァ イ ル _PATH_TTYS を 読 み 込 む 。 こ れ は <ttyent.h> に お い て "/etc/ttys" と 定 義 さ れ て い る 。 エ ラ ー の 場 合 、 0 を 返 す 。 Linux シ ス テ ム に は 通 常 "/etc/ttys" が な い の で 、 常 に 0 を 返 す 。

On BSD-like systems and Linux, the declaration of ttyslot () is provided by <unistd.h> . On System V-like systems, the declaration is provided by <stdlib.h> . Since glibc 2.24, <stdlib.h> also provides the declaration with the following feature test macro definitions:

(_XOPEN_SOURCE >= 500 ||
(_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED))
&& ! (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)

Minix に は fttyslot ( fd ) も あ る 。

関 連 項 目

getttyent (3), ttyname (3), utmp (5)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。