diff options
Diffstat (limited to 'static/netbsd/man3/prop_data.3')
| -rw-r--r-- | static/netbsd/man3/prop_data.3 | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/static/netbsd/man3/prop_data.3 b/static/netbsd/man3/prop_data.3 new file mode 100644 index 00000000..99a7be8c --- /dev/null +++ b/static/netbsd/man3/prop_data.3 @@ -0,0 +1,154 @@ +.\" $NetBSD: prop_data.3,v 1.10 2025/09/23 21:32:38 rillig Exp $ +.\" +.\" Copyright (c) 2006, 2020 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Jason R. Thorpe. +.\" +.\" 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 June 2, 2020 +.Dt PROP_DATA 3 +.Os +.Sh NAME +.Nm prop_data , +.Nm prop_data_create_copy , +.Nm prop_data_create_nocopy , +.Nm prop_data_copy , +.Nm prop_data_size , +.Nm prop_data_value , +.Nm prop_data_copy_value , +.Nm prop_data_equals , +.Nm prop_data_equals_data +.Nd opaque data value property object +.Sh LIBRARY +.Lb libprop +.Sh SYNOPSIS +.In prop/proplib.h +.\" +.Ft prop_data_t +.Fn prop_data_create_copy "const void *blob" "size_t len" +.Ft prop_data_t +.Fn prop_data_create_nocopy "const void *blob" "size_t len" +.\" +.Ft prop_data_t +.Fn prop_data_copy "prop_data_t data" +.\" +.Ft const void * +.Fn prop_data_value "prop_data_t data" +.Ft bool +.Fn prop_data_copy_value "prop_data_t data" "void *buf" "size_t buflen" +.\" +.Ft size_t +.Fn prop_data_size "prop_data_t data" +.\" +.Ft bool +.Fn prop_data_equals "prop_data_t dat1" "prop_data_t dat2" +.Ft bool +.Fn prop_data_equals_data "prop_data_t data" "const void *blob" "size_t len" +.Sh DESCRIPTION +The +.Nm +family of functions operate on an opaque data value property object type. +.Bl -tag -width "xxxxx" +.It Fn prop_data_create_copy "const void *blob" "size_t len" +Create a data object that contains a copy of +.Fa blob +with size +.Fa len . +Returns +.Dv NULL +on failure. +.It Fn prop_data_create_nocopy "const void *blob" "size_t len" +Similar to +.Fn prop_data_create_copy , +but is allowed to not create an internal copy of the opaque data, instead +referencing the buffer passed by the caller. +Caution must be exercised because data objects can have an indefinite +lifespan. +The caller must therefore ensure that the provided buffer reference will +also be valid indefinitely. +This is provided as a memory optimization; it is not guaranteed that +the returned data object will reference the provided buffer, and thus +callers should not rely on this behavior. +Returns +.Dv NULL +on failure. +.It Fn prop_data_copy "prop_data_t data" +Copy a data object. +If the data object being copied is an external data reference, +then the copy also references the same external data. +Returns +.Dv NULL +on failure. +.It Fn prop_data_size "prop_data_t data" +Returns the size of the data object. +If the supplied object isn't a data object, zero is returned. +.It Fn prop_data_value "prop_data_t data" +Returns a reference to the data object's buffer. +If the supplied object isn't a data object or +if the data container is empty, +.Dv NULL +is returned. +.It Fn prop_data_copy_value "prop_data_t data" "void *buf" "size_t buflen" +Copies the contents of the data object into the supplied buffer of the +specified size. +Returns +.Dv true +if the copy succeeds and +.Dv false +iff the supplied buffer is not large enough or if the object is not a +data object. +.It Fn prop_data_equals "prop_data_t dat1" "prop_data_t dat2" +Returns +.Dv true +if the two data objects are equivalent. +If at least one of the supplied objects isn't a data object, +.Dv false +is returned. +.It Fn prop_data_equals_data "prop_data_t data" "const void *blob" "size_t len" +Returns +.Dv true +if the data object's value is equivalent to +.Fa blob +with size +.Fa len . +If the supplied object isn't a data object, +.Dv false +is returned. +.El +.Sh SEE ALSO +.Xr prop_array 3 , +.Xr prop_bool 3 , +.Xr prop_dictionary 3 , +.Xr prop_number 3 , +.Xr prop_object 3 , +.Xr prop_string 3 , +.Xr proplib 3 +.Sh HISTORY +The +.Xr proplib 3 +property container object library first appeared in +.Nx 4.0 . +Support for mutable data objects was deprecated in +.Nx 10.0 . |
