diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
| commit | 253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch) | |
| tree | adf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man2/extattrctl.2 | |
| parent | a9157ce950dfe2fc30795d43b9d79b9d1bffc48b (diff) | |
docs: Added All NetBSD Manuals
Diffstat (limited to 'static/netbsd/man2/extattrctl.2')
| -rw-r--r-- | static/netbsd/man2/extattrctl.2 | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/static/netbsd/man2/extattrctl.2 b/static/netbsd/man2/extattrctl.2 new file mode 100644 index 00000000..5e4becf8 --- /dev/null +++ b/static/netbsd/man2/extattrctl.2 @@ -0,0 +1,133 @@ +.\" $NetBSD: extattrctl.2,v 1.7 2025/03/11 14:13:45 wiz Exp $ +.\" Copyright (c) 2025 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Christos Zoulas. +.\" +.\" 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. +.\" +.Dd March 9, 2025 +.Dt EXTATTRCTL 2 +.Os +.Sh NAME +.Nm extattrctl +.Nd control extended attributes on a UFS1 file system +.Sh SYNOPSIS +.In sys/extattr.h +.In ufs/ufs/extattr.h +.Ft int +.Fn extattrctl "const char *path" "int cmd" "const char *filename" "int attrnamespace" "const char *attrname" +.Sh DESCRIPTION +The +.Fn extattrctl +system call provides low-level control over extended attributes on a UFS1 +file system. +It allows enabling, disabling, and managing extended attributes. +.Pp +Since there was no provision in the UFS1 file system for attributes, +they are stored as regular files and directories in the file system under the +.Pa "/.attribute" +directory. +By convention, there are usually two directories directly under it, +separating two namespaces: +.Dq user +and +.Dq system . +Under these, there are named attributes that can be created and +managed using +.Xr extattrctl 8 . +.Pp +This programming interface is currently only used by +.Xr extattrctl 8 , +and is not intended for general use. +.Sh PARAMETERS +.Bl -tag -width indent +.It Fa path +The path to the mount point of the file system. +.It Fa cmd +The command to execute. +Valid commands are: +.Bl -tag -width indent +.It Dv UFS_EXTATTR_CMD_ENABLE +Enable a specific extended attribute. +.It Dv UFS_EXTATTR_CMD_DISABLE +Disable a specific extended attribute. +.It Dv UFS_EXTATTR_CMD_START +Start extended attribute support on the file system. +.It Dv UFS_EXTATTR_CMD_STOP +Stop extended attribute support on the file system. +.El +.It Fa attrname +The name of the extended attribute (for relevant commands). +.It Fa attrnamespace +The attribute namespace, such as +.Dv EXTATTR_NAMESPACE_USER +or +.Dv EXTATTR_NAMESPACE_SYSTEM . +.It Fa filename +The path to a backing file for extended attribute storage +(if required by the command). +.El +.Sh RETURN VALUES +.Rv -std extattrctl +.Sh EXAMPLES +Enable an attribute on a file system: +.Bd -literal -offset indent +#include <sys/extattr.h> +#include <ufs/ufs/extattr.h> + +if (extattrctl("/home", UFS_EXTATTR_CMD_ENABLE, + "/.attribute/user/comment", + EXTATTR_NAMESPACE_USER, "comment") == -1) + err(EXIT_FAILURE, "extattrctl"); +.Ed +.Sh ERRORS +The +.Fn extattrctl +system call may fail with the following errors: +.Bl -tag -width Bq -offset indent +.It Bq Er EACCES +The calling user does not have permission to access the file +specified. +.It Bq Er EINVAL +Invalid arguments were provided. +.It Bq Er ENOENT +The specified path, attribute, or file does not exist. +.It Bq Er EOPNOTSUPP +The file system does not support extended attributes. +.It Bq Er EPERM +The calling user is not permitted to change extended attributes. +.El +.Sh SEE ALSO +.Xr extattr_delete_file 2 , +.Xr extattr_get_file 2 , +.Xr extattr_list_file 2 , +.Xr extattr_set_file 2 , +.Xr extattrctl 8 +.Sh HISTORY +The +.Fn extattrctl +system call was imported from +.Fx 5.0 +in +.Nx 3.0 . |
