summaryrefslogtreecommitdiff
path: root/static/netbsd/man3/prop_array_util.3
diff options
context:
space:
mode:
Diffstat (limited to 'static/netbsd/man3/prop_array_util.3')
-rw-r--r--static/netbsd/man3/prop_array_util.3404
1 files changed, 404 insertions, 0 deletions
diff --git a/static/netbsd/man3/prop_array_util.3 b/static/netbsd/man3/prop_array_util.3
new file mode 100644
index 00000000..56c292e6
--- /dev/null
+++ b/static/netbsd/man3/prop_array_util.3
@@ -0,0 +1,404 @@
+.\" $NetBSD: prop_array_util.3,v 1.13 2024/02/10 18:43:51 andvar 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_ARRAY_UTIL 3
+.Os
+.Sh NAME
+.Nm prop_array_util ,
+.Nm prop_array_get_bool ,
+.Nm prop_array_set_bool ,
+.Nm prop_array_get_schar ,
+.Nm prop_array_get_uchar ,
+.Nm prop_array_set_schar ,
+.Nm prop_array_set_uchar ,
+.Nm prop_array_get_short ,
+.Nm prop_array_get_ushort ,
+.Nm prop_array_set_short ,
+.Nm prop_array_set_ushort ,
+.Nm prop_array_get_int ,
+.Nm prop_array_get_uint ,
+.Nm prop_array_set_int ,
+.Nm prop_array_set_uint ,
+.Nm prop_array_get_long ,
+.Nm prop_array_get_ulong ,
+.Nm prop_array_set_long ,
+.Nm prop_array_set_ulong ,
+.Nm prop_array_get_longlong ,
+.Nm prop_array_get_ulonglong ,
+.Nm prop_array_set_longlong ,
+.Nm prop_array_set_ulonglong ,
+.Nm prop_array_get_intptr ,
+.Nm prop_array_get_uintptr ,
+.Nm prop_array_set_intptr ,
+.Nm prop_array_set_uintptr ,
+.Nm prop_array_get_int8 ,
+.Nm prop_array_get_uint8 ,
+.Nm prop_array_set_int8 ,
+.Nm prop_array_set_uint8 ,
+.Nm prop_array_get_int16 ,
+.Nm prop_array_get_uint16 ,
+.Nm prop_array_set_int16 ,
+.Nm prop_array_set_uint16 ,
+.Nm prop_array_get_int32 ,
+.Nm prop_array_get_uint32 ,
+.Nm prop_array_set_int32 ,
+.Nm prop_array_set_uint32 ,
+.Nm prop_array_get_int64 ,
+.Nm prop_array_get_uint64 ,
+.Nm prop_array_set_int64 ,
+.Nm prop_array_set_uint64 ,
+.Nm prop_array_get_data ,
+.Nm prop_array_set_data ,
+.Nm prop_array_set_data_nocopy ,
+.Nm prop_array_get_string ,
+.Nm prop_array_set_string ,
+.Nm prop_array_set_string_nocopy ,
+.Nm prop_array_add_schar ,
+.Nm prop_array_add_uchar ,
+.Nm prop_array_add_short ,
+.Nm prop_array_add_ushort ,
+.Nm prop_array_add_int ,
+.Nm prop_array_add_uint ,
+.Nm prop_array_add_long ,
+.Nm prop_array_add_ulong ,
+.Nm prop_array_add_longlong ,
+.Nm prop_array_add_ulonglong ,
+.Nm prop_array_add_intptr ,
+.Nm prop_array_add_uintptr ,
+.Nm prop_array_add_int8 ,
+.Nm prop_array_add_uint8 ,
+.Nm prop_array_add_int16 ,
+.Nm prop_array_add_uint16 ,
+.Nm prop_array_add_int32 ,
+.Nm prop_array_add_uint32 ,
+.Nm prop_array_add_int64 ,
+.Nm prop_array_add_uint64 ,
+.Nm prop_array_add_data ,
+.Nm prop_array_add_data_nocopy ,
+.Nm prop_array_add_string ,
+.Nm prop_array_add_string_nocopy ,
+.Nm prop_array_add_and_rel
+.Nd array property collection object utility functions
+.Sh LIBRARY
+.Lb libprop
+.Sh SYNOPSIS
+.In prop/proplib.h
+.\"
+.Ft bool
+.Fn prop_array_get_bool "prop_array_t array" "unsigned int indx" \
+ "bool *valp"
+.Ft bool
+.Fn prop_array_set_bool "prop_array_t array" "unsigned int indx" \
+ "bool val"
+.\"
+.Ft bool
+.Fn prop_array_get_schar "prop_array_t array" "unsigned int indx" \
+ "signed char *valp"
+.Ft bool
+.Fn prop_array_get_uchar "prop_array_t array" "unsigned int indx" \
+ "unsigned char *valp"
+.Ft bool
+.Fn prop_array_set_schar "prop_array_t array" "unsigned int indx" \
+ "signed char val"
+.Ft bool
+.Fn prop_array_set_uchar "prop_array_t array" "unsigned int indx" \
+ "unsigned char val"
+.\"
+.Ft bool
+.Fn prop_array_get_short "prop_array_t array" "unsigned int indx" \
+ "short *valp"
+.Ft bool
+.Fn prop_array_get_ushort "prop_array_t array" "unsigned int indx" \
+ "unsigned short *valp"
+.Ft bool
+.Fn prop_array_set_short "prop_array_t array" "unsigned int indx" \
+ "short val"
+.Ft bool
+.Fn prop_array_set_ushort "prop_array_t array" "unsigned int indx" \
+ "unsigned short val"
+.\"
+.Ft bool
+.Fn prop_array_get_int "prop_array_t array" "unsigned int indx" \
+ "int *valp"
+.Ft bool
+.Fn prop_array_get_uint "prop_array_t array" "unsigned int indx" \
+ "unsigned int *valp"
+.Ft bool
+.Fn prop_array_set_int "prop_array_t array" "unsigned int indx" \
+ "int val"
+.Ft bool
+.Fn prop_array_set_uint "prop_array_t array" "unsigned int indx" \
+ "unsigned int val"
+.\"
+.Ft bool
+.Fn prop_array_get_long "prop_array_t array" "unsigned int indx" \
+ "long *valp"
+.Ft bool
+.Fn prop_array_get_ulong "prop_array_t array" "unsigned int indx" \
+ "unsigned long *valp"
+.Ft bool
+.Fn prop_array_set_long "prop_array_t array" "unsigned int indx" \
+ "long val"
+.Ft bool
+.Fn prop_array_set_ulong "prop_array_t array" "unsigned int indx" \
+ "unsigned long val"
+.\"
+.Ft bool
+.Fn prop_array_get_longlong "prop_array_t array" "unsigned int indx" \
+ "long long *valp"
+.Ft bool
+.Fn prop_array_get_ulonglong "prop_array_t array" "unsigned int indx" \
+ "unsigned long long *valp"
+.Ft bool
+.Fn prop_array_set_longlong "prop_array_t array" "unsigned int indx" \
+ "long long val"
+.Ft bool
+.Fn prop_array_set_ulonglong "prop_array_t array" "unsigned int indx" \
+ "unsigned long long val"
+.\"
+.Ft bool
+.Fn prop_array_get_intptr "prop_array_t array" "unsigned int indx" \
+ "intptr_t *valp"
+.Ft bool
+.Fn prop_array_get_uintptr "prop_array_t array" "unsigned int indx" \
+ "uintptr_t *valp"
+.Ft bool
+.Fn prop_array_set_intptr "prop_array_t array" "unsigned int indx" \
+ "intptr_t val"
+.Ft bool
+.Fn prop_array_set_uintptr "prop_array_t array" "unsigned int indx" \
+ "uintptr_t val"
+.\"
+.Ft bool
+.Fn prop_array_get_int8 "prop_array_t array" "unsigned int indx" \
+ "int8_t *valp"
+.Ft bool
+.Fn prop_array_get_uint8 "prop_array_t array" "unsigned int indx" \
+ "uint8_t *valp"
+.Ft bool
+.Fn prop_array_set_int8 "prop_array_t array" "unsigned int indx" \
+ "int8_t val"
+.Ft bool
+.Fn prop_array_set_uint8 "prop_array_t array" "unsigned int indx" \
+ "uint8_t val"
+.\"
+.Ft bool
+.Fn prop_array_get_int16 "prop_array_t array" "unsigned int indx" \
+ "int16_t *valp"
+.Ft bool
+.Fn prop_array_get_uint16 "prop_array_t array" "unsigned int indx" \
+ "uint16_t *valp"
+.Ft bool
+.Fn prop_array_set_int16 "prop_array_t array" "unsigned int indx" \
+ "int16_t val"
+.Ft bool
+.Fn prop_array_set_uint16 "prop_array_t array" "unsigned int indx" \
+ "uint16_t val"
+.\"
+.Ft bool
+.Fn prop_array_get_int32 "prop_array_t array" "unsigned int indx" \
+ "int32_t *valp"
+.Ft bool
+.Fn prop_array_get_uint32 "prop_array_t array" "unsigned int indx" \
+ "uint32_t *valp"
+.Ft bool
+.Fn prop_array_set_int32 "prop_array_t array" "unsigned int indx" \
+ "int32_t val"
+.Ft bool
+.Fn prop_array_set_uint32 "prop_array_t array" "unsigned int indx" \
+ "uint32_t val"
+.\"
+.Ft bool
+.Fn prop_array_get_int64 "prop_array_t array" "unsigned int indx" \
+ "int64_t *valp"
+.Ft bool
+.Fn prop_array_get_uint64 "prop_array_t array" "unsigned int indx" \
+ "uint64_t *valp"
+.Ft bool
+.Fn prop_array_set_int64 "prop_array_t array" "unsigned int indx" \
+ "int64_t val"
+.Ft bool
+.Fn prop_array_set_uint64 "prop_array_t array" "unsigned int indx" \
+ "uint64_t val"
+.\"
+.Ft bool
+.Fn prop_array_get_data "prop_array_t array" "unsigned int indx" \
+ "const void **datap" "size_t *sizep"
+.Ft bool
+.Fn prop_array_set_data "prop_array_t array" "unsigned int indx" \
+ "const void *data" "size_t len"
+.Ft bool
+.Fn prop_array_set_data_nocopy "prop_array_t array" "unsigned int indx" \
+ "const void *data" "size_t len"
+.\"
+.Ft bool
+.Fn prop_array_get_string "prop_array_t array" "unsigned int indx" \
+ "const char **strp"
+.Ft bool
+.Fn prop_array_set_string "prop_array_t array" "unsigned int indx" \
+ "const char *str"
+.Ft bool
+.Fn prop_array_set_string_nocopy "prop_array_t array" "unsigned int indx" \
+ "const char *str"
+.\"
+.Ft bool
+.Fn prop_array_set_and_rel "prop_array_t array" "unsigned int indx" \
+ "prop_object_t obj"
+.\"
+.Ft bool
+.Fn prop_array_add_bool "prop_array_t array" "bool val"
+.Ft bool
+.Fn prop_array_add_schar "prop_array_t array" "signed char val"
+.Ft bool
+.Fn prop_array_add_uchar "prop_array_t array" "unsigned char val"
+.Ft bool
+.Fn prop_array_add_short "prop_array_t array" "short val"
+.Ft bool
+.Fn prop_array_add_ushort "prop_array_t array" "unsigned short val"
+.Ft bool
+.Fn prop_array_add_int "prop_array_t array" "int val"
+.Ft bool
+.Fn prop_array_add_uint "prop_array_t array" "unsigned int val"
+.Ft bool
+.Fn prop_array_add_long "prop_array_t array" "long val"
+.Ft bool
+.Fn prop_array_add_ulong "prop_array_t array" "unsigned long val"
+.Ft bool
+.Fn prop_array_add_longlong "prop_array_t array" "long long val"
+.Ft bool
+.Fn prop_array_add_ulonglong "prop_array_t array" "unsigned long long val"
+.Ft bool
+.Fn prop_array_add_intptr "prop_array_t array" "intptr_t val"
+.Ft bool
+.Fn prop_array_add_uintptr "prop_array_t array" "uintptr_t val"
+.Ft bool
+.Fn prop_array_add_int8 "prop_array_t array" "int8_t val"
+.Ft bool
+.Fn prop_array_add_uint8 "prop_array_t array" "uint8_t val"
+.Ft bool
+.Fn prop_array_add_int16 "prop_array_t array" "int16_t val"
+.Ft bool
+.Fn prop_array_add_uint16 "prop_array_t array" "uint16_t val"
+.Ft bool
+.Fn prop_array_add_int32 "prop_array_t array" "int32_t val"
+.Ft bool
+.Fn prop_array_add_uint32 "prop_array_t array" "uint32_t val"
+.Ft bool
+.Fn prop_array_add_int64 "prop_array_t array" "int64_t val"
+.Ft bool
+.Fn prop_array_add_uint64 "prop_array_t array" "uint64_t val"
+.\"
+.Ft bool
+.Fn prop_array_add_data "prop_array_t array" "const void *data" \
+ "size_t len"
+.Ft bool
+.Fn prop_array_add_data_nocopy "prop_array_t array" "const char *data" \
+ "size_t len"
+.\"
+.Ft bool
+.Fn prop_array_add_string "prop_array_t array" "const char *str"
+.Ft bool
+.Fn prop_array_add_string_nocopy "prop_array_t array" "const char *str"
+.\"
+.Ft bool
+.Fn prop_array_add_and_rel "prop_array_t array" "prop_object_t obj"
+.Sh DESCRIPTION
+The
+.Nm
+family of functions are provided to make getting and setting values in
+arrays more convenient in some applications.
+.Pp
+The getters check the type of the returned object and, in some cases, also
+ensure that the returned value is within the range implied by the getter's
+value type.
+.Pp
+The setters and adders handle object creation and release for the caller.
+.Pp
+If the
+.Fa sizep
+argument to
+.Fn prop_array_get_data
+is not
+.Dv NULL ,
+then it will be set to the size of the returned data.
+.Pp
+The
+.Fn prop_array_get_data ,
+.Fn prop_array_set_data_nocopy ,
+and
+.Fn prop_array_add_data_nocopy
+do not copy the data that is set or returned.
+See
+.Xr prop_data 3
+for more information.
+.Pp
+The
+.Fn prop_array_get_string ,
+.Fn prop_array_set_string_nocopy ,
+and
+.Fn prop_array_add_string_nocopy
+do not copy the string that is set or returned.
+See
+.Xr prop_string 3
+for more information.
+The
+.Fn prop_array_set_and_rel
+and
+.Fn prop_array_add_and_rel
+functions add the object to the array and release it.
+The object is always released, even if adding it to the array fails.
+.Sh RETURN VALUES
+The
+.Nm
+getter functions return
+.Dv true
+if the object exists in the array and the value is in-range, or
+.Dv false
+otherwise.
+.Pp
+The
+.Nm
+setter and adder functions return
+.Dv true
+if creating the object and storing it in the array is successful, or
+.Dv false
+otherwise.
+.Sh SEE ALSO
+.Xr prop_array 3 ,
+.Xr prop_bool 3 ,
+.Xr prop_data 3 ,
+.Xr prop_number 3 ,
+.Xr prop_string 3 ,
+.Xr proplib 3
+.Sh HISTORY
+The
+.Xr proplib 3
+property container object library first appeared in
+.Nx 4.0 .