#include "keyval.h"
+#ifdef __cplusplus
+extern "C" {
+# endif
+
typedef struct keyval_array_t {
struct keyval_t kv; /* Inherits keyval_t */
unsigned int len; /* length of array_val */
int keyval_array_compare(keyval_array_t *kva1, keyval_array_t *kva2);
size_t keyval_array_get_encoded_size(keyval_array_t *kva);
size_t keyval_array_encode(keyval_array_t *kva, void **byte, size_t *byte_len);
-size_t keyval_array_decode(void *byte, keyval_array_t **kva);
+size_t keyval_array_decode(void *byte, keyval_array_t **kva, size_t byte_size);
int keyval_array_copy_array(keyval_array_t *kva, void **array_val,
unsigned int array_len, size_t (*measure_val_len)(void * val));
int keyval_array_get_data(keyval_array_t *kva, int *type, void ***array_val,
int idx, void *val, size_t size);
int keyval_array_is_idx_valid(keyval_array_t *kva, int idx);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* __KEYVAL_ARRAY_H__ */