LwSHELL

group LWSHELL

Lightweight shell.

Defines

LWSHELL_ARRAYSIZE(x)

Get size of statically allocated array.

Parameters
  • x ([in]) – Object to get array size of

Returns

Number of elements in array

lwshell_parse_int(str)

Parse input string as integer

Parameters
  • str ([in]) – String to parse

Returns

String parsed as integer

lwshell_parse_double(str)

Parse input string as double

Parameters
  • str ([in]) – String to parse

Returns

String parsed as double

lwshell_parse_long(str)

Parse input string as long

Parameters
  • str ([in]) – String to parse

Returns

String parsed as long

lwshell_parse_long_long(str)

Parse input string as long long

Parameters
  • str ([in]) – String to parse

Returns

String parsed as long long

Typedefs

typedef int32_t (*lwshell_cmd_fn)(int32_t argc, char **argv)

Command function prototype.

Parameters
  • [in] argc – Number of arguments

  • [in] argv – Pointer to arguments

Returns

0 on success, -1 otherwise

typedef void (*lwshell_output_fn)(const char *str, struct lwshell *lw)

Callback function for character output.

Parameters
  • [in] str – String to output

  • [in] lw – LwSHELL instance

Enums

enum lwshellr_t

LwSHELL result enumeration.

Values:

enumerator lwshellOK

Everything OK

enumerator lwshellERRPAR

Parameter error

enumerator lwshellERRMEM

Memory error

Functions

lwshellr_t lwshell_init(void)

Initialize shell interface.

Returns

lwshellOK on success, member of lwshellr_t otherwise

lwshellr_t lwshell_set_output_fn(lwshell_output_fn out_fn)

Set output function to use to print data from library to user.

Parameters

[in] out_fn – Output function to print library data. Set to NULL to disable the feature

Returns

lwshellOK on success, member of lwshellr_t otherwise

lwshellr_t lwshell_register_cmd(const char *cmd_name, lwshell_cmd_fn cmd_fn, const char *desc)

Register new command to shell.

Parameters
  • [in] cmd_name – Command name. This one is used when entering shell command

  • [in] cmd_fn – Function to call on command match

  • [in] desc – Custom command description

Returns

lwshellOK on success, member of lwshellr_t otherwise

lwshellr_t lwshell_input(const void *in_data, size_t len)

Input data to shell processing.

Parameters
  • [in] in_data – Input data to process

  • [in] len – Length of data for input

Returns

lwshellOK on success, member of lwshellr_t otherwise

struct lwshell_t
#include <lwshell.h>

LwSHELL main structure.

Public Members

lwshell_output_fn out_fn

Optional output function

char buff[LWSHELL_CFG_MAX_INPUT_LEN + 1]

Shell command input buffer

size_t buff_ptr

Buffer pointer for input

int32_t argc

Number of arguments parsed in command

char *argv[LWSHELL_CFG_MAX_CMD_ARGS]

Array of all arguments