#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);
removexattr() は、ファイルシステム内の指定された path に対応する、名前 name の拡張属性を削除する。
lremovexattr() は removexattr() と同じだが、シンボリックリンクの場合に、リンクが参照しているファイル ではなく、リンクそのものの情報を削除する点だけが異なる。
fremovexattr() は removexattr() と同じだが、 path の代わりに filedes で指示されたオープン済みファイルから拡張属性を削除するだけである点が異なる (filedes は open(2) によって返される)。
拡張属性の名前は、普通の NULL 終端された文字列である。 name には、名前空間を表す接頭辞 (prefix) が含まれる。 個々の inode に対し、互いに独立な名前空間が複数あってもよい。
指定された名前の属性が存在しない場合、 errno に ENOATTR がセットされる。
拡張属性がそのファイルシステムでサポートされていない場合、 もしくは無効になっている場合、 errno に ENOTSUP がセットされる。
stat(2) システムコールの説明に書かれているエラーは これらのシステムコールにも適用される。