Home
March 21, 2010 6:04:50 AM EST
home
back print
SETXATTR   (2) manpage
SETXATTR
2
Extended Attributes
Dec 2001
System calls
  • NAME
      setxattr, lsetxattr, fsetxattr - set an extended attribute value
  • SYNOPSIS
      
       #include <sys/types.h>
       #include <attr/xattr.h>
      
       int setxattr (const char\ * path , const char\ * name ,
        \t\t\t const void\ * value , size_t  size , int  flags );   int lsetxattr (const char\ * path , const char\ * name ,   \t\t\t const void\ * value , size_t  size , int  flags );   int fsetxattr (int  filedes , const char\ * name ,   \t\t\t const void\ * value , size_t  size , int  flags ); 
  • DESCRIPTION
      Extended attributes are
      name :c
      value
      pairs associated with inodes (files, directories, symlinks, etc).
      They are extensions to the normal attributes which are associated
      with all inodes in the system (i.e. the
      stat(2)
      data).
      A complete overview of extended attributes concepts can be found in
      attr(5) .



      setxattr sets the
      value
      of the extended attribute identified by
      name
      and associated with the given
      path
      in the filesystem.
      The
      size
      of the
      value
      must be specified.



      lsetxattr is identical to
      setxattr ,
      except in the case of a symbolic link, where the extended attribute is
      set on the link itself, not the file that it refers to.



      fsetxattr is identical to
      setxattr ,
      only the extended attribute is set on the open file pointed to by
      filedes
      (as returned by
      open(2) )
      in place of
      path .



      An extended attribute name is a simple NULL-terminated string.
      The
      name
      includes a namespace prefix - there may be several, disjoint
      namespaces associated with an individual inode.
      The
      value
      of an extended attribute is a chunk of arbitrary textual or
      binary data of specified length.



      The
      flags
      parameter can be used to refine the semantics of the operation.
      XATTR_CREATE specifies a pure create, which fails if the named
      attribute exists already.
      XATTR_REPLACE specifies a pure replace operation, which fails if the
      named attribute does not already exist.
      By default (no flags), the extended attribute will be created if
      need be, or will simply replace the value if the attribute exists.
  • RETURN VALUE
      On success, zero is returned.
      On failure, -1 is returned and
      errno
      is set appropriately.



      If XATTR_CREATE is specified, and the attribute exists already,
      errno
      is set to EEXIST.
      If XATTR_REPLACE is specified, and the attribute does not exist,
      errno
      is set to ENOATTR.



      If there is insufficient space remaining to store the extended attribute,
      errno
      is set to either ENOSPC, or EDQUOT if quota enforcement was the cause.



      If extended attributes are not supported by the filesystem, or are disabled,
      errno
      is set to ENOTSUP.



      The errors documented for the
      stat(2)
      system call are also applicable here.
  • AUTHORS
      Andreas Gruenbacher,
      < a.gruenbacher@bestbits.at > and the SGI XFS development team,
      < linux-xfs@oss.sgi.com >. Please send any bug reports or comments to these addresses.
  • SEE ALSO


Current Users: 54 © 1999-2009 PenguinSoft. All trademarks and copyrights on this page are owned by their respective companies. Linux is a trademark of Linus Torvalds.