X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;ds=inline;f=src%2Futilities.c;h=1dfd60b254e841680f49b59084bae0ab3ccb8991;hb=89aca153336105c0f29903e31ebb6bd743d95307;hp=e6db318b2456bd18dab47017d9ef28ff261b7136;hpb=a839a04ae135e6a92b8be858e9c6605d7514c394;p=awesomized%2Flibmemcached diff --git a/src/utilities.c b/src/utilities.c index e6db318b..1dfd60b2 100644 --- a/src/utilities.c +++ b/src/utilities.c @@ -1,7 +1,9 @@ +#include #include -#include +#include #include "utilities.h" + long int timedif(struct timeval a, struct timeval b) { register int us, s; @@ -19,6 +21,32 @@ void version_command(char *command_name) exit(0); } +char *lookup_help(memcached_options option) +{ + switch (option) + { + case OPT_SERVERS: return("List which servers you wish to connect to."); + case OPT_VERSION: return("Display the version of the application and then exit."); + case OPT_HELP: return("Diplay this message and then exit."); + case OPT_VERBOSE: return("Give more details on the progression of the application."); + case OPT_DEBUG: return("Provide output only useful for debugging."); + case OPT_FLAG: return("Provide flag information for storage operation."); + case OPT_EXPIRE: return("Set the expire option for the object."); + case OPT_SET: return("Use set command with memcached when storing."); + case OPT_REPLACE: return("Use replace command with memcached when storing."); + case OPT_ADD: return("Use add command with memcached when storing."); + case OPT_SLAP_EXECUTE_NUMBER: return("Number of times to execute the given test."); + case OPT_SLAP_INITIAL_LOAD: return("Number of key pairs to load before executing tests."); + case OPT_SLAP_TEST: return("Test to run."); + case OPT_SLAP_CONCURRENCY: return("Number of users to simulate with load."); + case OPT_SLAP_NON_BLOCK: return("Set TCP up to use non-blocking IO."); + case OPT_SLAP_TCP_NODELAY: return("Set TCP socket up to use nodelay."); + case OPT_FLUSH: return("Flush servers before running tests."); + }; + + return "forgot to document this one :)"; +} + void help_command(char *command_name, char *description, const struct option *long_options, memcached_programs_help_st *options) @@ -30,8 +58,14 @@ void help_command(char *command_name, char *description, printf("Current options. A '=' means the option takes a value.\n\n"); for (x= 0; long_options[x].name; x++) + { + char *help_message; + printf("\t --%s%c\n", long_options[x].name, long_options[x].has_arg ? '=' : ' '); + if ((help_message= lookup_help(long_options[x].val))) + printf("\t\t%s\n", help_message); + } printf("\n"); exit(0);