CAP_FCNTLS_LIMIT(2) | FreeBSD System Calls Manual | CAP_FCNTLS_LIMIT(2) |
名称
cap_fcntls_limit, cap_fcntls_get — 許可された fcntl コマンドを管理するライブラリ
Standard C Library (libc, -lc)書式
#include < sys/capability.h> int
cap_fcntls_limit( int fd, uint32_t fcntlrights);
int
cap_fcntls_get( int fd, uint32_t *fcntlrightsp);
解説
ファイル記述子が CAP_FCNTL ケーパビリティ権利を与えられるなら、許可された fcntl(2) コマンドのリストは、 cap_fcntls_limit() システムコールで選択的に (拡張せずに) 縮小することができます。与えられたファイル記述子のための許可された fcntl コマンドのビットマスクは、 cap_fcntls_get() システムコールで取得することができます。
フラグ
次のフラグは、 fcntlrights 引数で指定されるか、または fcntlrightsp 引数で返されます:- CAP_FCNTL_GETFL
- F_GETFL コマンドを許可します。
- CAP_FCNTL_SETFL
- F_SETFL コマンドを許可します。
- CAP_FCNTL_GETOWN
- F_GETOWN コマンドを許可します。
- CAP_FCNTL_SETOWN
- F_SETOWN コマンドを許可します。
戻り値
Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.エラー
cap_fcntls_limit() は、次の場合以外成功します:- [ EBADF]
- fd 引数が、有効な記述子ではありません。
- [ EINVAL]
- 無効のフラグが fcntlrights で渡されました。
- [ ENOTCAPABLE]
- fcntlrights が、許可された fcntl(2) コマンドのリストを拡張するでしょう。
cap_fcntls_get() は、次の場合以外成功します:
- [ EBADF]
- fd 引数が、有効な記述子ではありません。
- [ EFAULT]
- fcntlrightsp 引数が、無効のアドレスを指しています。
歴史
ケーパビリティとケーパビリティモードのサポートは、 TrustedBSD プロジェクトの一環として開発されました。作者
この関数は、FreeBSD 財団の資金提供の下で <pawel@dawidek.net>によって作成されました。September 20, 2012 | FreeBSD |