int zbx_substitute_macros_xml_unmasked(char **data, const zbx_dc_item_t *item, const struct zbx_json_parse *jp_row,
#ifndef ZABBIX_ZBXEXPRESSION_H
#define ZABBIX_ZBXEXPRESSION_H
#include "zbxcacheconfig.h"
#include "zbx_discoverer_constants.h"
#define ZBX_EXPRESSION_NORMAL 0
#define ZBX_EXPRESSION_AGGREGATE 1
#define ZBX_MACRO_TYPE_MESSAGE_NORMAL 0x00000001
#define ZBX_MACRO_TYPE_MESSAGE_RECOVERY 0x00000002
#define ZBX_MACRO_TYPE_TRIGGER_URL 0x00000004
#define ZBX_MACRO_TYPE_TRIGGER_EXPRESSION 0x00000008
#define ZBX_MACRO_TYPE_TRIGGER_DESCRIPTION 0x00000010
#define ZBX_MACRO_TYPE_TRIGGER_COMMENTS 0x00000020
#define ZBX_MACRO_TYPE_ITEM_KEY 0x00000040
#define ZBX_MACRO_TYPE_ALERT_EMAIL 0x00000080
#define ZBX_MACRO_TYPE_COMMON 0x00000100
#define ZBX_MACRO_TYPE_PARAMS_FIELD 0x00000200
#define ZBX_MACRO_TYPE_SCRIPT 0x00000400
#define ZBX_MACRO_TYPE_SNMP_OID 0x00000800
#define ZBX_MACRO_TYPE_HTTPTEST_FIELD 0x00001000
#define ZBX_MACRO_TYPE_LLD_FILTER 0x00002000
#define ZBX_MACRO_TYPE_TRIGGER_TAG 0x00004000
#define ZBX_MACRO_TYPE_JMX_ENDPOINT 0x00008000
#define ZBX_MACRO_TYPE_MESSAGE_UPDATE 0x00010000
#define ZBX_MACRO_TYPE_HTTP_RAW 0x00020000
#define ZBX_MACRO_TYPE_HTTP_JSON 0x00040000
#define ZBX_MACRO_TYPE_HTTP_XML 0x00080000
#define ZBX_MACRO_TYPE_ALLOWED_HOSTS 0x00100000
#define ZBX_MACRO_TYPE_ITEM_TAG 0x00200000
#define ZBX_MACRO_TYPE_EVENT_NAME 0x00400000
#define ZBX_MACRO_TYPE_SCRIPT_PARAMS_FIELD 0x00800000
#define ZBX_MACRO_TYPE_SCRIPT_NORMAL 0x01000000
#define ZBX_MACRO_TYPE_SCRIPT_RECOVERY 0x02000000
#define ZBX_MACRO_TYPE_REPORT 0x04000000
#define ZBX_MACRO_TYPE_QUERY_FILTER 0x08000000
#define ZBX_MACRO_EXPAND_NO 0
#define ZBX_MACRO_EXPAND_YES 1
#define ZBX_MACRO_ANY (ZBX_TOKEN_LLD_MACRO | ZBX_TOKEN_LLD_FUNC_MACRO | ZBX_TOKEN_USER_MACRO)
#define ZBX_MACRO_JSON (ZBX_MACRO_ANY | ZBX_TOKEN_JSON)
#define ZBX_MACRO_FUNC (ZBX_MACRO_ANY | ZBX_TOKEN_FUNC_MACRO | ZBX_TOKEN_USER_FUNC_MACRO)