grantpt(3) スレーブ擬似端末へのアクセスを許可する

書式

#define _XOPEN_SOURCE /* feature_test_macros(7) 参照 */
#include <stdlib.h>


int grantpt(int fd);

説明

grantpt() 関数は、 fd で参照されたマスタ擬似端末に対応するスレーブ擬似端末デバイス のモードと所有者を変更する。 スレーブのユーザID は呼び出したプロセスの実 UID に設定される。 グループID として設定される値は規定されていない (例えば tty になる)。 スレーブのモードは 0620 (crw--w----) に設定される。

SIGCHLD シグナルを捕捉するためにシグナル・ハンドラが設定されている場合の grantpt() の動作は規定されていない。

返り値

成功した場合、 grantpt() は 0 を返す。そうでない場合、-1 を返し、 errno に適切な値がセットされる。

エラー

EACCES
対応するスレーブ擬似端末にアクセスできなかった。
EBADF
引き数 fd が有効なオープンされたファイル・ディスクリプタでない。
EINVAL
引き数 fd は有効だが、マスタ擬似端末に対応するものではない。

バージョン

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

準拠

POSIX.1-2001.

注意

これは UNIX 98 擬似端末 (pseudoterminal) 仕様の一部である。 pts(4) を参照のこと。 多くのシステムでは、この関数は "pt_chown" と呼ばれる set-user-ID された 補助バイナリを用いて実装されている。 Linux の devpts では、このような補助バイナリを必要としない。

この文書について

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