X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=test_src%2Fcli.h;h=acb68521c44dafd55e9d2ec2db5997dbeb9514d6;hb=32e8c149a5d05724c3cf32a9ec9b795ac9e87be3;hp=182611d4e5170c823b0b60f73c343f9418df36ee;hpb=572b35bb7409fb362441e0812cb62eab9f2411f0;p=avr-crypto-lib.git diff --git a/test_src/cli.h b/test_src/cli.h index 182611d..acb6852 100644 --- a/test_src/cli.h +++ b/test_src/cli.h @@ -22,37 +22,38 @@ #include #include +#ifndef VOID_FPT +#define VOID_FPT typedef void(*void_fpt)(void); - -#ifdef CLI_OLD - -int16_t findstring_d0(const char* str, const char* v); -int16_t findstring_d0_P(const char* str, PGM_P v); - -int16_t execcommand_d0_P(const char* str, PGM_P v, void(*fpt[])(void) ); - -#else - +#endif typedef char (*cli_rx_fpt)(void); typedef void (*cli_tx_fpt)(char); #define CLI_BUFFER_BS 20 +#define CMDLIST_ENTRY_SIZE 8 typedef struct { PGM_P cmd_name; /* string containing the function name */ PGM_P cmd_param_str; /* param descriptor string */ void_fpt cmd_function; /* function pointer */ + void_fpt options; } cmdlist_entry_t; extern cli_rx_fpt cli_rx; extern cli_tx_fpt cli_tx; extern uint8_t cli_echo; + +void cli_putc(char c); +uint16_t cli_getc(void); +uint16_t cli_getc_cecho(void); +uint8_t cli_getsn(char* s, uint16_t n); +void cli_putstr(char* s); +void cli_putstr_P(PGM_P s); +void cli_hexdump(void* data, uint16_t length); +void cli_hexdump2(void* data, uint16_t length); void echo_ctrl(char* s); int8_t cmd_interface(PGM_VOID_P cmd_desc); -#endif - - #endif /*CLI_H_*/