123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- /**
- * \file cliface.h
- *
- * This file contains definitions for command line interface (CLI) framework.
- */
- /*
- * Copyright (C) 2017. Mindtree Ltd.
- * All rights reserved.
- */
- #ifndef _H_CLIFACE_
- #define _H_CLIFACE_
- /* --------------------------------------------- Header File Inclusion */
- //#include "mcu.h"
- #include "hal_mcu.h" // Looks like this file is used in 6212.
- #include <string.h>
- /* --------------------------------------------- Global Definitions */
- /* --------------------------------------------- Macros */
- /* Debug Macros */
- /* TBD: Mapped with debug sub-system */
- #define CLI_ERR(...) /* printf(__VA_ARGS__) */
- #define CLI_TRC(...) /* printf(__VA_ARGS__) */
- #define CLI_INF(...) /* printf(__VA_ARGS__) */
- #define CLI_STR_COMPARE(s0, s1) strcmp((const char *)(s0), (const char *)(s1))
- #define CLI_NULL_CHECK(ptr) \
- if (NULL == (ptr)) \
- {\
- CLI_ERR( \
- "[CLI] NULL Pointer\n"); \
- \
- return 0xffff; \
- }
- #define AT_CMD
-
- #define CLI_IS_WHITE_SPACE(ch) ((' ' == (ch)) || ('\t' == (ch)))
- #ifdef AT_CMD
- #define CLI_IS_CMD_SEPARATOR(ch) (('=' == (ch)) || (',' == (ch)) || ('\r' == (ch)) || ('\n' == (ch)))
- #else // original one.
- #define CLI_IS_CMD_SEPARATOR(ch) ((' ' == (ch)) || ('\t' == (ch)) || ('\r' == (ch)) || ('\n' == (ch)))
- #endif //end AT_CMD
-
- /** TBD: Move to limits/configuration header file */
- #define CLI_MAX_ARGS 16
- #define CLI_strlen(s) strlen((const char*)s)
- /* --------------------------------------------- Data Types/ Structures */
- /**
- * CLI command handler.
- *
- * CLI will call the handler for the received command.
- *
- * \param [in] argc Number of arguments.
- * \param [in] argv List of arguments.
- */
- typedef uint16_t (* CLI_CMD_HANDLER)
- (
- uint32_t argc,
- uint8_t * argv[]
- ) ;
- /** This data structure represents a CLI command */
- typedef struct _cli_command
- {
- /** Command name */
- const uint8_t * cmd;
- /* Command description */
- const uint8_t * desc;
- /** Command handler */
- const CLI_CMD_HANDLER cmd_hdlr;
- } CLI_COMMAND;
- /* --------------------------------------------- Functions */
- uint16_t CLI_init
- (
- void
- );
- uint16_t CLI_process_line
- (
- /* IN */ uint8_t * buffer,
- /* IN */ uint32_t buffer_len,
- /* IN */ CLI_COMMAND * cmd_list,
- /* IN */ uint32_t cmd_count
- );
- int32_t CLI_strtoi
- (
- /* IN */ uint8_t *data,
- /* IN */ uint16_t data_length,
- /* IN */ uint8_t base
- );
- uint16_t CLI_strtoarray
- (
- /* IN */ uint8_t * data,
- /* IN */ uint16_t data_length,
- /* OUT */ uint8_t * output_array,
- /* IN */ uint16_t output_array_len
- );
- uint16_t CLI_strtoarray_le
- (
- /* IN */ uint8_t * data,
- /* IN */ uint16_t data_length,
- /* OUT */ uint8_t * output_array,
- /* IN */ uint16_t output_array_len
- );
- #endif /* _H_CLIFACE_ */
|