2000-01-05 04:59:02 +00:00
|
|
|
.\"-
|
2001-03-15 03:13:58 +00:00
|
|
|
.\" Copyright (c) 1999, 2000, 2001 Robert N. M. Watson
|
2000-01-05 04:59:02 +00:00
|
|
|
.\" All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
.\" SUCH DAMAGE.
|
|
|
|
.\"
|
2001-03-15 03:13:58 +00:00
|
|
|
.\" $FreeBSD$
|
2000-01-05 04:59:02 +00:00
|
|
|
.\"
|
|
|
|
.Dd December 23, 1999
|
|
|
|
.Os
|
|
|
|
.Dt EXTATTR 9
|
|
|
|
.Sh NAME
|
2001-07-14 19:41:16 +00:00
|
|
|
.Nm extattr
|
2002-05-16 05:21:58 +00:00
|
|
|
.Nd virtual filesystem named extended attributes
|
2000-01-05 04:59:02 +00:00
|
|
|
.Sh SYNOPSIS
|
2001-10-01 16:09:29 +00:00
|
|
|
.In sys/param.h
|
|
|
|
.In sys/vnode.h
|
|
|
|
.In sys/extattr.h
|
2000-01-05 04:59:02 +00:00
|
|
|
.Sh DESCRIPTION
|
|
|
|
Named extended attributes allow additional meta-data to be associated
|
2001-03-15 03:13:58 +00:00
|
|
|
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 provide 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
|
2002-05-16 05:21:58 +00:00
|
|
|
filesystems may implement additional namespaces, or not implement
|
2001-03-16 17:42:38 +00:00
|
|
|
these namespaces:
|
|
|
|
.Dv EXTATTR_NAMESPACE_USER ,
|
|
|
|
.Dv EXTATTR_NAMESPACE_SYSTEM .
|
2001-03-15 03:13:58 +00:00
|
|
|
The semantics of these attributes are intended to be as follows: user
|
2001-06-24 01:34:38 +00:00
|
|
|
attribute data is protected according the normal discretionary
|
2001-03-15 03:13:58 +00:00
|
|
|
and mandatory protections associated 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.
|
2001-03-16 13:50:50 +00:00
|
|
|
.Pp
|
2001-03-15 03:13:58 +00:00
|
|
|
Reads of extended attribute data may return specific contiguous regions of
|
|
|
|
the meta-data, in the style of
|
2000-01-05 04:59:02 +00:00
|
|
|
.Xr VOP_READ 9 ,
|
|
|
|
but writes will replace the entire current "value" associated with
|
2001-03-15 03:13:58 +00:00
|
|
|
a given name.
|
2002-05-16 05:21:58 +00:00
|
|
|
As there are a plethora of filesystems with differing extended attributes,
|
2001-03-15 03:13:58 +00:00
|
|
|
availability and functionality of these functions may be limited, and they
|
|
|
|
should be used with awareness of the underlying semantics of the supporting
|
2002-05-16 05:21:58 +00:00
|
|
|
filesystem.
|
2001-03-15 03:13:58 +00:00
|
|
|
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.
|
2000-12-29 09:18:45 +00:00
|
|
|
.Pp
|
2000-01-05 04:59:02 +00:00
|
|
|
Extended attributes are named using a null-terminated character string.
|
2002-05-16 05:21:58 +00:00
|
|
|
Depending on underlying filesystem semantics, this name may or may not be
|
2000-01-05 04:59:02 +00:00
|
|
|
case-sensitive. Appropriate vnode extended attribute calls are:
|
2001-07-14 19:41:16 +00:00
|
|
|
.Xr VOP_GETEXTATTR 9
|
2000-01-05 04:59:02 +00:00
|
|
|
and
|
|
|
|
.Xr VOP_SETEXTATTR 9 .
|
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr VFS 9 ,
|
2001-03-15 03:13:58 +00:00
|
|
|
.Xr VFS_EXTATTRCTL 9 ,
|
2000-01-05 04:59:02 +00:00
|
|
|
.Xr VOP_GETEXTATTR 9 ,
|
2000-11-15 16:00:07 +00:00
|
|
|
.Xr VOP_SETEXTATTR 9
|
2000-01-05 04:59:02 +00:00
|
|
|
.Sh AUTHORS
|
|
|
|
This man page was written by
|
|
|
|
.An Robert Watson .
|
2001-03-15 03:13:58 +00:00
|
|
|
.Sh BUGS
|
|
|
|
The extended attribute access interface is currently unable to return
|
|
|
|
the total size of the attribute, or indicate that the buffer space provided
|
|
|
|
by the caller is insufficient to hold all available data.
|
|
|
|
In addition, the interface does not provide a mechanism to retrieve
|
|
|
|
the current set of available attributes; it has been suggested that
|
2001-03-16 17:42:38 +00:00
|
|
|
providing a
|
|
|
|
.Dv NULL
|
|
|
|
attribute name should cause a list of defined attributes for the passed file
|
|
|
|
or directory, but this is not currently implemented.
|