plucky (3) grantpt.3.gz

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/ に書かれている。