Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

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

書式

       #include <stdlib.h>

       int grantpt(int fd);

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

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

説明

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

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

返り値

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

エラー

       EACCES 対応するスレーブ擬似端末にアクセスできなかった。

       EBADF  引数 fd が有効なオープンされたファイルディスクリプターでない。

       EINVAL 引数 fd は有効だが、マスタ擬似端末に対応するものではない。

バージョン

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

属性

       この節で使用されている用語の説明については、 attributes(7) を参照。

       ┌─────────────────┬───────────────┬────────────────┐
       │インターフェース属性             │
       ├─────────────────┼───────────────┼────────────────┤
       │grantpt()        │ Thread safety │ MT-Safe locale │
       └─────────────────┴───────────────┴────────────────┘

準拠

       POSIX.1-2001, POSIX.1-2008.

注意

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

       Many systems implement this function via a set-user-ID helper  binary  called  "pt_chown".
       On  Linux  systems with a devpts filesystem (present since Linux 2.2), the kernel normally
       sets the correct ownership and permissions for the pseudoterminal slave when the master is
       opened (posix_openpt(3)), so that nothing must be done by grantpt().  Thus, no such helper
       binary is required (and indeed it is configured to be absent during the glibc  build  that
       is typical on many systems).

関連項目

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

この文書について

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