#ifndef ZABBIX_ZBXHISTORY_H
#define ZABBIX_ZBXHISTORY_H
zbx_timespec_t timestamp;
ZBX_VECTOR_DECL(history_record, zbx_history_record_t)
void zbx_history_record_vector_clean(zbx_vector_history_record_t *vector, int value_type);
void zbx_history_record_vector_destroy(zbx_vector_history_record_t *vector, int value_type);
void zbx_history_record_clear(zbx_history_record_t *value, int value_type);
int zbx_history_record_compare_asc_func(const zbx_history_record_t *d1, const zbx_history_record_t *d2);
int zbx_history_record_compare_desc_func(const zbx_history_record_t *d1, const zbx_history_record_t *d2);
void zbx_history_value2str(char *buffer, size_t size, const history_value_t *value, int value_type);
char *zbx_history_value2str_dyn(const history_value_t *value, int value_type);
void zbx_history_value_print(char *buffer, size_t size, const history_value_t *value, int value_type);
#define zbx_history_record_vector_create(vector) zbx_vector_history_record_create(vector)
int zbx_history_init(char **error);
void zbx_history_destroy(void);
int zbx_history_add_values(const zbx_vector_ptr_t *history);
int zbx_history_get_values(zbx_uint64_t itemid, int value_type, int start, int count, int end,
zbx_vector_history_record_t *values);
int zbx_history_requires_trends(int value_type);