NAME
prop_data,
prop_data_create_data,
prop_data_create_data_nocopy,
prop_data_copy,
prop_data_size,
prop_data_data,
prop_data_data_nocopy,
prop_data_equals,
prop_data_equals_data
—
opaque data value property object
LIBRARY
Property Container Object Library (libprop, -lprop)
SYNOPSIS
#include <prop/proplib.h>
prop_data_t
prop_data_create_data(
const
void *blob,
size_t
len);
prop_data_t
prop_data_create_data_nocopy(
const
void *blob,
size_t
len);
prop_data_t
prop_data_copy(
prop_data_t
data);
size_t
prop_data_size(
prop_data_t
data);
void *
prop_data_data(
prop_data_t
data);
const void *
prop_data_data_nocopy(
prop_data_t
data);
bool
prop_data_equals(
prop_data_t
dat1,
prop_data_t
dat2);
bool
prop_data_equals_data(
prop_data_t
data,
const void
*blob,
size_t len);
DESCRIPTION
The
prop_data() family of functions operate on an opaque data
value property object type.
-
-
- prop_data_create_data(const
void *blob, size_t len)
- Create a data object that contains a copy of
blob with size len. Returns
NULL
on failure.
-
-
- prop_data_create_data_nocopy(const
void *blob, size_t len)
- Create a data object that contains a reference to
blob with size len. Returns
NULL
on failure.
-
-
- prop_data_copy(prop_data_t
data)
- Copy a data object. If the data object being copied is an
external data reference, then the copy also references the same external
data. Returns
NULL
on failure.
-
-
- prop_data_size(prop_data_t
data)
- Returns the size of the data object. If the supplied object
isn't a data object, zero is returned.
-
-
- prop_data_data(prop_data_t
data)
- Returns a copy of the data object's contents. The caller is
responsible for freeing the returned buffer. If the supplied object isn't
a data object or if the data container is empty,
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_data_data_nocopy(prop_data_t
data)
- Returns an immutable reference to the contents of the data
object. If the supplied object isn't a data object,
NULL
is returned.
-
-
- prop_data_equals(prop_data_t
dat1, prop_data_t dat2)
- Returns
true
if the two data
objects are equivalent. If at least one of the supplied objects isn't a
data object, false
is returned.
-
-
- prop_data_equals_data(prop_data_t
data, const void *blob, size_t
len)
- Returns
true
if the data object's
value is equivalent to blob with size
len. If the supplied object isn't a data object,
false
is returned.
SEE ALSO
prop_array(3),
prop_bool(3),
prop_dictionary(3),
prop_number(3),
prop_object(3),
prop_string(3),
proplib(3)
HISTORY
The
proplib(3) property container
object library first appeared in
NetBSD 4.0.