| 日本−日本語 |
|
|
|
![]() |
HP-UX リファレンス: セクション 3 : ライブラリ (N~Z) > pptsname(3C)HP-UX 11i Version 2: September 2004 |
|
名称ptsname, ptsname_r ― スレーブ pty のパス名の取得 (pseudo-terminal) 構文#include <stdlib.h> char * ptsname (int fildes); char * ptsname_r (int fildes, char *slavename, int len); 説明パラメータ fildes は、開いているマスター pty のファイル記述子です。 ptsname() は、スレーブ pty に、マスター pty に対応する名前を付けます。 したがって、両者のマイナー番号は同じになります。 ptsname_r() は、 ptsname() 関数のリエントラント版です。入力パラメータ slavename は、結果として null で終了するスレーブ pty のパス名が格納される文字配列へのポインタです。 入力パラメータ len は、この文字配列の長さを示しています。少なくとも 32 バイトの長さでなければなりません。 戻り値ptsname() は、正常終了するとスレーブ pty のフルパス名を格納した文字列を返します。 異常終了すると NULL ポインタを返します。 戻り値が静的データ領域を指すこともありますが、これは ptsname() を呼び出すたびにオーバライトされるので、保存したいときはあらかじめコピーしておいてください。 正常終了の場合は、 ptsname_r() は、 slavename パラメータが指す文字配列の中に結果のスレーブ名を格納し、 値 0 を返します。 異常終了の場合は、値 -1 を返します。 エラーptsname() は次の条件のいずれかを満たす場合に異常終了し、 NULL ポインタを返します。
ptsname_r() もまた、上述の条件のいずれかを満たす場合に異常終了しますが、-1 を返し ENXIO を errno に設定します。 ptsname_r() は、 slavename パラータが無効または len パラメータが小さ過ぎる場合、-1 を返し ERANGE を errno に設定します。 例次の例では、pty clone をオープンして取得したマスター pty に対応するスレーブ pty のパス名を、非 STREAMS pty が取得するために ptsname() を使用する典型的な方法を示しています。 int fd_master; 次の例は、 STREAMS マスター pty に対応する STREAMS スレーブ pty のパス名を取得するのに ptsname() が使用される典型的な方法を示しています。 int fd_master, fd_slave; |
|||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||