#ifndef ZABBIX_ZBX_POLLER_H
#define ZABBIX_ZBX_POLLER_H
#include "zbxcacheconfig.h"
ZBX_PTR_VECTOR_DECL(agent_result_ptr, AGENT_RESULT*)
void zbx_activate_item_interface(zbx_timespec_t *ts, zbx_dc_interface_t *interface, zbx_uint64_t itemid, int type,
char *host, int version, unsigned char **data, size_t *data_alloc, size_t *data_offset);
void zbx_deactivate_item_interface(zbx_timespec_t *ts, zbx_dc_interface_t *interface, zbx_uint64_t itemid, int type,
char *host, char *key_orig, unsigned char **data, size_t *data_alloc, size_t *data_offset,
int unavailable_delay, int unreachable_period, int unreachable_delay, const char *error);
int zbx_telnet_get_value(zbx_dc_item_t *item, const char *config_source_ip, const char *config_ssh_key_location,
int zbx_agent_get_value(const zbx_dc_item_t *item, const char *config_source_ip, unsigned char program_type,
AGENT_RESULT *result, int *version);
#if defined(HAVE_SSH2) || defined(HAVE_SSH)
int zbx_ssh_get_value(zbx_dc_item_t *item, const char *config_source_ip, const char *config_ssh_key_location,
typedef int (*zbx_get_value_internal_ext_f)(const zbx_dc_item_t *item, const char *param1,
const AGENT_REQUEST *request, AGENT_RESULT *result);
zbx_config_comms_args_t *config_comms;
zbx_get_program_type_f zbx_get_program_type_cb_arg;
unsigned char poller_type;
int config_unavailable_delay;
int config_unreachable_period;
int config_unreachable_delay;
int config_max_concurrent_checks_per_poller;
zbx_get_config_forks_f get_config_forks;
const char *config_java_gateway;
int config_java_gateway_port;
const char *config_externalscripts;
zbx_get_value_internal_ext_f zbx_get_value_internal_ext_cb;
const char *config_ssh_key_location;
const char *config_webdriver_url;
ZBX_THREAD_ENTRY(zbx_poller_thread, args);