first working version

This commit is contained in:
2022-12-03 20:00:11 +01:00
parent e67c12358f
commit 179778d4ac
10 changed files with 7165 additions and 56 deletions

View File

@@ -1,6 +1,24 @@
#pragma once
typedef void(*help_filter)(char key, const char *text);
// void parser (int key, char *arg, struct argp_state *state);
#define CMDP_KEY_DONE 1
#define CMDP_KEY_ARG 2
#define CMDP_KEY_STOP 3
void cmd_parse(char* msg);
typedef enum
{
CMD_OK,
CMD_VALUE_REQ,
CMD_MULTIVAL_REQ,
CMD_UNKNOWN,
} result_t;
typedef result_t (*parser_t)(char key, char *arg);
typedef struct
{
char *name;
parser_t parser;
} cmd_t;
void cmd_parser_init(const cmd_t *commands[], uint8_t size);
void msg_parse(char *msg);