PROP_STRING(3)

NAME
prop_string, prop_string_create, prop_string_create_cstring, prop_string_create_cstring_nocopy, prop_string_copy, prop_string_copy_mutable, prop_string_size, prop_string_mutable, prop_string_cstring, prop_string_cstring_nocopy, prop_string_append, prop_string_append_cstring, prop_string_equals, prop_string_equals_cstring - string value property object

LIBRARY
libprop

SYNOPSIS
#include <prop/proplib.h>
prop_string_t
prop_string_create(void);
prop_string_t
prop_string_create_cstring(const char *cstring);
prop_string_t
prop_string_create_cstring_nocopy(const char *cstring);
prop_string_t
prop_string_copy(prop_string_t string);
prop_string_t
prop_string_copy_mutable(prop_string_t string);
size_t
prop_string_size(prop_string_t string);
bool
prop_string_mutable(prop_string_t string);
char *
prop_string_cstring(prop_string_t string);
const char *
prop_string_cstring_nocopy(prop_string_t string);
bool
prop_string_append(prop_string_t str1, prop_string_t str2);
bool
prop_string_append_cstring(prop_string_t string, const char *cstring);
bool
prop_string_equals(prop_string_t str1, prop_string_t str2);
bool
prop_string_equals_cstring(prop_string_t string, const char *cstring);

DESCRIPTION
The prop_string() family of functions operate on a string value property object type.

prop_string_create(void)
    Create an empty mutable string. Returns NULL on failure.

prop_string_create_cstring(const char *cstring)
    Create a mutable string that contains a copy of cstring. Returns NULL on failure.

prop_string_create_cstring_nocopy(const char *cstring)
    Create an immutable string that contains a reference to cstring. Returns NULL on failure.

prop_string_copy(prop_string_t string)
    Copy a string. If the string being copied is an immutable external C string reference, then the copy is also immutable and references the same external C string. Returns NULL on failure.

prop_string_copy_mutable(prop_string_t string)
    Copy a string, always creating a mutable copy. Returns NULL on failure.

prop_string_size(prop_string_t string)
    Returns the size of the string, not including the terminating NUL. If the supplied object isn't a string, zero is returned.

prop_string_mutable(prop_string_t string)
    Returns true if the string is mutable. If the supplied object isn't a string, false is returned.

prop_string_cstring(prop_string_t string)
    Returns a copy of the string's contents as a C string. The caller is responsible for freeing the returned buffer.

    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.

    Returns NULL on failure.

prop_string_cstring_nocopy(prop_string_t string)
    Returns an immutable reference to the contents of the string as a C string. If the supplied object isn't a string, NULL is returned.

prop_string_append(prop_string_t str1, prop_string_t str2)
    Append the contents of str2 to str1, which must be mutable. Returns true upon success and false otherwise.

prop_string_append_cstring(prop_string_t string, const char *cstring)
    Append the C string cstring to string, which must be mutable. Returns true upon success and false otherwise.

prop_string_equals(prop_string_t str1, prop_string_t str2)
    Returns true if the two string objects are equivalent.

prop_string_equals_cstring(prop_string_t string, const char *cstring)
    Returns true if the string's value is equivalent to cstring.

SEE ALSO
prop_array(3), prop_bool(3), prop_data(3), prop_dictionary(3), prop_number(3), prop_object(3), proplib(3)

HISTORY
The proplib(3) property container object library first appeared in NetBSD 4.0.