名前
ttyname, ttyname_r - 端末名を返す
書式
#include <unistd.h>
char *ttyname(int fd);
int ttyname_r(int fd, char *buf, size_t buflen);
説明
ttyname() 関数は、ファイルディスクリプタ fd がオープンしている端末デバイスの NULL 終端されたパス名へのポインタを返す。 エラーが起きたならば NULL を返す (たとえば、fd が端末を参照していないとき)。 返り値は静的データを指しているので、次の呼び出しで上書きされる可能性がある。 ttyname_r() 関数は、このパス名を長さ buflen のバッファ buf に格納する。
返り値
ttyname() 関数は、成功時はパス名へのポインタを返す。 エラー時は NULL を返し、 errno が適切に設定される。 ttyname_r() 関数は、成功時には 0 を返し、エラー時にはエラー番号を返す。
エラー
ttyname() が失敗した場合に errno に設定される、また ttyname_r() が失敗した場合に返される値は以下の通り:
EBADF | ファイルディスクリプタが不正。 |
ENOTTY | ファイルディスクリプタが端末デバイスを示していない。 |
ERANGE | buflen がパス名を格納するには短すぎる。 |
準拠
4.2BSD, POSIX.1-2001.