名前


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

書式


#define _XOPEN_SOURCE #include <stdlib.h>

int grantpt(int fd);

説明


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

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

返り値


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

エラー


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

準拠


POSIX.1-2001

備考


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

関連項目


open(2), posix_openpt(3), ptsname(3), unlockpt(3), pts(4), feature_test_macros(7), pty(7)

openSUSE Logo

コンテンツ