Manpages

名 前

ptsname, ptsname_r − ス レ ー ブ 擬 似 端 末 の 名 前 を 取 得 す る

書 式

#define _XOPEN_SOURCE /* feature_test_macros(7) 参 照 */
#include <stdlib.h>

char *ptsname(int fd);

#define _GNU_SOURCE /* feature_test_macros(7) 参 照 */
#include <stdlib.h>

int ptsname_r(int fd, char *buf, size_t buflen);

説 明

ptsname() 関 数 は fd で 参 照 さ れ る マ ス タ 擬 似 端 末 (pts) デ バ イ ス に 対 応 す る ス レ ー ブ 擬 似 端 末 デ バ イ ス の 名 前 を 返 す 。

ptsname_r() 関 数 は ptsname() の リ エ ン ト ラ ン ト な バ ー ジ ョ ン で あ る 。 こ の 関 数 は 、 ス レ ー ブ 疑 似 端 末 デ バ イ ス の 名 前 を 、 ヌ ル で 終 端 さ れ た 文 字 列 の 形 で buf で 指 定 さ れ た バ ッ フ ァ ー に 格 納 し て 返 す 。 buflen 引 き 数 に は buf の バ イ ト 数 を 指 定 す る 。

返 り 値

成 功 の 場 合 、 ptsname() は 静 的 記 憶 領 域 の 文 字 列 へ の ポ イ ン タ ー を 返 す 。 こ の 記 憶 領 域 は こ の 後 の ptsname() の 呼 び 出 し で 上 書 き さ れ る 。 こ の ポ イ ン タ ー を free し て は い け な い 。 エ ラ ー の 場 合 は NULL を 返 す 。 成 功 の 場 合 、 ptsname_r() は 0 を 返 す 。 エ ラ ー の 場 合 、 0 以 外 の 値 を 返 し 、 errno を エ ラ ー を 示 す 値 に 設 定 す る 。

エ ラ ー

EINVAL

(ptsname_r() の み ) buf が NULL で あ る 。

ENOTTY

fd が マ ス タ 疑 似 端 末 デ バ イ ス を 参 照 し て い な い 。

ERANGE

(ptsname_r() の み ) buf が 小 さ す ぎ る 。

バ ー ジ ョ ン

ptsname() は 、 バ ー ジ ョ ン 2.1 以 降 の glibc で 提 供 さ れ て い る 。

属 性

マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 )

ptsname() 関 数 は ス レ ッ ド セ ー フ で は な い 。

ptsname_r() 関 数 は ス レ ッ ド セ ー フ で あ る 。

準 拠

ptsname() は UNIX 98 疑 似 端 末 仕 様 の 一 部 で あ る (pts(4) を 参 照 の こ と )。 こ の 関 数 は POSIX.1−2001 で 規 定 さ れ て い る 。

ptsname_r() は Linux に よ る 拡 張 で あ る 。 こ の 関 数 に つ い て の 記 載 が あ る も の と し て Tru64 と HP−UX が あ る が 、 こ れ ら の OS で の 実 装 で は エ ラ ー の 場 合 −1 を 返 し 、 errno に エ ラ ー を 示 す 値 を 設 定 す る 。 移 植 を 考 慮 し た プ ロ グ ラ ム で は こ の 関 数 の 使 用 は 避 け る こ と 。

関 連 項 目

grantpt(3), posix_openpt(3), ttyname(3), unlockpt(3), pts(4), pty(7)

こ の 文 書 に つ い て

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