名 前
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 で 参 照 さ れ た オ ー プ ン 済 み フ ァ イ ル か ら 拡 張 属 性 を 削 除 す る だ け で あ る 点 が 異 な る (fd は open(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/ に 書 か れ て い る 。