日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
EXTATTR(2) FreeBSD システムコールマニュアル EXTATTR(2) 名称 extattr_get_fd, extattr_set_fd, extattr_delete_fd, extattr_list_fd, extattr_get_file, extattr_set_file, extattr_delete_file, extattr_list_file, extattr_get_link, extattr_set_link, extattr_delete_link, extattr_list_link -- VFS 拡張属性を操作するためのシ ステムコール ライブラリ 標準 C ライブラリ (libc, -lc) 書式 #include <sys/types.h> #include <sys/extattr.h> ssize_t extattr_get_fd(int fd, int attrnamespace, const char *attrname, void *data, size_t nbytes); ssize_t extattr_set_fd(int fd, int attrnamespace, const char *attrname, const void *data, size_t nbytes); int extattr_delete_fd(int fd, int attrnamespace, const char *attrname); ssize_t extattr_list_fd(int fd, int attrnamespace, void *data, size_t nbytes); ssize_t extattr_get_file(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); ssize_t extattr_set_file(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); int extattr_delete_file(const char *path, int attrnamespace, const char *attrname); ssize_t extattr_list_file(const char *path, int attrnamespace, void *data, size_t nbytes); ssize_t extattr_get_link(const char *path, int attrnamespace, const char *attrname, void *data, size_t nbytes); ssize_t extattr_set_link(const char *path, int attrnamespace, const char *attrname, const void *data, size_t nbytes); int extattr_delete_link(const char *path, int attrnamespace, const char *attrname); ssize_t extattr_list_link(const char *path, int attrnamespace, void *data, size_t nbytes); 解説 名前付き拡張属性は、ファイルまたはディレクトリを表現する vnode に関連付け られたメタデータです。それらは、1 組の名前空間内に "name=value" (名前=値) のペアとして存在します。 extattr_get_file() システムコールは、指定された拡張属性の値をサイズ nbytes の data によって指されるバッファに取り出します。extattr_set_file() システムコールは、指定された拡張属性の値を data によって記述されたデータ に設定します。extattr_delete_file() システムコールは、指定された拡張属性 を削除します。extattr_list_file() は、要求された名前空間に存在する属性の リストを返します。各リストのエントリは、属性名の長さを含んでいる単一のバ イトとそれに続く属性名から成ります。属性名は、ASCII 0 (ヌル文字) によって 終了しません。extattr_get_file() と extattr_list_file() 呼び出しは、 read(2) のスタイルで data と nbytes 引数を取ります。extattr_set_file() は、write(2) のスタイルで、これらの引数を取ります。 data が extattr_get_file() と extattr_list_file() への呼び出しで NULL で あるなら、読み込みを実行せずにデータのサイズをテストするアプリケーション を許可して、読み込んだ量ではなく、定義された拡張属性データのサイズが返さ れます。extattr_delete_link(), extattr_get_link() と extattr_set_link() システムコールは、それらがシンボリックリンクをたどらないことを除いて、そ れらの _file に対応するものと同じように振る舞います。 extattr_get_fd(), extattr_set_fd(), extattr_delete_fd() と extattr_list_fd(), 呼び出しは、最初の引数を除いて、それらの "_file" に対 応するものと同一です。"_fd" 関数は、ファイル記述子を取る一方、"_file" 関 数は、パスを取ます。両方の引数は、操作されるべき拡張属性に関連したファイ ルを記述します。 次の引数は、ここに説明されたすべてのシステムコールに共通です: attrnamespace 拡張属性が存在する名前空間。extattr(9) を参照してくださ い。 attrname 拡張属性の名前。 指定された拡張属性のセマンティクスは、呼び出しを実装しているファイルシス テムによって変化します。すべての操作が、特定の属性のためにサポートされて いるとは限りません。さらに、data のデータの形式は、属性に特有です。 指定された拡張属性の詳細については、extattr(9) を参照してください。 警告 このインタフェースは、アクティブに開発中であり、そのようなものとして、ア プリケーションがそれを使用して適応するように、変更される可能性がありま す。開発者は、その安定性に頼らないことを勧めます。 戻り値 成功するなら、extattr_get_file(), extattr_set_file() と extattr_list_file() 呼び出しは、それぞれ data から読み込んだか、または書 き込んだバイト数を返し、data が NULL であったなら、extattr_get_file() と extattr_list_file() は、読み込むことができるバイト数を返します。呼び出し のいずれかが成功しないなら、値 -1 が、返され、グローバル変数 errno は、エ ラーを示す値に設定されます。 関数 extattr_delete_file() は、処理が成功すると値 0 を返します。そうでな い場合、値 -1 が返され、グローバル変数 errno にエラーを示す値が設定されま す。 エラー 次のエラーは、システムコール自体によって返されます。さらに、呼び出しを実 装しているファイルシステムは、要求するあらゆる他のエラーを返します。 [EFAULT] attrnamespace と attrname 引数、または data と nbytes によって定義されたメモリ範囲が、プロセスの割り付けられ たアドレス空間の外側を指しています。 [ENAMETOOLONG] 属性名が、EXTATTR_MAXNAMELEN より長くなっていました。 また、extattr_get_fd(), extattr_set_fd(), extattr_delete_fd() と extattr_list_fd() システムコールは、次の場合に失敗します: [EBADF] fd によって参照されたファイル記述子が、無効でした。 さらに、extattr_get_file(), extattr_set_file() と extattr_delete_file() 呼び出しも、次のエラーのため失敗します: [ENOATTR] 要求された属性が、このファイルのために定義されていませ んでした。 [ENOTDIR] パス接頭辞の構成要素が、ディレクトリではありません。 [ENAMETOOLONG] パス名の構成要素が 255 文字を越えているか、または、全 体のパス名が 1023 文字を越えています。 [ENOENT] 存在しなければならないパス名の構成要素が、存在していま せん。 [EACCES] 検索パーミッションが、パス接頭辞の構成要素のために拒否 されています。 関連項目 extattr(3), getextattr(8), setextattr(8), extattr(9), VOP_GETEXTATTR(9), VOP_SETEXTATTR(9) 歴史 拡張属性のサポートは、TrustedBSD プロジェクトの一貫として開発されました、 そして FreeBSD 5.0 で導入されました。それは、各ファイルまたはディレクトリ と関連する追加のラベルを必要とするセキュリティ拡張をサポートするために開 発されました。 バグ この API の初期のバージョンで、extattr_get_fd(), extattr_get_file() また は extattr_get_link() に属性名のための空の文字列を渡すことは、ターゲット のオブジェクトのために定義された属性のリストを返します。このインタフェー スは、明示的なリスト API を使用することより推奨されず、使用されるべきでは ありません。 FreeBSD 11.4 January 29, 2008 FreeBSD 11.4