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
library “libprop”
SYNOPSIS
#include
<libprop/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
Theprop_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 kmalloc(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
property container object
library first appeared in NetBSD 4.0.