EN JA
EXTATTR(9)
EXTATTR(9) FreeBSD Kernel Developer's Manual EXTATTR(9)

名称

extattr仮想ファイルシステムの名前付き拡張属性

書式

#include < sys/param.h>
#include < sys/vnode.h>
#include < sys/extattr.h>

解説

名前付き拡張属性によって、追加のメタデータは、ファイルとディレクトリを表わす vnode に関連付けることができます。この追加のデータのセマンティクスは、"name=value"ペアで、ここで、名前 (name) は、定義されても定義されなくてもかまいません、定義されるなら、0 バイト以上の任意のバイナリデータに関連付けられます。拡張属性の名前は、1 組の名前空間に存在しています。拡張属性での各操作は、操作を参照する名前空間を提供することを要求されます。同じ名前が複数の名前空間に存在するなら、名前に関連した拡張属性は、独立して格納され操作されます。次の 2 つの名前空間は、普遍的に定義されていますが、個々のファイルシステムは、追加の名前空間を実装するかもしれないし、これらの名前空間を実装しないしないかもしれません: EXTATTR_NAMESPACE_USEREXTATTR_NAMESPACE_SYSTEM。これらの属性のセマンティクスは、次のようになることを目的としています: ユーザ属性データは、ファイルまたはディレクトリ中のデータに関連付けられている通常の任意と強制的な保護にしたがって保護されます。システム属性データは、適切な特権が直接これらの属性にアクセスするか、または操作することを要求されるように、保護されます。

拡張属性データの読み込みは、 VOP_READ(9) のスタイルで、メタデータの特有の連続する領域を返しますが、書き込みは、与えられた名前に関連付けられた現在の "値" (value) 全体を置き換えます。異なる拡張属性があるたくさんのファイルシステムがあるように、これらの関数の利用可能性と機能性は、制限されるかもしれず、それらは、サポートしているファイルシステムの基本的なセマンティクスの認識と共に使用されるべきです。また、拡張属性データのための権限を与えるスキーム (枠組み) は、最大の属性サイズと特有の新しい属性が定義されるかどうかと同様に、ファイルシステムによって変わります。

拡張属性は、ヌル文字で終了した文字列を使用して指定されます。基本的なファイルシステムのセマンティクスに依存して、この名前は、大文字と小文字を区別するかどうか分かりません。適切な vnode 拡張属性の呼び出しは、次の通りです: VOP_GETEXTATTR(9), VOP_LISTEXTATTR(9)VOP_SETEXTATTR(9)

作者

このマニュアルページは、 Robert Watson によって書かれました。

バグ

なお、インタフェースは、現在利用可能な属性の組を検索するためのメカニズムを提供していません。渡されるファイルまたはディレクトリのために定義された属性のリストをもたらすべきである NULL 属性名を提供することが提案されていますが、これは、現在実装されていません。
December 23, 1999 FreeBSD