- int status;
- char **help_text;
- size_t help_text_len;
- char *command;
- size_t i;
-
- char *help_help[] =
- {
- "5 Command overview\n",
- "FLUSH <filename>\n",
- "FLUSHALL\n",
- "HELP [<command>]\n",
- "UPDATE <filename> <values> [<values> ...]\n",
- "STATS\n"
- };
- size_t help_help_len = sizeof (help_help) / sizeof (help_help[0]);
-
- char *help_flush[] =
- {
- "4 Help for FLUSH\n",
- "Usage: FLUSH <filename>\n",
- "\n",
- "Adds the given filename to the head of the update queue and returns\n",
- "after is has been dequeued.\n"
- };
- size_t help_flush_len = sizeof (help_flush) / sizeof (help_flush[0]);
-
- char *help_flushall[] =
- {
- "3 Help for FLUSHALL\n",
- "Usage: FLUSHALL\n",
- "\n",
- "Triggers writing of all pending updates. Returns immediately.\n"
- };
- size_t help_flushall_len = sizeof(help_flushall) / sizeof(help_flushall[0]);
-
- char *help_update[] =
- {
- "9 Help for UPDATE\n",
- "Usage: UPDATE <filename> <values> [<values> ...]\n"
- "\n",
- "Adds the given file to the internal cache if it is not yet known and\n",
- "appends the given value(s) to the entry. See the rrdcached(1) manpage\n",
- "for details.\n",
- "\n",
- "Each <values> has the following form:\n",
- " <values> = <time>:<value>[:<value>[...]]\n",
- "See the rrdupdate(1) manpage for details.\n"
- };
- size_t help_update_len = sizeof (help_update) / sizeof (help_update[0]);
-
- char *help_stats[] =
- {
- "4 Help for STATS\n",
- "Usage: STATS\n",
- "\n",
- "Returns some performance counters, see the rrdcached(1) manpage for\n",
- "a description of the values.\n"
- };
- size_t help_stats_len = sizeof (help_stats) / sizeof (help_stats[0]);
-
- status = buffer_get_field (&buffer, &buffer_size, &command);
- if (status != 0)
- {
- help_text = help_help;
- help_text_len = help_help_len;
- }
- else
- {
- if (strcasecmp (command, "update") == 0)
- {
- help_text = help_update;
- help_text_len = help_update_len;
- }
- else if (strcasecmp (command, "flush") == 0)
- {
- help_text = help_flush;
- help_text_len = help_flush_len;
- }
- else if (strcasecmp (command, "flushall") == 0)
- {
- help_text = help_flushall;
- help_text_len = help_flushall_len;
- }
- else if (strcasecmp (command, "stats") == 0)
- {
- help_text = help_stats;
- help_text_len = help_stats_len;
- }
- else
- {
- help_text = help_help;
- help_text_len = help_help_len;
- }
- }