EN JA
CAP_FCNTLS_LIMIT(2)
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 Jakub Dawidek <pawel@dawidek.net>によって作成されました。
September 20, 2012 FreeBSD