NAME
C SYNOPSIS
#include <sys/attributes.h>
DESCRIPTION
SEE ALSO
DIAGNOSTICS

NAME

attr_remove, attr_removef - remove a user attribute of a filesystem object

C SYNOPSIS

#include <sys/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 previously created attributes from filesystem objects.

Path points to a path name for a filesystem object, and fd refers to the file 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 ORéd together:

ATTR_ROOT

ATTR_DONTFOLLOW

Look for attrname in the root address space, not in the user address space. (limited to use by super­user only)

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 one or more of the following are true:

[ENOATTR] The attribute name given is not associated with the indicated filesystem
object.

[ENOENT]

[EPERM]

[ENOTDIR] [EACCES]

[EINVAL]

[EFAULT]

[ELOOP]

The named file does not exist.

The effective user ID does not match the owner of the file and the effective user ID is not super­user.

A component of the path prefix is not a directory.

Search permission is denied on a component of the path prefix.

A bit was set in the flag argument that is not defined for this system call.

Path points outside the allocated address space of the process.

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]

[EFAULT] [EBADF]

A bit was set in the flag argument that is not defined for this system call, or fd
refers to a socket, not a file.

Attrname points outside the allocated address space of the process.

Fd does not refer to a valid descriptor.

SEE ALSO

attr(1),
attrctl(2),
attr_get(3), attr_getf(3),
attr_list(3), attr_listf(3)
attr_multi(3), attr_multif(3)
attr_set(3), attr_setf(3),

DIAGNOSTICS

Upon successful completion, a value of 0 is returned. Otherwise, a value of -1 is returned and errno is set to indicate the error.