Provided by: libattr1-dev_2.4.46-5ubuntu1_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).