diff options
Diffstat (limited to 'static/netbsd/man3/prop_array_util.3')
| -rw-r--r-- | static/netbsd/man3/prop_array_util.3 | 404 |
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 . |
