ATTR_REMOVE(3) XFS Compatibility API ATTR_REMOVE(3)
NAME
attr_remove, attr_removef - remove a user attribute of a filesystem
object
C SYNOPSIS
#include <attr(1,5)/attributes.h>
int attr_remove (const char *path, const char *attrname, int flags);
int attr_removef (int fd, const char *attrname, int flags);
DESCRIPTION
The attr_remove and attr_removef functions provide a way to remove pre-
viously created attributes from filesystem objects.
Path points to a path name for a filesystem object, and fd refers to
the file(1,n) descriptor associated with a file. If the attribute attrname
exists, the attribute name and value will be removed from the fileystem
object. The flags argument can contain the following symbols bitwise
ORed together:
ATTR_ROOT
Look for attrname in(1,8) the root address space, not in(1,8) the user
address space. (limited to use by super-user only)
ATTR_DONTFOLLOW
Do not follow symbolic links when resolving a path on an
attr_remove function call. The default is to follow symbolic
links.
attr_remove will fail if(3,n) one or more of the following are true:
[ENOATTR] The attribute name given is not associated with the
indicated filesystem object.
[ENOENT] The named(5,8) file(1,n) does not exist.
[EPERM] The effective user ID does not match the owner of the
file(1,n) and the effective user ID is not super-user.
[ENOTDIR] A component of the path prefix is not a directory.
[EACCES] Search permission is denied on a component of the path
prefix.
[EINVAL] A bit was set(7,n,1 builtins) in(1,8) the flag argument that is not defined
for this system call.
[EFAULT] Path points outside the allocated address space of the
process.
[ELOOP] A path name lookup involved too many symbolic links.
[ENAMETOOLONG] The length of path exceeds {MAXPATHLEN}, or a pathname
component is longer than {MAXNAMELEN}.
attr_removef will fail if:
[ENOATTR] The attribute name given is not associated with the
indicated filesystem object.
[EINVAL] A bit was set(7,n,1 builtins) in(1,8) the flag argument that is not defined
for this system call, or fd refers to a socket(2,7,n), not a
file.
[EFAULT] Attrname points outside the allocated address space of
the process.
[EBADF] Fd does not refer to a valid descriptor.
DIAGNOSTICS
On success, zero is returned. On error(8,n), -1 is returned, and errno is
set(7,n,1 builtins) appropriately.
SEE ALSO
attr(1,5)(1), attr_get(3,3x,3x PAIR_NUMBER)(3), attr_multi(3), and attr_set(3,3x,3x PAIR_NUMBER)(3).
Dec 2001 Extended Attributes ATTR_REMOVE(3)