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_GET_UI64_RESULT(res) ((zbx_uint64_t *)get_result_value_by_type(res, AR_UINT64))
#define ZBX_GET_DBL_RESULT(res) ((double *)get_result_value_by_type(res, AR_DOUBLE))
#define ZBX_GET_STR_RESULT(res) ((char **)get_result_value_by_type(res, AR_STRING))
#define ZBX_GET_TEXT_RESULT(res) ((char **)get_result_value_by_type(res, AR_TEXT))
#define ZBX_GET_BIN_RESULT(res) ((char **)get_result_value_by_type(res, AR_BIN))
#define ZBX_GET_LOG_RESULT(res) ((zbx_log_t *)get_result_value_by_type(res, AR_LOG))
#define ZBX_GET_MSG_RESULT(res) ((char **)get_result_value_by_type(res, AR_MESSAGE))
void *get_result_value_by_type(AGENT_RESULT *result, int require_type);
#define ZBX_MAX_COLLECTOR_HISTORY (15 * SEC_PER_MIN + 1)
# define ZBX_MAX_COLLECTOR_PERIOD (15 * SEC_PER_MIN)
#define ZBX_CPU_STATE_USER 0
#define ZBX_CPU_STATE_SYSTEM 1
#define ZBX_CPU_STATE_NICE 2
#define ZBX_CPU_STATE_IDLE 3
#define ZBX_CPU_STATE_INTERRUPT 4
#define ZBX_CPU_STATE_IOWAIT 5
#define ZBX_CPU_STATE_SOFTIRQ 6
#define ZBX_CPU_STATE_STEAL 7
#define ZBX_CPU_STATE_GCPU 8
#define ZBX_CPU_STATE_GNICE 9
#define ZBX_CPU_STATE_COUNT 10
#define ZBX_DSTAT_TYPE_SECT 0
#define ZBX_DSTAT_TYPE_OPER 1
#define ZBX_DSTAT_TYPE_BYTE 2
#define ZBX_DSTAT_TYPE_SPS 3
#define ZBX_DSTAT_TYPE_OPS 4
#define ZBX_DSTAT_TYPE_BPS 5
#define ZBX_DSTAT_R_SECT 0
#define ZBX_DSTAT_R_OPER 1
#define ZBX_DSTAT_R_BYTE 2
#define ZBX_DSTAT_W_SECT 3
#define ZBX_DSTAT_W_OPER 4
#define ZBX_DSTAT_W_BYTE 5
int zbx_get_diskstat(const char *devname, zbx_uint64_t *dstat);
#define ZBX_PROCESS_LOCAL_COMMAND 0x1
#define ZBX_PROCESS_MODULE_COMMAND 0x2
#define ZBX_PROCESS_WITH_ALIAS 0x4
zbx_key_access_rule_type_t;
void zbx_init_library_sysinfo(zbx_get_config_int_f get_config_timeout_f, zbx_get_config_int_f