REMOVEXATTR(2) | Linux Programmer's Manual | REMOVEXATTR(2) |
名前¶
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 fd, const char *name);
説明¶
拡張属性は、inode (ファイル、ディレクトリ、シンボリックリンク等) に 関連付けられた name:value の対である。 これらは、システム上のすべての inode に関連付けられた通常の属性 (stat(2) が返すデータ) を拡張するものである。 拡張属性のコンセプトは attr(5) に書かれている。
removexattr() は、ファイルシステム内の指定された path に対応する、名前 name の拡張属性を削除する。
lremovexattr() は removexattr() と同じだが、シンボリックリンクの場合に、リンクが参照しているファイル ではなく、リンクそのものの情報を削除する点だけが異なる。
fremovexattr() は removexattr() と同じだが、 path の代わりに fd で参照されたオープン済みファイルから拡張属性を削除するだけである点が異なる (fd は open(2) によって返される)。
拡張属性の名前は、普通の NULL 終端された文字列である。 name には、名前空間を表す接頭辞 (prefix) が含まれる。 個々の inode に対し、互いに独立な名前空間が複数あってもよい。
返り値¶
成功した場合、0 が返される。 失敗した場合、 -1 が返され、 errno に適切な値がセットされる。
エラー¶
- ENOATTR
- 指定された属性が存在しない。(ENOATTR は <attr/xattr.h> で ENODATA の同義語として定義されている。)
- ENOTSUP
- 拡張属性がそのファイルシステムでサポートされていない、 もしくは無効になっている。
上記に加えて、 stat(2) に書かれているエラーが発生する場合もある。
バージョン¶
これらのシステムコールはカーネル 2.4 以降の Linux で利用できる。 glibc でのサポートはバージョン 2.3 以降で行われている。
準拠¶
これらのシステムコールは Linux 独自である。
関連項目¶
getfattr(1), setfattr(1), getxattr(2), listxattr(2), open(2), setxattr(2), stat(2), attr(5), symlink(7)
この文書について¶
この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。
2013-01-19 | Linux |