24 lines
387 B
C
24 lines
387 B
C
#pragma once
|
|
|
|
#define CMDP_KEY_DONE 1
|
|
#define CMDP_KEY_ARG 2
|
|
#define CMDP_KEY_STOP 3
|
|
|
|
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); |