d7147333db
Submitted by: Akira Ikeuchi <ikeuchi@t-i-t.co.jp>
101 lines
4 KiB
Groff
101 lines
4 KiB
Groff
.\"-
|
|
.\" Copyright (c) 1999, 2000, 2001, 2003 Robert N. M. Watson
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" %FreeBSD: src/share/man/man9/extattr.9,v 1.14 2003/10/23 02:33:03 hmp Exp %
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd December 23, 1999
|
|
.Os
|
|
.Dt EXTATTR 9
|
|
.Sh 名称
|
|
.Nm extattr
|
|
.Nd 仮想ファイルシステムの名前付き拡張属性
|
|
.Sh 書式
|
|
.In sys/param.h
|
|
.In sys/vnode.h
|
|
.In sys/extattr.h
|
|
.Sh 解説
|
|
名前付き拡張属性は、ファイルまたはディレクトリを表現する vnode に
|
|
追加のメタデータを関連付けることを可能にします。
|
|
この追加のデータのセマンティクスは、"name=value" ("名前=値") のペアで、
|
|
名前は定義されても定義されなくても良く、定義されていれば、0 バイト以上の
|
|
任意のバイナリデータに関連付けられます。
|
|
拡張属性の名前は名前空間の集合の中に存在します。
|
|
拡張属性上の個々の操作は、操作を参照するために名前空間を供給することが
|
|
要求されています。
|
|
複数の名前空間の中に同じ名前が存在する場合には、その名前に関連付けられた
|
|
拡張属性は、独立して格納され、操作されます。
|
|
次の 2 つの名前空間が普遍的に定義されていますが、個々のファイルシステムは
|
|
追加の名前空間を実装することが可能で、またこれら
|
|
.Dv EXTATTR_NAMESPACE_USER ,
|
|
.Dv EXTATTR_NAMESPACE_SYSTEM
|
|
の名前空間を実装しないことも可能です。
|
|
これらの属性のセマンティクスは以下を意図しています。
|
|
ユーザ属性データは、ファイルまたはディレクトリの中のデータに関連付けられた
|
|
通常の任意および必須の保護によって、保護されます。
|
|
システム属性データは、これらの属性への直接的なアクセスまたは操作には
|
|
適切な特権が要求されることによって、保護されます。
|
|
.Pp
|
|
拡張属性データの読み込みは、
|
|
.Xr VOP_READ 9
|
|
の形式で、明示されたメタデータの連続した領域を返します。
|
|
一方、書込みは、
|
|
与えられた名前に関連付けられた現在の "値" 全体が置き換えられます。
|
|
拡張属性の違いを持つファイルシステムが過多にあります。
|
|
このため、これらの関数は、利用可能性および機能性は制限されるかもしれませんし、
|
|
サポートするファイルシステムの基本的なセマンティクスを意識して
|
|
使用するべきです。
|
|
拡張属性データのための権限を与える機構は、
|
|
ファイルシステムによって異なります。
|
|
これは、属性の最大の大きさや、
|
|
任意または特定の新規属性を定義可能か否かも同様です。
|
|
.Pp
|
|
拡張属性は、ヌルで終端された文字列を使用して名前付けされます。
|
|
名前は大文字と小文字を区別するかもしれませんし、しないかもしれませんが、
|
|
これは潜在的なファイルシステムのセマンティクスに依存します。
|
|
適切な vnode 拡張属性の呼び出しは、
|
|
.Xr VOP_GETEXTATTR 9 ,
|
|
.Xr VOP_LISTEXTATTR 9 ,
|
|
および
|
|
.Xr VOP_SETEXTATTR 9
|
|
です。
|
|
.Sh 関連項目
|
|
.Xr VFS 9 ,
|
|
.Xr VFS_EXTATTRCTL 9 ,
|
|
.Xr VOP_GETEXTATTR 9 ,
|
|
.Xr VOP_LISTEXTATTR 9 ,
|
|
.Xr VOP_SETEXTATTR 9
|
|
.Sh 作者
|
|
このマニュアルページは
|
|
.An Robert Watson
|
|
が書きました。
|
|
.Sh バグ
|
|
加えて、このインタフェースは現在の利用可能な属性の組を取り出す仕組みを
|
|
提供していません。
|
|
既に、
|
|
.Dv NULL
|
|
の属性名を与えることで、渡されたファイルまたはディレクトリのための
|
|
定義された属性のリストをもたらすべきであると提案されていますが、
|
|
現在は実装されていません。
|