GRANTPT

Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Index JM Home Page
 

名前

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

関連キーワード

grantpt, GRANTPT, スレーブ, 参照, 設定, SOURCE, XOPEN, 属性, バージョン, 対応

Linux マニュアル 一覧

[man1] [man2] [man3] [man4] [man5] [man6] [man7] [man8]
[a] [b] [c] [d] [e] [f] [g] [h] [i] [j] [k] [l] [m] [n] [o] [p] [q] [r] [s] [t] [u] [v] [w] [x] [y] [z]

 

Index

名前
書式
説明
返り値
エラー
バージョン
属性
準拠
注意
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 12:08:36 GMT, June 11, 2022