added basic interface of the shellmatta option parser + started adding a test module
This commit is contained in:
@@ -51,6 +51,34 @@ typedef enum
|
||||
SHELLMATTA_MODE_OVERWRITE , /**< overwrite mode */
|
||||
} shellmatta_mode_t;
|
||||
|
||||
/**
|
||||
* @brief definition of shellmatta optionparser agument type
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
SHELLMATTA_OPT_ARG_NONE = 0u, /**< no argument expected */
|
||||
SHELLMATTA_OPT_ARG_REQUIRED, /**< argument is required */
|
||||
SHELLMATTA_OPT_ARG_OPTIONAL, /**< argument is optional */
|
||||
} shellmatta_opt_argtype_t;
|
||||
|
||||
/**
|
||||
* @brief definition of shellmatta optionparser agument type
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
const char *paramLong; /**< long parameter string */
|
||||
const char paramShort; /**< short parameter char */
|
||||
shellmatta_opt_argtype_t argtype; /**< argument type expected */
|
||||
} shellmatta_opt_long_t;
|
||||
|
||||
/**
|
||||
* @brief definition of shellmatta optionparser structure
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
uint32_t offset; /**< current offset of the option parser */
|
||||
} shellmatta_opt_t;
|
||||
|
||||
/**
|
||||
* @brief shellmatta command function definition
|
||||
* @param[in] handle pointer to the instance which is calling the cmd
|
||||
@@ -113,6 +141,7 @@ typedef struct
|
||||
shellmatta_cmd_t *cmdList; /**< pointer to the first command */
|
||||
bool cmdListIsConst; /**< true if the #cmdList was passed during
|
||||
initialization */
|
||||
shellmatta_opt_t optionParser; /**< option parser sructure */
|
||||
} shellmatta_instance_t;
|
||||
|
||||
|
||||
@@ -146,6 +175,19 @@ shellmatta_retCode_t shellmatta_processData(shellmatta_handle_t handle,
|
||||
shellmatta_retCode_t shellmatta_write( shellmatta_handle_t handle,
|
||||
char *data,
|
||||
uint32_t length);
|
||||
|
||||
shellmatta_retCode_t shellmatta_opt( shellmatta_handle_t handle,
|
||||
char *optionString,
|
||||
char *option,
|
||||
char **argument,
|
||||
uint32_t *argLen);
|
||||
|
||||
shellmatta_retCode_t shellmatta_opt_long( shellmatta_handle_t handle,
|
||||
shellmatta_opt_long_t *longOptions,
|
||||
char *option,
|
||||
char **argument,
|
||||
uint32_t *argLen);
|
||||
|
||||
#ifndef SHELLMATTA_STRIP_PRINTF
|
||||
shellmatta_retCode_t shellmatta_printf( shellmatta_handle_t handle,
|
||||
const char *fmt,
|
||||
|
Reference in New Issue
Block a user