#include "zbxcacheconfig.h"
#include "zbx_trigger_constants.h"
#include "zbx_host_constants.h"
#include "zbx_item_constants.h"
#include "zbxtagfilter.h"
ZBX_PTR_VECTOR_IMPL(connector_filter, zbx_connector_filter_t)
ZBX_PTR_VECTOR_IMPL(action_eval_ptr, zbx_action_eval_t *)
ZBX_PTR_VECTOR_IMPL(queue_item_ptr, zbx_queue_item_t *)
static void dc_get_history_sync_host(zbx_history_sync_host_t *dst_host, const ZBX_DC_HOST *src_host,
const ZBX_DC_HOST_INVENTORY *host_inventory;
dst_host->hostid = src_host->hostid;
dst_host->proxyid = src_host->proxyid;
dst_host->monitored_by = src_host->monitored_by;
dst_host->status = src_host->status;
zbx_strscpy(dst_host->host, src_host->host);
if (ZBX_ITEM_GET_HOSTNAME & mode)
zbx_strlcpy_utf8(dst_host->name, src_host->name, sizeof(dst_host->name));
if (NULL != (host_inventory = (ZBX_DC_HOST_INVENTORY *)zbx_hashset_search(&(get_dc_config())->host_inventories,
dst_host->inventory_mode = (signed char)host_inventory->inventory_mode;
dst_host->inventory_mode = HOST_INVENTORY_DISABLED;
static void dc_get_history_sync_item(zbx_history_sync_item_t *dst_item, const ZBX_DC_ITEM *src_item)
const ZBX_DC_NUMITEM *numitem;
dst_item->type = src_item->type;
dst_item->value_type = src_item->value_type;
dst_item->state = src_item->state;
dst_item->lastlogsize = src_item->lastlogsize;
dst_item->mtime = src_item->mtime;
if ('\0' != *src_item->error)
dst_item->error = zbx_strdup(NULL, src_item->error);
dst_item->inventory_link = src_item->inventory_link;
dst_item->valuemapid = src_item->valuemapid;
dst_item->status = src_item->status;
dst_item->history_period = zbx_strdup(NULL, src_item->history_period);
dst_item->flags = src_item->flags;
zbx_strscpy(dst_item->key_orig, src_item->key);
switch (src_item->value_type)
case ITEM_VALUE_TYPE_FLOAT:
case ITEM_VALUE_TYPE_UINT64:
numitem = src_item->itemvaluetype.numitem;
dst_item->trends_period = zbx_strdup(NULL, numitem->trends_period);
if ('\0' != *numitem->units)
dst_item->units = zbx_strdup(NULL, numitem->units);