int zbx_check_service_default_addr(AGENT_REQUEST *request, const char *default_addr, AGENT_RESULT *result, int perf);
#ifndef ZABBIX_ZBXSYSINFO_H
#define ZABBIX_ZBXSYSINFO_H
#define ZBX_ISSET_UI64(res) ((res)->type & AR_UINT64)
#define ZBX_ISSET_DBL(res) ((res)->type & AR_DOUBLE)
#define ZBX_ISSET_STR(res) ((res)->type & AR_STRING)
#define ZBX_ISSET_TEXT(res) ((res)->type & AR_TEXT)
#define ZBX_ISSET_LOG(res) ((res)->type & AR_LOG)
#define ZBX_ISSET_MSG(res) ((res)->type & AR_MESSAGE)
#define ZBX_ISSET_META(res) ((res)->type & AR_META)
#define ZBX_ISSET_VALUE(res) ((res)->type & (AR_UINT64 | AR_DOUBLE | AR_STRING | AR_TEXT | AR_LOG))
#define ZBX_UNSET_UI64_RESULT(res) \
(res)->type &= ~AR_UINT64; \
(res)->ui64 = (zbx_uint64_t)0; \
#define ZBX_UNSET_DBL_RESULT(res) \
(res)->type &= ~AR_DOUBLE; \
(res)->dbl = (double)0; \
#define ZBX_UNSET_STR_RESULT(res) \
if ((res)->type & AR_STRING) \
(res)->type &= ~AR_STRING; \
#define ZBX_UNSET_TEXT_RESULT(res) \
if ((res)->type & AR_TEXT) \
(res)->type &= ~AR_TEXT; \
#define ZBX_UNSET_LOG_RESULT(res) \
if ((res)->type & AR_LOG) \
zbx_log_free((res)->log); \
(res)->type &= ~AR_LOG; \