200 lines
6.3 KiB
Groff
200 lines
6.3 KiB
Groff
.\" $NetBSD: prop_dictionary_util.3,v 1.8 2011/10/17 09:24:54 wiz Exp $
|
|
.\"
|
|
.\" Copyright (c) 2006 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 August 7, 2011
|
|
.Dt PROP_DICTIONARY_UTIL 3
|
|
.Os
|
|
.Sh NAME
|
|
.Nm prop_dictionary_util ,
|
|
.Nm prop_dictionary_get_dict ,
|
|
.Nm prop_dictionary_get_bool ,
|
|
.Nm prop_dictionary_set_bool ,
|
|
.Nm prop_dictionary_get_int8 ,
|
|
.Nm prop_dictionary_get_uint8 ,
|
|
.Nm prop_dictionary_set_int8 ,
|
|
.Nm prop_dictionary_set_uint8 ,
|
|
.Nm prop_dictionary_get_int16 ,
|
|
.Nm prop_dictionary_get_uint16 ,
|
|
.Nm prop_dictionary_set_int16 ,
|
|
.Nm prop_dictionary_set_uint16 ,
|
|
.Nm prop_dictionary_get_int32 ,
|
|
.Nm prop_dictionary_get_uint32 ,
|
|
.Nm prop_dictionary_set_int32 ,
|
|
.Nm prop_dictionary_set_uint32 ,
|
|
.Nm prop_dictionary_get_int64 ,
|
|
.Nm prop_dictionary_get_uint64 ,
|
|
.Nm prop_dictionary_set_int64 ,
|
|
.Nm prop_dictionary_set_uint64 ,
|
|
.Nm prop_dictionary_get_cstring ,
|
|
.Nm prop_dictionary_set_cstring ,
|
|
.Nm prop_dictionary_get_cstring_nocopy ,
|
|
.Nm prop_dictionary_set_cstring_nocopy ,
|
|
.Nm prop_dictionary_set_and_rel
|
|
.Nd dictionary property collection object utility functions
|
|
.Sh LIBRARY
|
|
.Lb libprop
|
|
.Sh SYNOPSIS
|
|
.In prop/proplib.h
|
|
.\"
|
|
.Ft bool
|
|
.Fn prop_dictionary_get_dict "prop_dictionary_t dict" "const char *key" \
|
|
"prop_dictionary_t *dictp"
|
|
.Ft bool
|
|
.Fn prop_dictionary_get_bool "prop_dictionary_t dict" "const char *key" \
|
|
"bool *valp"
|
|
.Ft bool
|
|
.Fn prop_dictionary_set_bool "prop_dictionary_t dict" "const char *key" \
|
|
"bool val"
|
|
.\"
|
|
.Ft bool
|
|
.Fn prop_dictionary_get_int8 "prop_dictionary_t dict" "const char *key" \
|
|
"int8_t *valp"
|
|
.Ft bool
|
|
.Fn prop_dictionary_get_uint8 "prop_dictionary_t dict" "const char *key" \
|
|
"uint8_t *valp"
|
|
.Ft bool
|
|
.Fn prop_dictionary_set_int8 "prop_dictionary_t dict" "const char *key" \
|
|
"int8_t val"
|
|
.Ft bool
|
|
.Fn prop_dictionary_set_uint8 "prop_dictionary_t dict" "const char *key" \
|
|
"uint8_t val"
|
|
.\"
|
|
.Ft bool
|
|
.Fn prop_dictionary_get_int16 "prop_dictionary_t dict" "const char *key" \
|
|
"int16_t *valp"
|
|
.Ft bool
|
|
.Fn prop_dictionary_get_uint16 "prop_dictionary_t dict" "const char *key" \
|
|
"uint16_t *valp"
|
|
.Ft bool
|
|
.Fn prop_dictionary_set_int16 "prop_dictionary_t dict" "const char *key" \
|
|
"int16_t val"
|
|
.Ft bool
|
|
.Fn prop_dictionary_set_uint16 "prop_dictionary_t dict" "const char *key" \
|
|
"uint16_t val"
|
|
.\"
|
|
.Ft bool
|
|
.Fn prop_dictionary_get_int32 "prop_dictionary_t dict" "const char *key" \
|
|
"int32_t *valp"
|
|
.Ft bool
|
|
.Fn prop_dictionary_get_uint32 "prop_dictionary_t dict" "const char *key" \
|
|
"uint32_t *valp"
|
|
.Ft bool
|
|
.Fn prop_dictionary_set_int32 "prop_dictionary_t dict" "const char *key" \
|
|
"int32_t val"
|
|
.Ft bool
|
|
.Fn prop_dictionary_set_uint32 "prop_dictionary_t dict" "const char *key" \
|
|
"uint32_t val"
|
|
.\"
|
|
.Ft bool
|
|
.Fn prop_dictionary_get_int64 "prop_dictionary_t dict" "const char *key" \
|
|
"int64_t *valp"
|
|
.Ft bool
|
|
.Fn prop_dictionary_get_uint64 "prop_dictionary_t dict" "const char *key" \
|
|
"uint64_t *valp"
|
|
.Ft bool
|
|
.Fn prop_dictionary_set_int64 "prop_dictionary_t dict" "const char *key" \
|
|
"int64_t val"
|
|
.Ft bool
|
|
.Fn prop_dictionary_set_uint64 "prop_dictionary_t dict" "const char *key" \
|
|
"uint64_t val"
|
|
.\"
|
|
.Ft bool
|
|
.Fn prop_dictionary_get_cstring "prop_dictionary_t dict" "const char *key" \
|
|
"char **strp"
|
|
.Ft bool
|
|
.Fn prop_dictionary_set_cstring "prop_dictionary_t dict" "const char *key" \
|
|
"const char *str"
|
|
.\"
|
|
.Ft bool
|
|
.Fn prop_dictionary_get_cstring_nocopy "prop_dictionary_t dict" \
|
|
"const char *key" "const char **strp"
|
|
.Ft bool
|
|
.Fn prop_dictionary_set_cstring_nocopy "prop_dictionary_t dict" \
|
|
"const char *key" "const char *strp"
|
|
.Ft bool
|
|
.Fn prop_dictionary_set_and_rel "prop_dictionary_t dict" \
|
|
"const char *key" "prop_object_t obj"
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm prop_dictionary_util
|
|
family of functions are provided to make getting and setting values in
|
|
dictionaries 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 handle object creation and release for the caller.
|
|
.Pp
|
|
The
|
|
.Fn prop_dictionary_get_cstring
|
|
function returns dynamically allocated memory.
|
|
See
|
|
.Xr prop_string 3
|
|
for more information.
|
|
.Pp
|
|
The
|
|
.Fn prop_dictionary_get_cstring_nocopy
|
|
and
|
|
.Fn prop_dictionary_set_cstring_nocopy
|
|
functions do not copy the string that is set or returned.
|
|
See
|
|
.Xr prop_string 3
|
|
for more information.
|
|
.Pp
|
|
The
|
|
.Fn prop_dictionary_set_and_rel
|
|
function adds the object to the dictionary and releases it.
|
|
The object is also released on failure.
|
|
.Sh RETURN VALUES
|
|
The
|
|
.Nm prop_dictionary_util
|
|
getter functions return
|
|
.Dv true
|
|
if the object exists in the dictionary and the value is in-range, or
|
|
.Dv false
|
|
otherwise.
|
|
.Pp
|
|
The
|
|
.Nm prop_dictionary_util
|
|
setter functions return
|
|
.Dv true
|
|
if creating the object and storing it in the dictionary is successful, or
|
|
.Dv false
|
|
otherwise.
|
|
.Sh SEE ALSO
|
|
.Xr prop_bool 3 ,
|
|
.Xr prop_dictionary 3 ,
|
|
.Xr prop_number 3 ,
|
|
.Xr proplib 3
|
|
.Sh HISTORY
|
|
The
|
|
.Nm proplib
|
|
property container object library first appeared in
|
|
.Nx 4.0 .
|