command parser: Add support for the GETVAL command.
[collectd.git] / src / utils_cmds.h
index 7dc80fa..62cf8a9 100644 (file)
 
 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. */
@@ -59,6 +82,9 @@ typedef struct {
 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;