static void get_event_update_history(const DB_EVENT *event, char **replace_to, const zbx_uint64_t *recipient_userid,
#include "../zbxalgo/vectorimpl.h"
# include <libxml/parser.h>
# include <libxml/xpath.h>
# include <libxml/xmlerror.h>
ZBX_VECTOR_DECL(rootcause, zbx_rootcause_t)
ZBX_VECTOR_IMPL(rootcause, zbx_rootcause_t)
#define ZBX_REQUEST_HOST_IP 1
#define ZBX_REQUEST_HOST_DNS 2
#define ZBX_REQUEST_HOST_CONN 3
#define ZBX_REQUEST_HOST_PORT 4
#define ZBX_REQUEST_ITEM_LOG_DATE 201
#define ZBX_REQUEST_ITEM_LOG_TIME 202
#define ZBX_REQUEST_ITEM_LOG_AGE 203
#define ZBX_REQUEST_ITEM_LOG_SOURCE 204
#define ZBX_REQUEST_ITEM_LOG_SEVERITY 205
#define ZBX_REQUEST_ITEM_LOG_NSEVERITY 206
#define ZBX_REQUEST_ITEM_LOG_EVENTID 207
static int substitute_simple_macros_impl(const zbx_uint64_t *actionid, const DB_EVENT *event,
const DB_EVENT *r_event, const zbx_uint64_t *userid, const zbx_uint64_t *hostid, const DC_HOST *dc_host,
const DC_ITEM *dc_item, const DB_ALERT *alert, const DB_ACKNOWLEDGE *ack,
const zbx_service_alarm_t *service_alarm, const DB_SERVICE *service, const char *tz,
zbx_history_recv_item_t *history_data_item, char **data, int macro_type, char *error, int maxerrlen);
static int substitute_key_macros_impl(char **data, zbx_uint64_t *hostid, DC_ITEM *dc_item,
const struct zbx_json_parse *jp_row, const zbx_vector_ptr_t *lld_macro_paths, int macro_type,
char *error, size_t maxerrlen);