#include "zbxcacheconfig.h"
#define ZBX_PREPROCESSING_BATCH_SIZE 256
void zbx_preprocess_item_value(zbx_uint64_t itemid, zbx_uint64_t hostid, unsigned char item_value_type,
unsigned char item_flags, AGENT_RESULT *result, zbx_timespec_t *ts, unsigned char state, char *error);
void zbx_preprocessor_flush(void);
zbx_uint64_t zbx_preprocessor_get_queue_size(void);
int zbx_preprocessor_test(unsigned char value_type, const char *value, const zbx_timespec_t *ts,
unsigned char state, const zbx_vector_pp_step_ptr_t *steps, zbx_vector_pp_result_ptr_t *results,
zbx_pp_history_t *history, char **error);
int zbx_preprocessor_get_diag_stats(zbx_uint64_t *preproc_num, zbx_uint64_t *pending_num,
zbx_uint64_t *finished_num, zbx_uint64_t *sequences_num, char **error);
int zbx_preprocessor_get_top_sequences(int limit, zbx_vector_pp_sequence_stats_ptr_t *sequences, char **error);
int zbx_preprocessor_get_usage_stats(zbx_vector_dbl_t *usage, int *count, char **error);
void zbx_preprocessor_get_worker_info(zbx_process_info_t *info);