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