static int agent_hostname(AGENT_REQUEST *request, AGENT_RESULT *result);
static int agent_hostmetadata(AGENT_REQUEST *request, AGENT_RESULT *result);
static int agent_ping(AGENT_REQUEST *request, AGENT_RESULT *result);
static int agent_version(AGENT_REQUEST *request, AGENT_RESULT *result);
static int agent_variant(AGENT_REQUEST *request, AGENT_RESULT *result);
static zbx_metric_t parameters_agent[] =
{"agent.hostname", 0, agent_hostname, NULL},
{"agent.hostmetadata", 0, agent_hostmetadata, NULL},
{"agent.ping", 0, agent_ping, NULL},
{"agent.variant", 0, agent_variant, NULL},
{"agent.version", 0, agent_version, NULL},
{"modbus.get", CF_HAVEPARAMS, modbus_get, "tcp://127.0.0.1"},
zbx_metric_t *get_parameters_agent(void)
return ¶meters_agent[0];
static int agent_hostname(AGENT_REQUEST *request, AGENT_RESULT *result)
if (NULL == sysinfo_get_config_hostname())
SET_STR_RESULT(result, NULL != (p = strchr(sysinfo_get_config_hostnames(), ',')) ?
zbx_dsprintf(NULL, "%.*s", (int)(p - sysinfo_get_config_hostnames()),
sysinfo_get_config_hostnames()) : zbx_strdup(NULL, sysinfo_get_config_hostnames()));
SET_STR_RESULT(result, zbx_strdup(NULL, sysinfo_get_config_hostname()));
static int agent_hostmetadata(AGENT_REQUEST *request, AGENT_RESULT *result)