mtbl_iter − iterate over a sequence of key−value pairs
mtbl_iter_next(struct mtbl_iter *it,
const uint8_t * *key, size_t *len_key,
const uint8_t * *val, size_t *len_val);
mtbl_iter_destroy(struct mtbl_iter **it);
The mtbl_iter interface is used to return a sequence of one or more key−value pairs. Once the caller obtains an mtbl_iter object, mtbl_iter_next() should be repeatedly called on it until there are no more key−value entries to retrieve, at which point the iterator object must be freed by calling mtbl_iter_destroy().
mtbl_iter_next() returns mtbl_res_success if a key−value entry was successfully retrieved, in which case key and val will point to buffers of length len_key and len_val respectively. The value mtbl_res_failure is returned if there are no more entries to read, or if the it argument is NULL.