summaryrefslogtreecommitdiff
path: root/examples/redis-unstable/src/cli_commands.h
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2026-01-21 22:40:55 +0100
committerMitja Felicijan <mitja.felicijan@gmail.com>2026-01-21 22:40:55 +0100
commit5d8dfe892a2ea89f706ee140c3bdcfd89fe03fda (patch)
tree1acdfa5220cd13b7be43a2a01368e80d306473ca /examples/redis-unstable/src/cli_commands.h
parentc7ab12bba64d9c20ccd79b132dac475f7bc3923e (diff)
downloadcrep-5d8dfe892a2ea89f706ee140c3bdcfd89fe03fda.tar.gz
Add Redis source code for testing
Diffstat (limited to 'examples/redis-unstable/src/cli_commands.h')
-rw-r--r--examples/redis-unstable/src/cli_commands.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/examples/redis-unstable/src/cli_commands.h b/examples/redis-unstable/src/cli_commands.h
new file mode 100644
index 0000000..eb5a476
--- /dev/null
+++ b/examples/redis-unstable/src/cli_commands.h
@@ -0,0 +1,46 @@
+/* This file is used by redis-cli in place of server.h when including commands.c
+ * It contains alternative structs which omit the parts of the commands table
+ * that are not suitable for redis-cli, e.g. the command proc. */
+
+#ifndef __REDIS_CLI_COMMANDS_H
+#define __REDIS_CLI_COMMANDS_H
+
+#include <stddef.h>
+#include "commands.h"
+
+/* Syntax specifications for a command argument. */
+typedef struct cliCommandArg {
+ char *name;
+ redisCommandArgType type;
+ char *token;
+ char *since;
+ int flags;
+ int numsubargs;
+ struct cliCommandArg *subargs;
+ const char *display_text;
+
+ /*
+ * For use at runtime.
+ * Fields used to keep track of input word matches for command-line hinting.
+ */
+ int matched; /* How many input words have been matched by this argument? */
+ int matched_token; /* Has the token been matched? */
+ int matched_name; /* Has the name been matched? */
+ int matched_all; /* Has the whole argument been consumed (no hint needed)? */
+} cliCommandArg;
+
+/* Command documentation info used for help output */
+struct commandDocs {
+ char *name;
+ char *summary;
+ char *group;
+ char *since;
+ int numargs;
+ cliCommandArg *args; /* An array of the command arguments. */
+ struct commandDocs *subcommands;
+ char *params; /* A string describing the syntax of the command arguments. */
+};
+
+extern struct commandDocs redisCommandTable[];
+
+#endif