総合手引 | セクション 2 | English | オプション |
#include <sys/types.h>
#include <sys/extattr.h>
#include <sys/uio.h>
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) の形式でこれらの引数を使用します。
extattr_get_file() の呼び出しの中で data が NULL の場合には、読み込んだ量を返すのではなく、 定義された拡張属性データの大きさを返します。 これにより、 アプリケーションが読み込みを実行せずにデータの大きさを テストすることを可能にします。 extattr_delete_link(), extattr_get_link(), extattr_set_link() システムコールは、シンボリックリンクを辿らないことを除いて、名前が "_file" のものと同じ動作をします。
extattr_get_fd(), extattr_set_fd(), extattr_delete_fd() 呼び出しは、最初の引数を除いて、名前が "_file" のものと同じ動作をします。 "_fd" 関数がファイル記述子を取るのに対し、 "_file" 関数はパス名を取ります。 両方の引数は操作されるべき拡張属性に関連付けられたファイルを、記述します。
以下に、全てのシステムコールに共通な引数を記述します:
attrnamespace | |
拡張属性が属する名前空間です。 extattr(9) を参照してください。 | |
attrname | |
拡張属性の名前です。 | |
名前付き拡張属性のセマンティクスは、 この呼び出しを実装するファイルシステムに依存し、一様ではありません。 特定の属性に対しては、全ての操作がサポートされないかもしれません。 加えて、 data に入るデータのフォーマットは、属性に特有です。
名前付き拡張属性についてのより多くの情報については、 extattr(9) を参照してください。
The extattr_delete_file function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.
[EFAULT] | |
attrnamespace および attrname 引数、または data および nbytes によって定義されるメモリ範囲が、 プロセスに割り当てられたアドレス空間の外を指しています。 | |
[ENAMETOOLONG] | |
属性の名前が EXTATTR_MAXNAMELEN より長くなっていました。 | |
extattr_get_fd(), extattr_set_fd(), extattr_delete_fd() システムコールは、次の場合に失敗することがあります:
[EBADF] | |
fd によって参照されるファイル記述子が無効です。 | |
加えて、 extattr_get_file(), extattr_set_file(), extattr_delete_file() の呼び出しは以下のエラーのため、失敗することがあります:
[ENOATTR] | |
要求された属性はこのファイルのために定義されていません。 | |
[ENOTDIR] | |
パス名のプレフィックスの構成要素がディレクトリではありません。 | |
[ENAMETOOLONG] | |
パス名の構成要素が 255 文字を超えている、 またはパス名全体が 1023 文字を超えています。 | |
[ENOENT] | |
存在していなければならないパス名の構成要素が、存在していません。 | |
[EACCES] | |
パス名のプレフィックスの構成要素の検索パーミッションがありません。 | |
EXTATTR (2) | February 23, 2005 |
総合手引 | セクション 2 | English | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.