extattr(9)

NAME

extattr - virtual file system named extended attributes

SYNOPSIS

#include <sys/param.h>
#include <sys/vnode.h>
#include <sys/extattr.h>

DESCRIPTION

Named extended attributes allow additional meta-data to be
associated
with vnodes representing files and directories. The seman
tics of this
additional data is that of a "name=value" pair, where a name
may be
defined or undefined, and if defined, associated with zero
or more bytes
of arbitrary binary data. Extended attribute names exist
within a set of
namespaces; each operation on an extended attribute is re
quired to provide the namespace to which to operation refers. If the
same name is
present in multiple namespaces, the extended attributes as
sociated with
the names are stored and manipulated independently. The
following two
namespaces are defined universally, although individual file
systems may
implement additional namespaces, or not implement these
namespaces:
EXTATTR_NAMESPACE_USER, EXTATTR_NAMESPACE_SYSTEM. The se
mantics of these
attributes are intended to be as follows: user attribute da
ta is protected according the normal discretionary and mandatory pro
tections associated with the data in the file or directory; system at
tribute data is
protected such that appropriate privilege is required to di
rectly access
or manipulate these attributes.
Reads of extended attribute data may return specific con
tiguous regions
of the meta-data, in the style of VOP_READ(9), but writes
will replace
the entire current "value" associated with a given name. As
there are a
plethora of file systems with differing extended attributes,
availability
and functionality of these functions may be limited, and
they should be
used with awareness of the underlying semantics of the sup
porting file
system. Authorization schemes for extended attribute data
may also vary
by file system, as well as maximum attribute size, and
whether or not any
or specific new attributes may be defined.
Extended attributes are named using a null-terminated char
acter string.
Depending on underlying file system semantics, this name may
or may not
be case-sensitive. Appropriate vnode extended attribute
calls are:
VOP_GETEXTATTR(9), VOP_LISTEXTATTR(9), and VOP_SETEXTAT
TR(9).

SEE ALSO

VFS(9), VFS_EXTATTRCTL(9), VOP_GETEXTATTR(9), VOP_LISTEXTAT
TR(9),
VOP_SETEXTATTR(9)

AUTHORS

This manual page was written by Robert Watson.

BUGS

In addition, the interface does not provide a mechanism to
retrieve the
current set of available attributes; it has been suggested
that providing
a NULL attribute name should cause a list of defined at
tributes for the
passed file or directory, but this is not currently imple
mented.
BSD December 23, 1999
Copyright © 2010-2024 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout