名 前
posix_openpt − 疑 似 端 末 (pseudoterminal) デ バ イ ス を オ ー プ ン す る
書 式
#include
<stdlib.h>
#include <fcntl.h>
int posix_openpt(int flags);
glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ):
posix_openpt(): _XOPEN_SOURCE >= 600
説 明
posix_openpt() 関 数 は 使 用 さ れ て い な い 疑 似 端 末 マ ス タ デ バ イ ス を オ ー プ ン し 、 そ の デ バ イ ス を 参 照 す る た め に 使 う フ ァ イ ル デ ィ ス ク リ プ タ ー を 返 す 。
flags 引 き 数 は 、 以 下 の フ ラ グ の う ち 0 個 以 上 の OR を と っ た ビ ッ ト マ ス ク で あ る 。
O_RDWR 読 み 書 き の た め に デ バ イ ス を オ ー プ ン す る 。 普 通 は こ の フ ラ グ を 指 定 す る 。 |
O_NOCTTY こ の デ バ イ ス を プ ロ セ ス の 制 御 端 末 と し な い 。
返 り 値
成 功 し た 場 合 、 posix_openpt() は 負 で は な い フ ァ イ ル デ ィ ス ク リ プ タ ー を 返 す 。 こ れ は 使 用 さ れ て い な い デ ィ ス ク リ プ タ ー の う ち 最 小 の 値 で あ る 。 失 敗 し た 場 合 、 −1 が 返 さ れ て 、 エ ラ ー を 示 す た め に errno が 設 定 さ れ る 。
エ ラ ー
open(2) を 参 照 す る こ と 。
バ ー ジ ョ ン
posix_openpt() の glibc で の サ ポ ー ト は バ ー ジ ョ ン 2.2.1 以 降 で 提 供 さ れ て い る 。
属 性
マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 )
posix_openpt() 関 数 は ス レ ッ ド セ ー フ で あ る 。
準 拠
posix_openpt() は UNIX 98 疑 似 端 末 サ ポ ー ト (pts(4) を 参 照 ) の 一 部 で あ る 。 こ の 関 数 は POSIX.1−2001 で 指 定 さ れ て い る 。
注 意
posix_openpt() 関 数 は POSIX に お い て 最 近 作 ら れ た も の で あ る 。 System V (別 名 UNIX 98) 疑 似 端 末 を サ ポ ー ト す る UNIX 実 装 の 中 に は 、 こ の 関 数 を 持 た な い も の も あ る が 、 以 下 の よ う に し て 簡 単 に 実 装 で き る :
int
posix_openpt(int flags)
{
return open("/dev/ptmx", flags); }
posix_openpt() を 呼 び 出 す と 、 対 応 す る 擬 似 端 末 ス レ ー ブ デ バ イ ス の パ ス 名 が 生 成 さ れ る 。 ス レ ー ブ デ バ イ ス の パ ス 名 は ptsname(3) を 使 っ て 取 得 で き る 。 ス レ ー ブ デ バ イ ス の パ ス 名 は マ ス タ ー デ バ イ ス が オ ー プ ン さ れ て い る 間 だ け 存 在 す る 。
関 連 項 目
open(2), getpt(3), grantpt(3), ptsname(3), unlockpt(3), pts(4), pty(7)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。