typedef enum {
CMD_UNKNOWN = 0,
- CMD_PUTVAL = 1,
+ CMD_FLUSH = 1,
+ CMD_GETVAL = 2,
+ CMD_LISTVAL = 3,
+ CMD_PUTVAL = 4,
} cmd_type_t;
#define CMD_TO_STRING(type) \
- ((type) == CMD_PUTVAL) ? "PUTVAL" \
+ ((type) == CMD_FLUSH) ? "FLUSH" \
+ : ((type) == CMD_GETVAL) ? "GETVAL" \
+ : ((type) == CMD_LISTVAL) ? "LISTVAL" \
+ : ((type) == CMD_PUTVAL) ? "PUTVAL" \
: "UNKNOWN"
typedef struct {
+ double timeout;
+
+ char **plugins;
+ size_t plugins_num;
+ identifier_t *identifiers;
+ size_t identifiers_num;
+} cmd_flush_t;
+
+typedef struct {
+ char *raw_identifier;
+ identifier_t identifier;
+} cmd_getval_t;
+
+typedef struct {
+} cmd_listval_t;
+
+typedef struct {
/* The raw identifier as provided by the user. */
- char *identifier;
+ char *raw_identifier;
/* An array of the fully parsed identifier and all value lists, and their
* options as provided by the user. */
typedef struct {
cmd_type_t type;
union {
+ cmd_flush_t flush;
+ cmd_getval_t getval;
+ cmd_listval_t listval;
cmd_putval_t putval;
} cmd;
} cmd_t;