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()
のリエントラントなバージョンである。
この関数は、スレーブ疑似端末デバイスの名前を、
NULL
で終端された文字列の形で
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
で提供されている。
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.41 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man-pages/
に書かれている。