123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- /**
- * \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 "EM_os.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 EM_FAILURE; \
- }
- #define CLI_IS_WHITE_SPACE(ch) ((' ' == (ch)) || ('\t' == (ch)))
- #define CLI_IS_CMD_SEPARATOR(ch) ((' ' == (ch)) || ('\t' == (ch)) || ('\r' == (ch)) || ('\n' == (ch)))
- /** TBD: Move to limits/configuration header file */
- #define CLI_MAX_ARGS 16
- #define CLI_strlen(s) EM_str_len(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 EM_RESULT (* CLI_CMD_HANDLER)
- (
- UINT32 argc,
- UCHAR * argv[]
- ) DECL_REENTRANT;
- /** This data structure represents a CLI command */
- typedef struct _cli_command
- {
- /** Command name */
- DECL_CONST UCHAR * cmd;
- /* Command description */
- DECL_CONST UCHAR * desc;
- /** Command handler */
- DECL_CONST CLI_CMD_HANDLER cmd_hdlr;
- } CLI_COMMAND;
- /* --------------------------------------------- Functions */
- EM_RESULT CLI_init
- (
- void
- );
- EM_RESULT CLI_process_line
- (
- /* IN */ UCHAR * buffer,
- /* IN */ UINT32 buffer_len,
- /* IN */ CLI_COMMAND * cmd_list,
- /* IN */ UINT32 cmd_count
- );
- INT32 CLI_strtoi
- (
- /* IN */ UCHAR *data,
- /* IN */ UINT16 data_length,
- /* IN */ UINT8 base
- );
- EM_RESULT CLI_strtoarray
- (
- /* IN */ UCHAR * data,
- /* IN */ UINT16 data_length,
- /* OUT */ UINT8 * output_array,
- /* IN */ UINT16 output_array_len
- );
- EM_RESULT CLI_strtoarray_le
- (
- /* IN */ UCHAR * data,
- /* IN */ UINT16 data_length,
- /* OUT */ UINT8 * output_array,
- /* IN */ UINT16 output_array_len
- );
- #endif /* _H_CLIFACE_ */
|