PTSNAME

Section: Linux Programmer's Manual (3)
Updated: 2020-06-09
Index JM Home Page
 

名前

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

書式

#include <stdlib.h>

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

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

ptsname():

glibc 2.24 以降:
    _XOPEN_SOURCE >= 500 ||
        (_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED)
glibc 2.23 以前:
    _XOPEN_SOURCE

ptsname_r():
    _GNU_SOURCE  

説明

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

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

返り値

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

成功の場合、 ptsname_r() は 0 を返す。 エラーの場合、0 以外の値を返し、エラーを示すため、エラー番号が返される。  

エラー

EINVAL
(ptsname_r() only) buf is NULL. (This error is returned only for glibc 2.25 and earlier.)
ENOTTY
fd がマスタ疑似端末デバイスを参照していない。
ERANGE
(ptsname_r() のみ) buf が小さすぎる。
 

バージョン

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

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性 値
ptsname() Thread safety MT-Unsafe race:ptsname
ptsname_r() Thread safety MT-Safe
 

準拠

ptsname():
 POSIX.1-2001, POSIX.1-2008.

ptsname() は UNIX 98 疑似端末仕様の一部である (pts(4) を参照のこと)。

ptsname_r() は Linux による拡張であり、 POSIX.1 の次のメジャーバージョン (Issue 8) に含めるように提案されている。この関数についての記載があるものとして Tru64 と HP-UX があるが、 これらの OS での実装ではエラーの場合 -1 を返し、 errno にエラーを示す値を設定する。 移植を考慮したプログラムではこの関数の使用は避けること。  

関連項目

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

この文書について

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

関連キーワード

端末   ptsname   デバイス   スレーブ   擬似   疑似   マスタ   成功   記憶   領域   ポインター   Thread   safety   一部   stdlib   size   検査   マクロ   要件   macros   ヌル   終端   バッファー   格納   バイト

Linux マニュアル 一覧

関連するコマンド・関数

ptsname.3   unlockpt.3   ptmx.4   pts.4   pty.7   forkpty.3
 

Index

名前
書式
説明
返り値
エラー
バージョン
属性
準拠
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:21 GMT, October 11, 2026