getxattr, lgetxattr, fgetxattr - retrieve an extended
attribute value
SYNOPSIS
#include <sys/types.h>
#include <attr/xattr.h>
ssize_t getxattr (const char *path, const char *name,
void *value, size_t size);
ssize_t lgetxattr (const char *path, const char *name,
void *value, size_t size);
ssize_t fgetxattr (int filedes, const char *name,
void *value, size_t size);
DESCRIPTION
Extended attributes are name: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).
getxattr retrieves the value of the extended attribute
identified by name and associated with the given path in
the filesystem. The length of the attribute value is
returned.
lgetxattr is identical to getxattr, except in the case of
a symbolic link, where the link itself is interrogated,
not the file that it refers to.
fgetxattr is identical to getxattr, only the open file
pointed to by filedes (as returned by open(2)) is interro
gated 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 indi
vidual inode. The value of an extended attribute is a
chunk of arbitrary textual or binary data of specified
length.
An empty buffer of size zero can be passed into these
calls to return the current size of the named extended
attribute, which can be used to estimate the size of a
buffer which is sufficiently large to hold the value asso
ciated with the extended attribute.
The interface is designed to allow guessing of initial
buffer sizes, and to enlarge buffers when the return value
indicates that the buffer provided was too small.
On success, a positive number is returned indicating the
size of the extended attribute value. On failure, -1 is
returned and errno is set appropriately.
If the named attribute does not exist, or the process has
no access to this attribute, errno is set to ENOATTR.
If the size of the value buffer is too small to hold the
result, errno is set to ERANGE.
If extended attributes are not supported by the filesys
tem, 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@computer.org> and the
SGI XFS development team, <linux-xfs@oss.sgi.com>. Please
send any bug reports or comments to these addresses.
SEE ALSO
getfattr(1), setfattr(1), open(2), stat(2), setxattr(2),
listxattr(2), removexattr(2), and attr(5).
Man(1) output converted with
man2html