Man page - attr_remove(3)

Packages contains this manual

Manual

ATTR_REMOVE

NAME
C SYNOPSIS
DESCRIPTION
DIAGNOSTICS
SEE ALSO

NAME

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

C SYNOPSIS

#include <attr/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 filesystem object. The flags argument can contain the following symbols bitwise OR’ed together:
ATTR_ROOT

Look for attrname in the root address space, not in 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 one or more of the following are true:

[ENOATTR]

The attribute name given is not associated with the indicated filesystem object. If the system libc does not define this error code, then libattr will define it to ENODATA in <attr/attributes.h> .

[ENOENT]

The named file does not exist.

[EPERM]

The effective user ID does not match the owner of the file 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 in 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 in the flag argument that is not defined for this system call, or fd refers to a socket, 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, -1 is returned, and errno is set appropriately.

SEE ALSO

attr (1), attr_get (3), attr_list (3), attr_multi (3), attr_set (3)