zbx_pp_item_preproc_t *zbx_pp_item_preproc_create(zbx_uint64_t hostid, unsigned char type, unsigned char value_type,
#ifndef ZABBIX_PP_PREPROCBASE_H
#define ZABBIX_PP_PREPROCBASE_H
ZBX_VECTOR_DECL(pp_step_history, zbx_pp_step_history_t)
zbx_vector_pp_step_history_t step_history;
typedef struct zbx_pp_history_cache zbx_pp_history_cache_t;
zbx_pp_history_t *zbx_pp_history_create(int history_num);
void zbx_pp_history_init(zbx_pp_history_t *history);
void zbx_pp_history_clear(zbx_pp_history_t *history);
zbx_pp_history_t *zbx_pp_history_release(zbx_pp_history_t *history);
void zbx_pp_history_reserve(zbx_pp_history_t *history, int history_num);
void zbx_pp_history_add(zbx_pp_history_t *history, int index, zbx_variant_t *value,
void zbx_pp_history_get(const zbx_pp_history_t *history, int index, const zbx_variant_t **value,
zbx_pp_history_cache_t *zbx_pp_history_cache_create(void);
zbx_pp_history_cache_t *zbx_pp_history_cache_acquire(zbx_pp_history_cache_t *history_cache);
void zbx_pp_history_cache_release(zbx_pp_history_cache_t *history_cache);
zbx_pp_history_t *zbx_pp_history_cache_history_acquire(zbx_pp_history_cache_t *history_cache);
void zbx_pp_history_cache_history_set_and_release(zbx_pp_history_cache_t *history_cache,
zbx_pp_history_t *history_in, zbx_pp_history_t *history_out);