Provided by: libattr1-dev_2.4.47-2build1_amd64 bug

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
       fileystem 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.

       [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), and attr_set(3).