| PROP_OBJECT(3) | Library Functions Manual | PROP_OBJECT(3) |
prop_object,
prop_object_retain,
prop_object_release,
prop_object_type,
prop_object_equals,
prop_object_iterator_next,
prop_object_iterator_reset,
prop_object_iterator_release,
prop_object_externalize,
prop_object_externalize_with_format,
prop_object_externalize_to_file,
prop_object_externalize_to_file_with_format,
prop_object_internalize,
prop_object_internalize_from_file —
general property container object functions
Property Container Object Library (libprop, -lprop)
#include
<prop/proplib.h>
void
prop_object_retain(prop_object_t
obj);
void
prop_object_release(prop_object_t
obj);
prop_type_t
prop_object_type(prop_object_t
obj);
bool
prop_object_equals(prop_object_t
obj1, prop_object_t
obj2);
prop_object_t
prop_object_iterator_next(prop_object_iterator_t
iter);
void
prop_object_iterator_reset(prop_object_iterator_t
iter);
void
prop_object_iterator_release(prop_object_iterator_t
iter);
char *
prop_object_externalize(prop_object_t
obj);
char *
prop_object_externalize_with_format(prop_object_t
obj, prop_format_t
format);
bool
prop_object_externalize_to_file(prop_object_t
obj, const char
*path);
bool
prop_object_externalize_to_file_with_format(prop_object_t
obj, const char
*path, prop_format_t
format);
prop_object_t
prop_object_internalize(const
char *data);
prop_object_t
prop_object_internalize_from_file(const
char *path);
The prop_object family of functions
operate on all property container object types.
prop_object_retain(prop_object_t
obj)prop_object_release(prop_object_t
obj)prop_object_type(prop_object_t
obj)PROP_TYPE_BOOLPROP_TYPE_NUMBERPROP_TYPE_STRINGPROP_TYPE_DATAPROP_TYPE_ARRAYPROP_TYPE_DICTIONARYPROP_TYPE_DICT_KEYSYMIf obj is NULL,
then PROP_TYPE_UNKNOWN is returned.
prop_object_equals(prop_object_t
obj1, prop_object_t obj2)true if the two objects are of the same
type and are equivalent.prop_object_iterator_next(prop_object_iterator_t
iter)NULL is returned.prop_object_iterator_reset(prop_object_iterator_t
iter)prop_object_iterator_release(prop_object_iterator_t
iter)prop_object_externalize(prop_object_t
obj)NULL is returned.
In user space, the buffer is allocated using
malloc(3). In the kernel,
the buffer is allocated using
malloc(9) using the malloc
type M_TEMP.
prop_object_externalize_with_format(prop_object_t
obj, prop_format_t format)prop_object_externalize(),
except the output format is specified explicitly. The following formats
are supported:
PROP_FORMAT_JSONPROP_FORMAT_XMLprop_object_externalize_to_file(prop_object_t,
const char *path)prop_object_externalize_to_file_with_format(prop_object_t,
const char *path, prop_format_t
format)prop_object_externalize() and
prop_object_externalize_with_format(), except the
external representation is written to the file specified by
path. The file is saved with the mode
0666 as modified by the process's file creation
mask (see umask(2)) and is
written atomically. Returns false if externalizing
the object or writing the file fails for any reason.prop_object_internalize(const
char *data)NULL if parsing fails for any reason.prop_object_internalize_from_file(const
char *path)prop_array(3), prop_bool(3), prop_data(3), prop_dictionary(3), prop_number(3), prop_string(3), proplib(3)
The proplib(3) property container object library first appeared in NetBSD 4.0.
| April 20, 2025 | NetBSD 11.0 |