Manpages

名 前

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

書 式

#include <sys/types.h>
#include <sys/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 で 参 照 さ れ た オ ー プ ン 済 み フ ァ イ ル か ら 拡 張 属 性 を 削 除 す る だ け で あ る 点 が 異 な る (fdopen(2) に よ っ て 返 さ れ る )。 拡 張 属 性 の 名 前 は 、 普 通 の ヌ ル 終 端 さ れ た 文 字 列 で あ る 。 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.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。