diff options
author | Alexei Vladishev <alexei.vladishev@zabbix.com> | 2013-02-09 23:56:28 +0400 |
---|---|---|
committer | Alexei Vladishev <alexei.vladishev@zabbix.com> | 2013-02-09 23:56:28 +0400 |
commit | 31a9bfac9a800d6c8a331f3b7bd48e2e967d216a (patch) | |
tree | 5a271fe9cd092924c6bfa24994525a708c7aa794 /src/modules/agent/dummy | |
parent | 64155044ac127d54fbf5d65b294f687ae96a233e (diff) |
...G...... [ZBXNEXT-1550] added missing files from the previous commit
Diffstat (limited to 'src/modules/agent/dummy')
-rw-r--r-- | src/modules/agent/dummy/Makefile | 2 | ||||
-rw-r--r-- | src/modules/agent/dummy/dummy.c | 84 |
2 files changed, 86 insertions, 0 deletions
diff --git a/src/modules/agent/dummy/Makefile b/src/modules/agent/dummy/Makefile new file mode 100644 index 00000000000..bb0c111a094 --- /dev/null +++ b/src/modules/agent/dummy/Makefile @@ -0,0 +1,2 @@ +dummy: dummy.c + gcc -shared -o dummy.so dummy.c -I../../../../include diff --git a/src/modules/agent/dummy/dummy.c b/src/modules/agent/dummy/dummy.c new file mode 100644 index 00000000000..ea5e149bb59 --- /dev/null +++ b/src/modules/agent/dummy/dummy.c @@ -0,0 +1,84 @@ +#include "modules.h" +#include "sysinfo.h" + +int zbx_module_version() +{ + return 1; +} + +char **zbx_module_list() +{ + static char *keys[]={"dummy.ping", "dummy.echo[*]", "dummy.random[*]"}; + return keys; +} + +static int dummy_ping(AGENT_REQUEST *request, AGENT_RESULT *result) +{ + SET_UI64_RESULT(result, 1); + + return SYSINFO_RET_OK; +} + +static int dummy_echo(AGENT_REQUEST *request, AGENT_RESULT *result) +{ +/* TODO nparam return 1 event in case if there are no parameters, it should be fixed */ + if(request->nparam != 1) + { + return SYSINFO_RET_FAIL; + } + + SET_STR_RESULT(result, zbx_strdup(NULL, get_rparam(request,0))); + + return SYSINFO_RET_OK; +} + +static int dummy_random(AGENT_REQUEST *request, AGENT_RESULT *result) +{ + int from, to; + + if(request->nparam != 2) + { + return SYSINFO_RET_FAIL; + } + + from = atoi(get_rparam(request, 0)); + to = atoi(get_rparam(request, 1)); + + SET_UI64_RESULT(result, from + rand() % (to - from+1)); + + return SYSINFO_RET_OK; +} + + +int zbx_module_process(AGENT_REQUEST *request, AGENT_RESULT *result) +{ + int ret = SYSINFO_RET_FAIL; + + if(0 == strcmp(request->key,"dummy.ping")) + { + ret = dummy_ping(request, result); + } + else if(0 == strcmp(request->key,"dummy.echo")) + { + ret = dummy_echo(request, result); + } + else if(0 == strcmp(request->key,"dummy.random")) + { + ret = dummy_random(request, result); + } + + return ret; +} + +/* It should return ZBX_MODULE_FAIL in case of initialization failure */ +int zbx_module_init() +{ + srand(time(NULL)); + + return ZBX_MODULE_OK; +} + +int zbx_module_uninit() +{ + return ZBX_MODULE_OK; +} |