removexattr

Autres langues

Langue: ja

Version: 2001-12-01 (mandriva - 01/05/08)

Section: 2 (Appels système)

名前

removexattr, lremovexattr, fremovexattr - 拡張属性を削除する

書式

 #include <sys/types.h>
 #include <attr/xattr.h>
 
 int removexattr(const char *path, const char *name);
 int lremovexattr(const char *path, const char *name);
 int fremovexattr(int filedes, const char *name);
 

説明

拡張属性は、inode (ファイル、ディレクトリ、シンボリックリンク等) に 関連付けられた name:value の対である。 これらは、システム上のすべての inode に関連付けられた通常の属性 (stat(2) が返すデータ) を拡張するものである。 拡張属性のコンセプトは attr(5) に書かれている。

removexattr() は、ファイルシステム内の指定された path に対応する、名前 name の拡張属性を削除する。

lremovexattr() は removexattr() と同じだが、シンボリックリンクの場合に、リンクが参照しているファイル ではなく、リンクそのものの情報を削除する点だけが異なる。

fremovexattr() は removexattr() と同じだが、 path の代わりに filedes で指示されたオープン済みファイルから拡張属性を削除するだけである点が異なる (filedesopen(2) によって返される)。

拡張属性の名前は、普通の NULL 終端された文字列である。 name には、名前空間を表す接頭辞 (prefix) が含まれる。 個々の inode に対し、互いに独立な名前空間が複数あってもよい。

返り値

成功した場合、0 が返される。 失敗した場合、 -1 が返され、 errno に適切な値がセットされる。

指定された名前の属性が存在しない場合、 errno に ENOATTR がセットされる。

拡張属性がそのファイルシステムでサポートされていない場合、 もしくは無効になっている場合、 errno に ENOTSUP がセットされる。

stat(2) システムコールの説明に書かれているエラーは これらのシステムコールにも適用される。

準拠

これらのシステムコールは Linux 独自である。

関連項目

getfattr(1), setfattr(1), getxattr(2), listxattr(2), open(2), setxattr(2), stat(2), attr(5)