=pod =head1 NAME librrd - RRD library functions =head1 DESCRIPTION B contains most of the functionality in B. The command line utilities and language bindings are often just wrappers around the code contained in B. This manual page documents the B API. B This document is a work in progress, and should be considered incomplete as long as this warning persists. For more information about the B functions, always consult the source code. =head1 UTILITY FUNCTIONS =over =item B Generates random numbers just like random(). This further ensures that the random number generator is seeded exactly once per process. =item B Dynamically resize the array pointed to by C. C is a pointer to the current size of C. Upon successful realloc(), the C is incremented by 1 and the C pointer is stored at the end of the new C. Returns 1 on success, 0 on failure. type **arr = NULL; type *elem = "whatever"; size_t arr_size = 0; if (!rrd_add_ptr(&arr, &arr_size, elem)) handle_failure(); =item B Like C, except adds a C of the source string. char **arr = NULL; size_t arr_size = NULL; char *str = "example text"; if (!rrd_add_strdup(&arr, &arr_size, str)) handle_failure(); =item B Free an array of pointers allocated by C or C. Also frees the array pointer itself. On return, the source pointer will be NULL and the count will be zero. /* created as above */ rrd_free_ptrs(&arr, &arr_size); /* here, arr == NULL && arr_size == 0 */ =back