CONFUGA_API int confuga_removexattr(confuga *C, const char *path, const char *name) { int rc; #if defined(HAS_SYS_XATTR_H) || defined(HAS_ATTR_XATTR_H) SIMPLE_WRAP_UNIX(_removexattr(path, name), "removexattr(`%s', `%s')", unresolved_path, name); #else return ENOSYS; #endif }
int do_removexattr (const char *xattr, const char *path) { #if defined(HAVE_REMOVEXATTR) return _removexattr (xattr, path, removexattr); #else reply_with_error ("no support for removexattr"); return -1; #endif }
int removexattr(const char *fusepath, const char *attrname) { const struct fuse_context *fc = fuse_get_context(); const config::Config &config = config::get(); const ugid::SetResetGuard ugid(fc->uid,fc->gid); if(fusepath == config.controlfile) return -ENOTSUP; return _removexattr(*config.action, config.srcmounts, fusepath, attrname); }