EN JA
EXTATTR(3)
EXTATTR(3) FreeBSD Library Functions Manual EXTATTR(3)

名称

extattr_namespace_to_string, extattr_string_to_namespace拡張属性名前空間識別子を文字列に変換する、また逆も変換

ライブラリ

System Utilities Library (libutil, -lutil)

書式

#include < sys/extattr.h>
#include < libutil.h>

int
extattr_namespace_to_string( int attrnamespace, char **string);

int
extattr_string_to_namespace( const char *string, int *attrnamespace);

解説

extattr_namespace_to_string() 関数は VFS 拡張属性識別子を人間に解読可能な文字列に変換します。 extattr_string_to_namespace() 関数は、前述の操作を元に戻して、人間に解読可能な文字列で表現される名前空間を名前空間識別子に変換します。ファイルシステムは任意の名前空間を実装できますが、これらの関数は、 extattr(9) で定義される、 EXTATTR_NAMESPACE_USER (“user”) と EXTATTR_NAMESPACE_SYSTEM (“system”) 名前空間をのみをサポートします。

これらの関数はエラー報告と他の対話型タスクで使用されることになっています。例えば、エラーメッセージ中に拡張属性を識別する整数を印刷する代わりに、プログラムで、人間に解読可能な表現を得るために extattr_namespace_to_string() を使用してもよいでしょう。同様に、ユーザが名前空間を表す整数を入力することを要求する代わりに、対話型プログラムで、名前を尋ねて必要な識別子を得るために extattr_string_to_namespace() を使用してもよいでしょう。

戻り値

呼び出しのいずれかが失敗するなら、値-1 を返し、グローバル変数 errno にエラーを示す値が設定されます。

エラー

[ EINVAL]
要求された名前空間を識別することができませんでした。

歴史

拡張属性サポートは、 TrustedBSD プロジェクトの一環として開発され、 FreeBSD 5.0 で導入されました。それは、各ファイルまたはディレクトリに関連している追加ラベルを必要とするセキュリティ拡張をサポートするために開発されました。
June 24, 2001 FreeBSD