Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/zabbix/zabbix.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexei Vladishev <alexei.vladishev@zabbix.com>2013-02-09 23:56:28 +0400
committerAlexei Vladishev <alexei.vladishev@zabbix.com>2013-02-09 23:56:28 +0400
commit31a9bfac9a800d6c8a331f3b7bd48e2e967d216a (patch)
tree5a271fe9cd092924c6bfa24994525a708c7aa794 /src/modules/agent/dummy
parent64155044ac127d54fbf5d65b294f687ae96a233e (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/Makefile2
-rw-r--r--src/modules/agent/dummy/dummy.c84
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;
+}