ptsname - ライブラリコールの説明 - Linux コマンド集 一覧表
名前
ptsname, ptsname_r - スレーブ擬似端末の名前を取得する
書式
#define _XOPEN_SOURCE
#include <stdlib.h>
char *ptsname(int fd);
#define _GNU_SOURCE
#include <stdlib.h>
char *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
()は Unix98 疑似端末仕様の一部である
(
pts
(4)を参照のこと)。この関数は POSIX.1-2001 で規定されている。
ptsname_r
()は Linux による拡張である。
この関数についての記載があるものとして Tru64 と HP-UX があるが、
これらの OS での実装ではエラーの場合 -1 を返し、
errno
にエラーを示す値を設定する。
移植を考慮したプログラムではこの関数の使用は避けること。