Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
EXTATTR(9)	       FreeBSD Kernel Developer's Manual	    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 semantics 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 required to	pro-
     vide the namespace	to which to operation refers.  If the same name	is
     present in	multiple namespaces, the extended attributes associated	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 semantics of these
     attributes	are intended to	be as follows: user attribute data is pro-
     tected according the normal discretionary and mandatory protections asso-
     ciated with the data in the file or directory; system attribute data is
     protected such that appropriate privilege is required to directly access
     or	manipulate these attributes.

     Reads of extended attribute data may return specific contiguous 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 supporting 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 character 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_SETEXTATTR(9).

SEE ALSO
     VFS(9), VFS_EXTATTRCTL(9),	VOP_GETEXTATTR(9), VOP_LISTEXTATTR(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 attributes for the
     passed file or directory, but this	is not currently implemented.

FreeBSD	10.1		       December	23, 1999		  FreeBSD 10.1

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | AUTHORS | BUGS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=extattr&sektion=9&manpath=FreeBSD+9.2-RELEASE>

home | help