PPATH_OBJECT(3) BSD Library Functions Manual PPATH_OBJECT(3)NAME
ppath_object, ppath_copydel_object, ppath_copyset_object,
ppath_set_object, ppath_get_object, ppath_delete_object,
ppath_copydel_data, ppath_copyset_data, ppath_set_data, ppath_get_data,
ppath_dup_data, ppath_delete_data, ppath_copydel_string,
ppath_copyset_string, ppath_set_string, ppath_get_string,
ppath_dup_string, ppath_delete_string — property object path operations
LIBRARY
library “libppath”
SYNOPSIS
#include <ppath/ppath.h>
int
ppath_copydel_object(prop_object_t, prop_object_t *, const ppath_t *);
int
ppath_copyset_object(prop_object_t, prop_object_t *, const ppath_t *,
prop_object_t);
int
ppath_set_object(prop_object_t, const ppath_t *, prop_object_t);
int
ppath_get_object(prop_object_t, const ppath_t *, prop_object_t *);
int
ppath_delete_object(prop_object_t, const ppath_t *);
int
ppath_copydel_data(prop_object_t, prop_object_t *, const ppath_t *);
int
ppath_copyset_data(prop_object_t, prop_object_t *, const ppath_t *,
const void *, size_t);
int
ppath_set_data(prop_object_t, const ppath_t *, const void *, size_t);
int
ppath_get_data(prop_object_t, const ppath_t *, const void **, size_t *);
int
ppath_dup_data(prop_object_t, const ppath_t *, void **, size_t *);
int
ppath_delete_data(prop_object_t, const ppath_t *);
int
ppath_copydel_string(prop_object_t, prop_object_t *, const ppath_t *);
int
ppath_copyset_string(prop_object_t, prop_object_t *, const ppath_t *,
const char *);
int
ppath_set_string(prop_object_t, const ppath_t *, const char *);
int
ppath_get_string(prop_object_t, const ppath_t *, const char **);
int
ppath_dup_string(prop_object_t, const ppath_t *, char **);
int
ppath_delete_string(prop_object_t, const ppath_t *);
DESCRIPTION
The ppath_object routines read, write, or delete objects in a property
list by path.
FUNCTIONS
ppath_object provides these functions for manipulating objects in a prop‐
erty list by the objects' paths:
ppath_copydel_object(prop_object_t o, prop_object_t *op, const ppath_t
*p)
Create a copy of the property list o at *op. Delete from the copy
the property named by p.
If *op is NULL, ppath_copydel_object() creates a shallow copy of o
at *op. If *op is not NULL, ppath_copydel_object() expects for
*op to be an existing shallow copy of o.
For the purposes of ppath_copydel_object(), *op is a shallow copy
of property list o if equal properties at equal paths are shared
between the two. Before ppath_copydel_object() modifies a prop‐
erty shared by *op and o, it creates a private copy of the prop‐
erty for *op.
ppath_copyset_object(prop_object_t o, prop_object_t *op, const ppath_t
*p, prop_object_t v)
Create a copy of the property list o at *op. In the copy, replace
with v the property named by p.
If *op is NULL, ppath_copyset_object() creates a shallow copy of o
at *op. If *op is not NULL, ppath_copyset_object() expects for
*op to be an existing shallow copy of o.
For the purposes of ppath_copyset_object(), *op is a shallow copy
of property list o if equal properties at equal paths are shared
between the two. Before ppath_copydel_object() modifies a prop‐
erty shared by *op and o, it creates a private copy of the prop‐
erty for *op.
ppath_set_object(prop_object_t o, const ppath_t *p, prop_object_t v)
Replace with v the prop_object_t in o named by p.
ppath_get_object(prop_object_t o, const ppath_t *p, prop_object_t *vp)
Retrieve the prop_object_t named by p from o, and write it to *vp.
ppath_get_object() does not increase the reference count of the
retrieved object.
ppath_delete_object(prop_object_t o, const ppath_t *p)
Delete the prop_object_t named by p from o. ppath_delete_object()
decreases by one the deleted object's reference count.
RETURN VALUES
ppath_object routines return 0 on success, and non-zero on error.
ERRORS
[EFTYPE] The ppath_object call requested a
[ENOENT] ppath_copyset_object(), ppath_delete_object(),
ppath_get_object(), and ppath_set_object() return
ENOENT if the path p does not exist in o.
[ENOMEM] ppath_set_object() and ppath_copyset_object() will
return ENOMEM if there was insufficient memory to com‐
plete the operation.
SEE ALSOppath(3), ppath_data(3), ppath_number(3), ppath_string(3), proplib(3)HISTORY
The ppath_object property container path library first appeared in
NetBSD 6.0.
AUTHORS
David Young ⟨dyoung@pobox.com⟩
BSD August 24, 2011 BSD