mirror of
https://github.com/espressif/openthread.git
synced 2026-08-10 20:57:47 +00:00
[cli] change 'argc' -> 'aArgsLength', 'argv' -> 'aArgs' (#4718)
This commit is contained in:
@@ -45,13 +45,13 @@
|
||||
*/
|
||||
static bool sDiagMode = false;
|
||||
|
||||
void otPlatDiagProcess(otInstance *aInstance, int argc, char *argv[], char *aOutput, size_t aOutputMaxLen)
|
||||
void otPlatDiagProcess(otInstance *aInstance, int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
OT_UNUSED_VARIABLE(aInstance);
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
|
||||
// Add more platform specific diagnostics features here.
|
||||
snprintf(aOutput, aOutputMaxLen, "diag feature '%s' is not supported\r\n", argv[0]);
|
||||
snprintf(aOutput, aOutputMaxLen, "diag feature '%s' is not supported\r\n", aArgs[0]);
|
||||
}
|
||||
|
||||
void otPlatDiagModeSet(bool aMode)
|
||||
|
||||
@@ -59,7 +59,7 @@ typedef enum
|
||||
struct PlatformDiagCommand
|
||||
{
|
||||
const char *mName;
|
||||
otError (*mCommand)(otInstance *aInstance, int argc, char *argv[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError (*mCommand)(otInstance *aInstance, int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen);
|
||||
};
|
||||
|
||||
struct PlatformDiagMessage
|
||||
@@ -88,10 +88,10 @@ static struct PlatformDiagMessage sDiagMessage = {.mMessageDescriptor = "Di
|
||||
.mID = 0,
|
||||
.mCnt = 0};
|
||||
|
||||
static otError parseLong(char *argv, long *aValue)
|
||||
static otError parseLong(char *aArgs, long *aValue)
|
||||
{
|
||||
char *endptr;
|
||||
*aValue = strtol(argv, &endptr, 0);
|
||||
*aValue = strtol(aArgs, &endptr, 0);
|
||||
return (*endptr == '\0') ? OT_ERROR_NONE : OT_ERROR_PARSE;
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ static bool startCarrierTransmision(void)
|
||||
return nrf_802154_continuous_carrier();
|
||||
}
|
||||
|
||||
static otError processListen(otInstance *aInstance, int argc, char *argv[], char *aOutput, size_t aOutputMaxLen)
|
||||
static otError processListen(otInstance *aInstance, int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
OT_UNUSED_VARIABLE(aInstance);
|
||||
|
||||
@@ -119,7 +119,7 @@ static otError processListen(otInstance *aInstance, int argc, char *argv[], char
|
||||
|
||||
otEXPECT_ACTION(otPlatDiagModeGet(), error = OT_ERROR_INVALID_STATE);
|
||||
|
||||
if (argc == 0)
|
||||
if (aArgsLength == 0)
|
||||
{
|
||||
snprintf(aOutput, aOutputMaxLen, "listen: %s\r\n", sListen == true ? "yes" : "no");
|
||||
}
|
||||
@@ -127,7 +127,7 @@ static otError processListen(otInstance *aInstance, int argc, char *argv[], char
|
||||
{
|
||||
long value;
|
||||
|
||||
error = parseLong(argv[0], &value);
|
||||
error = parseLong(aArgs[0], &value);
|
||||
otEXPECT(error == OT_ERROR_NONE);
|
||||
sListen = (bool)(value);
|
||||
snprintf(aOutput, aOutputMaxLen, "set listen to %s\r\nstatus 0x%02x\r\n", sListen == true ? "yes" : "no",
|
||||
@@ -139,7 +139,7 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
static otError processID(otInstance *aInstance, int argc, char *argv[], char *aOutput, size_t aOutputMaxLen)
|
||||
static otError processID(otInstance *aInstance, int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
OT_UNUSED_VARIABLE(aInstance);
|
||||
|
||||
@@ -147,7 +147,7 @@ static otError processID(otInstance *aInstance, int argc, char *argv[], char *aO
|
||||
|
||||
otEXPECT_ACTION(otPlatDiagModeGet(), error = OT_ERROR_INVALID_STATE);
|
||||
|
||||
if (argc == 0)
|
||||
if (aArgsLength == 0)
|
||||
{
|
||||
snprintf(aOutput, aOutputMaxLen, "ID: %" PRId16 "\r\n", sID);
|
||||
}
|
||||
@@ -155,7 +155,7 @@ static otError processID(otInstance *aInstance, int argc, char *argv[], char *aO
|
||||
{
|
||||
long value;
|
||||
|
||||
error = parseLong(argv[0], &value);
|
||||
error = parseLong(aArgs[0], &value);
|
||||
otEXPECT(error == OT_ERROR_NONE);
|
||||
otEXPECT_ACTION(value >= 0, error = OT_ERROR_INVALID_ARGS);
|
||||
sID = (int16_t)(value);
|
||||
@@ -167,19 +167,23 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
static otError processTransmit(otInstance *aInstance, int argc, char *argv[], char *aOutput, size_t aOutputMaxLen)
|
||||
static otError processTransmit(otInstance *aInstance,
|
||||
int aArgsLength,
|
||||
char * aArgs[],
|
||||
char * aOutput,
|
||||
size_t aOutputMaxLen)
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
|
||||
otEXPECT_ACTION(otPlatDiagModeGet(), error = OT_ERROR_INVALID_STATE);
|
||||
|
||||
if (argc == 0)
|
||||
if (aArgsLength == 0)
|
||||
{
|
||||
snprintf(aOutput, aOutputMaxLen,
|
||||
"transmit will send %" PRId32 " diagnostic messages with %" PRIu32 " ms interval\r\nstatus 0x%02x\r\n",
|
||||
sTxRequestedCount, sTxPeriod, error);
|
||||
}
|
||||
else if (strcmp(argv[0], "stop") == 0)
|
||||
else if (strcmp(aArgs[0], "stop") == 0)
|
||||
{
|
||||
otEXPECT_ACTION(sTransmitMode != kDiagTransmitModeIdle, error = OT_ERROR_INVALID_STATE);
|
||||
|
||||
@@ -188,7 +192,7 @@ static otError processTransmit(otInstance *aInstance, int argc, char *argv[], ch
|
||||
sTransmitMode = kDiagTransmitModeIdle;
|
||||
otPlatRadioReceive(aInstance, sChannel);
|
||||
}
|
||||
else if (strcmp(argv[0], "start") == 0)
|
||||
else if (strcmp(aArgs[0], "start") == 0)
|
||||
{
|
||||
otEXPECT_ACTION(sTransmitMode == kDiagTransmitModeIdle, error = OT_ERROR_INVALID_STATE);
|
||||
|
||||
@@ -201,7 +205,7 @@ static otError processTransmit(otInstance *aInstance, int argc, char *argv[], ch
|
||||
"sending %" PRId32 " diagnostic messages with %" PRIu32 " ms interval\r\nstatus 0x%02x\r\n",
|
||||
sTxRequestedCount, sTxPeriod, error);
|
||||
}
|
||||
else if (strcmp(argv[0], "carrier") == 0)
|
||||
else if (strcmp(aArgs[0], "carrier") == 0)
|
||||
{
|
||||
otEXPECT_ACTION(sTransmitMode == kDiagTransmitModeIdle, error = OT_ERROR_INVALID_STATE);
|
||||
|
||||
@@ -212,26 +216,26 @@ static otError processTransmit(otInstance *aInstance, int argc, char *argv[], ch
|
||||
snprintf(aOutput, aOutputMaxLen, "sending carrier on channel %d with tx power %d\r\nstatus 0x%02x\r\n",
|
||||
sChannel, sTxPower, error);
|
||||
}
|
||||
else if (strcmp(argv[0], "interval") == 0)
|
||||
else if (strcmp(aArgs[0], "interval") == 0)
|
||||
{
|
||||
long value;
|
||||
|
||||
otEXPECT_ACTION(argc == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
otEXPECT_ACTION(aArgsLength == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
error = parseLong(argv[1], &value);
|
||||
error = parseLong(aArgs[1], &value);
|
||||
otEXPECT(error == OT_ERROR_NONE);
|
||||
otEXPECT_ACTION(value > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
sTxPeriod = (uint32_t)(value);
|
||||
snprintf(aOutput, aOutputMaxLen, "set diagnostic messages interval to %" PRIu32 " ms\r\nstatus 0x%02x\r\n",
|
||||
sTxPeriod, error);
|
||||
}
|
||||
else if (strcmp(argv[0], "count") == 0)
|
||||
else if (strcmp(aArgs[0], "count") == 0)
|
||||
{
|
||||
long value;
|
||||
|
||||
otEXPECT_ACTION(argc == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
otEXPECT_ACTION(aArgsLength == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
error = parseLong(argv[1], &value);
|
||||
error = parseLong(aArgs[1], &value);
|
||||
otEXPECT(error == OT_ERROR_NONE);
|
||||
otEXPECT_ACTION((value > 0) || (value == -1), error = OT_ERROR_INVALID_ARGS);
|
||||
sTxRequestedCount = (uint32_t)(value);
|
||||
@@ -248,7 +252,7 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
static otError processGpio(otInstance *aInstance, int argc, char *argv[], char *aOutput, size_t aOutputMaxLen)
|
||||
static otError processGpio(otInstance *aInstance, int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
OT_UNUSED_VARIABLE(aInstance);
|
||||
|
||||
@@ -257,12 +261,12 @@ static otError processGpio(otInstance *aInstance, int argc, char *argv[], char *
|
||||
|
||||
otEXPECT_ACTION(otPlatDiagModeGet(), error = OT_ERROR_INVALID_STATE);
|
||||
|
||||
if (argc == 1)
|
||||
if (aArgsLength == 1)
|
||||
{
|
||||
uint32_t value;
|
||||
nrf_gpio_pin_dir_t pindir;
|
||||
|
||||
error = parseLong(argv[0], &pinnum);
|
||||
error = parseLong(aArgs[0], &pinnum);
|
||||
otEXPECT(error == OT_ERROR_NONE);
|
||||
|
||||
pindir = nrf_gpio_pin_dir_get(pinnum);
|
||||
@@ -278,40 +282,40 @@ static otError processGpio(otInstance *aInstance, int argc, char *argv[], char *
|
||||
|
||||
snprintf(aOutput, aOutputMaxLen, "gpio %d = %d\r\n", (uint8_t)pinnum, (uint8_t)value);
|
||||
}
|
||||
else if (strcmp(argv[0], "set") == 0)
|
||||
else if (strcmp(aArgs[0], "set") == 0)
|
||||
{
|
||||
otEXPECT_ACTION(argc == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
error = parseLong(argv[1], &pinnum);
|
||||
otEXPECT_ACTION(aArgsLength == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
error = parseLong(aArgs[1], &pinnum);
|
||||
otEXPECT(error == OT_ERROR_NONE);
|
||||
|
||||
nrf_gpio_pin_set(pinnum);
|
||||
|
||||
snprintf(aOutput, aOutputMaxLen, "gpio %d = 1\r\n", (uint8_t)pinnum);
|
||||
}
|
||||
else if (strcmp(argv[0], "clr") == 0)
|
||||
else if (strcmp(aArgs[0], "clr") == 0)
|
||||
{
|
||||
otEXPECT_ACTION(argc == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
error = parseLong(argv[1], &pinnum);
|
||||
otEXPECT_ACTION(aArgsLength == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
error = parseLong(aArgs[1], &pinnum);
|
||||
otEXPECT(error == OT_ERROR_NONE);
|
||||
|
||||
nrf_gpio_pin_clear(pinnum);
|
||||
|
||||
snprintf(aOutput, aOutputMaxLen, "gpio %d = 0\r\n", (uint8_t)pinnum);
|
||||
}
|
||||
else if (strcmp(argv[0], "out") == 0)
|
||||
else if (strcmp(aArgs[0], "out") == 0)
|
||||
{
|
||||
otEXPECT_ACTION(argc == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
error = parseLong(argv[1], &pinnum);
|
||||
otEXPECT_ACTION(aArgsLength == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
error = parseLong(aArgs[1], &pinnum);
|
||||
otEXPECT(error == OT_ERROR_NONE);
|
||||
|
||||
nrf_gpio_cfg_output(pinnum);
|
||||
|
||||
snprintf(aOutput, aOutputMaxLen, "gpio %d: out\r\n", (uint8_t)pinnum);
|
||||
}
|
||||
else if (strcmp(argv[0], "in") == 0)
|
||||
else if (strcmp(aArgs[0], "in") == 0)
|
||||
{
|
||||
otEXPECT_ACTION(argc == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
error = parseLong(argv[1], &pinnum);
|
||||
otEXPECT_ACTION(aArgsLength == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
error = parseLong(aArgs[1], &pinnum);
|
||||
otEXPECT(error == OT_ERROR_NONE);
|
||||
|
||||
nrf_gpio_cfg_input(pinnum, NRF_GPIO_PIN_NOPULL);
|
||||
@@ -328,16 +332,16 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
static otError processTemp(otInstance *aInstance, int argc, char *argv[], char *aOutput, size_t aOutputMaxLen)
|
||||
static otError processTemp(otInstance *aInstance, int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
OT_UNUSED_VARIABLE(aInstance);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
otError error = OT_ERROR_NONE;
|
||||
int32_t temperature;
|
||||
|
||||
otEXPECT_ACTION(otPlatDiagModeGet(), error = OT_ERROR_INVALID_STATE);
|
||||
otEXPECT_ACTION(argc == 0, error = OT_ERROR_INVALID_ARGS);
|
||||
otEXPECT_ACTION(aArgsLength == 0, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
temperature = nrf5TempGet();
|
||||
|
||||
@@ -350,7 +354,11 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
static otError processCcaThreshold(otInstance *aInstance, int argc, char *argv[], char *aOutput, size_t aOutputMaxLen)
|
||||
static otError processCcaThreshold(otInstance *aInstance,
|
||||
int aArgsLength,
|
||||
char * aArgs[],
|
||||
char * aOutput,
|
||||
size_t aOutputMaxLen)
|
||||
{
|
||||
OT_UNUSED_VARIABLE(aInstance);
|
||||
|
||||
@@ -359,7 +367,7 @@ static otError processCcaThreshold(otInstance *aInstance, int argc, char *argv[]
|
||||
|
||||
otEXPECT_ACTION(otPlatDiagModeGet(), error = OT_ERROR_INVALID_STATE);
|
||||
|
||||
if (argc == 0)
|
||||
if (aArgsLength == 0)
|
||||
{
|
||||
nrf_802154_cca_cfg_get(&ccaConfig);
|
||||
|
||||
@@ -368,7 +376,7 @@ static otError processCcaThreshold(otInstance *aInstance, int argc, char *argv[]
|
||||
else
|
||||
{
|
||||
long value;
|
||||
error = parseLong(argv[0], &value);
|
||||
error = parseLong(aArgs[0], &value);
|
||||
otEXPECT(error == OT_ERROR_NONE);
|
||||
otEXPECT_ACTION(value >= 0 && value <= 0xFF, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
@@ -394,16 +402,17 @@ const struct PlatformDiagCommand sCommands[] = {
|
||||
{"transmit", &processTransmit},
|
||||
};
|
||||
|
||||
otError otPlatDiagProcess(otInstance *aInstance, int argc, char *argv[], char *aOutput, size_t aOutputMaxLen)
|
||||
otError otPlatDiagProcess(otInstance *aInstance, int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
otError error = OT_ERROR_INVALID_COMMAND;
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < otARRAY_LENGTH(sCommands); i++)
|
||||
{
|
||||
if (strcmp(argv[0], sCommands[i].mName) == 0)
|
||||
if (strcmp(aArgs[0], sCommands[i].mName) == 0)
|
||||
{
|
||||
error = sCommands[i].mCommand(aInstance, argc - 1, argc > 1 ? &argv[1] : NULL, aOutput, aOutputMaxLen);
|
||||
error = sCommands[i].mCommand(aInstance, aArgsLength - 1, aArgsLength > 1 ? &aArgs[1] : NULL, aOutput,
|
||||
aOutputMaxLen);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,8 +51,8 @@ extern "C" {
|
||||
*/
|
||||
typedef struct otCliCommand
|
||||
{
|
||||
const char *mName; ///< A pointer to the command string.
|
||||
void (*mCommand)(int argc, char *argv[]); ///< A function pointer to process the command.
|
||||
const char *mName; ///< A pointer to the command string.
|
||||
void (*mCommand)(int aArgsLength, char *aArgs[]); ///< A function pointer to process the command.
|
||||
} otCliCommand;
|
||||
|
||||
/**
|
||||
|
||||
@@ -55,8 +55,8 @@ extern "C" {
|
||||
* This function processes a factory diagnostics command line.
|
||||
*
|
||||
* @param[in] aInstance A pointer to an OpenThread instance.
|
||||
* @param[in] aArgCount The argument counter of diagnostics command line.
|
||||
* @param[in] aArgVector The argument vector of diagnostics command line.
|
||||
* @param[in] aArgsLength The number of elements in @p aArgs.
|
||||
* @param[in] aArgs An array of arguments.
|
||||
* @param[out] aOutput The diagnostics execution result.
|
||||
* @param[in] aOutputMaxLen The output buffer size.
|
||||
*
|
||||
@@ -65,7 +65,7 @@ extern "C" {
|
||||
* @retval OT_ERROR_NOT_IMPLEMENTED The command is not supported.
|
||||
*
|
||||
*/
|
||||
otError otDiagProcessCmd(otInstance *aInstance, int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError otDiagProcessCmd(otInstance *aInstance, int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen);
|
||||
|
||||
/**
|
||||
* This function processes a factory diagnostics command line.
|
||||
|
||||
@@ -60,8 +60,8 @@ extern "C" {
|
||||
* This function processes a factory diagnostics command line.
|
||||
*
|
||||
* @param[in] aInstance The OpenThread instance for current request.
|
||||
* @param[in] argc The argument counter of diagnostics command line.
|
||||
* @param[in] argv The argument vector of diagnostics command line.
|
||||
* @param[in] aArgsLength The number of arguments in @p aArgs.
|
||||
* @param[in] aArgs The arguments of diagnostics command line.
|
||||
* @param[out] aOutput The diagnostics execution result.
|
||||
* @param[in] aOutputMaxLen The output buffer size.
|
||||
*
|
||||
@@ -70,7 +70,7 @@ extern "C" {
|
||||
* @retval OT_ERROR_INVALID_COMMAND The command is not valid or not supported.
|
||||
*
|
||||
*/
|
||||
otError otPlatDiagProcess(otInstance *aInstance, int argc, char *argv[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError otPlatDiagProcess(otInstance *aInstance, int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen);
|
||||
|
||||
/**
|
||||
* This function enables/disables the factory diagnostics mode.
|
||||
|
||||
+420
-420
File diff suppressed because it is too large
Load Diff
+86
-86
@@ -85,8 +85,8 @@ class Server;
|
||||
*/
|
||||
struct Command
|
||||
{
|
||||
const char *mName; ///< A pointer to the command string.
|
||||
void (Interpreter::*mCommand)(int argc, char *argv[]); ///< A function pointer to process the command.
|
||||
const char *mName; ///< A pointer to the command string.
|
||||
void (Interpreter::*mCommand)(int aArgsLength, char *aArgs[]); ///< A function pointer to process the command.
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -200,149 +200,149 @@ private:
|
||||
};
|
||||
|
||||
otError ParsePingInterval(const char *aString, uint32_t &aInterval);
|
||||
void ProcessHelp(int argc, char *argv[]);
|
||||
void ProcessBufferInfo(int argc, char *argv[]);
|
||||
void ProcessChannel(int argc, char *argv[]);
|
||||
void ProcessHelp(int aArgsLength, char *aArgs[]);
|
||||
void ProcessBufferInfo(int aArgsLength, char *aArgs[]);
|
||||
void ProcessChannel(int aArgsLength, char *aArgs[]);
|
||||
#if OPENTHREAD_FTD
|
||||
void ProcessChild(int argc, char *argv[]);
|
||||
void ProcessChildIp(int argc, char *argv[]);
|
||||
void ProcessChildMax(int argc, char *argv[]);
|
||||
void ProcessChild(int aArgsLength, char *aArgs[]);
|
||||
void ProcessChildIp(int aArgsLength, char *aArgs[]);
|
||||
void ProcessChildMax(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
void ProcessChildTimeout(int argc, char *argv[]);
|
||||
void ProcessChildTimeout(int aArgsLength, char *aArgs[]);
|
||||
#if OPENTHREAD_CONFIG_COAP_API_ENABLE
|
||||
void ProcessCoap(int argc, char *argv[]);
|
||||
void ProcessCoap(int aArgsLength, char *aArgs[]);
|
||||
#endif // OPENTHREAD_CONFIG_COAP_API_ENABLE
|
||||
#if OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE
|
||||
void ProcessCoapSecure(int argc, char *argv[]);
|
||||
void ProcessCoapSecure(int aArgsLength, char *aArgs[]);
|
||||
#endif // OPENTHREAD_CONFIG_COAP_API_ENABLE
|
||||
#if OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE
|
||||
void ProcessCoexMetrics(int argc, char *argv[]);
|
||||
void ProcessCoexMetrics(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
#if OPENTHREAD_CONFIG_COMMISSIONER_ENABLE && OPENTHREAD_FTD
|
||||
void ProcessCommissioner(int argc, char *argv[]);
|
||||
void ProcessCommissioner(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
#if OPENTHREAD_FTD
|
||||
void ProcessContextIdReuseDelay(int argc, char *argv[]);
|
||||
void ProcessContextIdReuseDelay(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
void ProcessCounters(int argc, char *argv[]);
|
||||
void ProcessCounters(int aArgsLength, char *aArgs[]);
|
||||
#if OPENTHREAD_FTD
|
||||
void ProcessDelayTimerMin(int argc, char *argv[]);
|
||||
void ProcessDelayTimerMin(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
#if OPENTHREAD_CONFIG_DIAG_ENABLE
|
||||
void ProcessDiag(int argc, char *argv[]);
|
||||
void ProcessDiag(int aArgsLength, char *aArgs[]);
|
||||
#endif // OPENTHREAD_CONFIG_DIAG_ENABLE
|
||||
void ProcessDiscover(int argc, char *argv[]);
|
||||
void ProcessDiscover(int aArgsLength, char *aArgs[]);
|
||||
#if OPENTHREAD_CONFIG_DNS_CLIENT_ENABLE
|
||||
void ProcessDns(int argc, char *argv[]);
|
||||
void ProcessDns(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
#if OPENTHREAD_FTD
|
||||
void ProcessEidCache(int argc, char *argv[]);
|
||||
void ProcessEidCache(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
void ProcessEui64(int argc, char *argv[]);
|
||||
void ProcessEui64(int aArgsLength, char *aArgs[]);
|
||||
#if OPENTHREAD_POSIX
|
||||
void ProcessExit(int argc, char *argv[]);
|
||||
void ProcessExit(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
#if (OPENTHREAD_CONFIG_LOG_OUTPUT == OPENTHREAD_CONFIG_LOG_OUTPUT_DEBUG_UART) && OPENTHREAD_POSIX
|
||||
void ProcessLogFilename(int argc, char *argv[]);
|
||||
void ProcessLogFilename(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
void ProcessExtAddress(int argc, char *argv[]);
|
||||
void ProcessExtPanId(int argc, char *argv[]);
|
||||
void ProcessFactoryReset(int argc, char *argv[]);
|
||||
void ProcessIfconfig(int argc, char *argv[]);
|
||||
void ProcessIpAddr(int argc, char *argv[]);
|
||||
otError ProcessIpAddrAdd(int argc, char *argv[]);
|
||||
otError ProcessIpAddrDel(int argc, char *argv[]);
|
||||
void ProcessIpMulticastAddr(int argc, char *argv[]);
|
||||
otError ProcessIpMulticastAddrAdd(int argc, char *argv[]);
|
||||
otError ProcessIpMulticastAddrDel(int argc, char *argv[]);
|
||||
otError ProcessMulticastPromiscuous(int argc, char *argv[]);
|
||||
void ProcessExtAddress(int aArgsLength, char *aArgs[]);
|
||||
void ProcessExtPanId(int aArgsLength, char *aArgs[]);
|
||||
void ProcessFactoryReset(int aArgsLength, char *aArgs[]);
|
||||
void ProcessIfconfig(int aArgsLength, char *aArgs[]);
|
||||
void ProcessIpAddr(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessIpAddrAdd(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessIpAddrDel(int aArgsLength, char *aArgs[]);
|
||||
void ProcessIpMulticastAddr(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessIpMulticastAddrAdd(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessIpMulticastAddrDel(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessMulticastPromiscuous(int aArgsLength, char *aArgs[]);
|
||||
#if OPENTHREAD_CONFIG_JOINER_ENABLE
|
||||
void ProcessJoiner(int argc, char *argv[]);
|
||||
void ProcessJoiner(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
#if OPENTHREAD_FTD
|
||||
void ProcessJoinerPort(int argc, char *argv[]);
|
||||
void ProcessJoinerPort(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
void ProcessKeySequence(int argc, char *argv[]);
|
||||
void ProcessLeaderData(int argc, char *argv[]);
|
||||
void ProcessKeySequence(int aArgsLength, char *aArgs[]);
|
||||
void ProcessLeaderData(int aArgsLength, char *aArgs[]);
|
||||
#if OPENTHREAD_FTD
|
||||
void ProcessLeaderPartitionId(int argc, char *argv[]);
|
||||
void ProcessLeaderWeight(int argc, char *argv[]);
|
||||
void ProcessLeaderPartitionId(int aArgsLength, char *aArgs[]);
|
||||
void ProcessLeaderWeight(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
void ProcessMasterKey(int argc, char *argv[]);
|
||||
void ProcessMode(int argc, char *argv[]);
|
||||
void ProcessMasterKey(int aArgsLength, char *aArgs[]);
|
||||
void ProcessMode(int aArgsLength, char *aArgs[]);
|
||||
#if OPENTHREAD_FTD
|
||||
void ProcessNeighbor(int argc, char *argv[]);
|
||||
void ProcessNeighbor(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE || OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE
|
||||
void ProcessNetworkDataRegister(int argc, char *argv[]);
|
||||
void ProcessNetworkDataRegister(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
void ProcessNetworkDataShow(int argc, char *argv[]);
|
||||
void ProcessNetworkDataShow(int aArgsLength, char *aArgs[]);
|
||||
#if OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE
|
||||
void ProcessService(int argc, char *argv[]);
|
||||
void ProcessService(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
#if OPENTHREAD_FTD || OPENTHREAD_CONFIG_TMF_NETWORK_DIAG_MTD_ENABLE
|
||||
void ProcessNetworkDiagnostic(int argc, char *argv[]);
|
||||
void ProcessNetworkDiagnostic(int aArgsLength, char *aArgs[]);
|
||||
#endif // OPENTHREAD_FTD || OPENTHREAD_CONFIG_TMF_NETWORK_DIAG_MTD_ENABLE
|
||||
#if OPENTHREAD_FTD
|
||||
void ProcessNetworkIdTimeout(int argc, char *argv[]);
|
||||
void ProcessNetworkIdTimeout(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
void ProcessNetworkName(int argc, char *argv[]);
|
||||
void ProcessNetworkName(int aArgsLength, char *aArgs[]);
|
||||
#if OPENTHREAD_CONFIG_TIME_SYNC_ENABLE
|
||||
void ProcessNetworkTime(int argc, char *argv[]);
|
||||
void ProcessNetworkTime(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
void ProcessPanId(int argc, char *argv[]);
|
||||
void ProcessParent(int argc, char *argv[]);
|
||||
void ProcessPanId(int aArgsLength, char *aArgs[]);
|
||||
void ProcessParent(int aArgsLength, char *aArgs[]);
|
||||
#if OPENTHREAD_FTD
|
||||
void ProcessParentPriority(int argc, char *argv[]);
|
||||
void ProcessParentPriority(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
void ProcessPing(int argc, char *argv[]);
|
||||
void ProcessPollPeriod(int argc, char *argv[]);
|
||||
void ProcessPing(int aArgsLength, char *aArgs[]);
|
||||
void ProcessPollPeriod(int aArgsLength, char *aArgs[]);
|
||||
#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
|
||||
void ProcessPrefix(int argc, char *argv[]);
|
||||
otError ProcessPrefixAdd(int argc, char *argv[]);
|
||||
otError ProcessPrefixRemove(int argc, char *argv[]);
|
||||
void ProcessPrefix(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessPrefixAdd(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessPrefixRemove(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessPrefixList(void);
|
||||
#endif
|
||||
void ProcessPromiscuous(int argc, char *argv[]);
|
||||
void ProcessPromiscuous(int aArgsLength, char *aArgs[]);
|
||||
#if OPENTHREAD_FTD
|
||||
void ProcessPreferRouterId(int argc, char *argv[]);
|
||||
void ProcessPskc(int argc, char *argv[]);
|
||||
void ProcessReleaseRouterId(int argc, char *argv[]);
|
||||
void ProcessPreferRouterId(int aArgsLength, char *aArgs[]);
|
||||
void ProcessPskc(int aArgsLength, char *aArgs[]);
|
||||
void ProcessReleaseRouterId(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
void ProcessReset(int argc, char *argv[]);
|
||||
void ProcessReset(int aArgsLength, char *aArgs[]);
|
||||
#if OPENTHREAD_CONFIG_BORDER_ROUTER_ENABLE
|
||||
void ProcessRoute(int argc, char *argv[]);
|
||||
otError ProcessRouteAdd(int argc, char *argv[]);
|
||||
otError ProcessRouteRemove(int argc, char *argv[]);
|
||||
void ProcessRoute(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessRouteAdd(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessRouteRemove(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessRouteList(void);
|
||||
#endif
|
||||
#if OPENTHREAD_FTD
|
||||
void ProcessRouter(int argc, char *argv[]);
|
||||
void ProcessRouterDowngradeThreshold(int argc, char *argv[]);
|
||||
void ProcessRouterEligible(int argc, char *argv[]);
|
||||
void ProcessRouterSelectionJitter(int argc, char *argv[]);
|
||||
void ProcessRouterUpgradeThreshold(int argc, char *argv[]);
|
||||
void ProcessRouter(int aArgsLength, char *aArgs[]);
|
||||
void ProcessRouterDowngradeThreshold(int aArgsLength, char *aArgs[]);
|
||||
void ProcessRouterEligible(int aArgsLength, char *aArgs[]);
|
||||
void ProcessRouterSelectionJitter(int aArgsLength, char *aArgs[]);
|
||||
void ProcessRouterUpgradeThreshold(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
void ProcessRloc16(int argc, char *argv[]);
|
||||
void ProcessScan(int argc, char *argv[]);
|
||||
void ProcessSingleton(int argc, char *argv[]);
|
||||
void ProcessRloc16(int aArgsLength, char *aArgs[]);
|
||||
void ProcessScan(int aArgsLength, char *aArgs[]);
|
||||
void ProcessSingleton(int aArgsLength, char *aArgs[]);
|
||||
#if OPENTHREAD_CONFIG_SNTP_CLIENT_ENABLE
|
||||
void ProcessSntp(int argc, char *argv[]);
|
||||
void ProcessSntp(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
void ProcessState(int argc, char *argv[]);
|
||||
void ProcessThread(int argc, char *argv[]);
|
||||
void ProcessDataset(int argc, char *argv[]);
|
||||
void ProcessTxPower(int argc, char *argv[]);
|
||||
void ProcessUdp(int argc, char *argv[]);
|
||||
void ProcessVersion(int argc, char *argv[]);
|
||||
void ProcessState(int aArgsLength, char *aArgs[]);
|
||||
void ProcessThread(int aArgsLength, char *aArgs[]);
|
||||
void ProcessDataset(int aArgsLength, char *aArgs[]);
|
||||
void ProcessTxPower(int aArgsLength, char *aArgs[]);
|
||||
void ProcessUdp(int aArgsLength, char *aArgs[]);
|
||||
void ProcessVersion(int aArgsLength, char *aArgs[]);
|
||||
#if OPENTHREAD_CONFIG_MAC_FILTER_ENABLE
|
||||
void ProcessMacFilter(int argc, char *argv[]);
|
||||
void ProcessMacFilter(int aArgsLength, char *aArgs[]);
|
||||
void PrintMacFilter(void);
|
||||
otError ProcessMacFilterAddress(int argc, char *argv[]);
|
||||
otError ProcessMacFilterRss(int argc, char *argv[]);
|
||||
otError ProcessMacFilterAddress(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessMacFilterRss(int aArgsLength, char *aArgs[]);
|
||||
#endif // OPENTHREAD_CONFIG_MAC_FILTER_ENABLE
|
||||
void ProcessMac(int argc, char *argv[]);
|
||||
otError ProcessMacRetries(int argc, char *argv[]);
|
||||
void ProcessMac(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessMacRetries(int aArgsLength, char *aArgs[]);
|
||||
|
||||
static void HandleIcmpReceive(void * aContext,
|
||||
otMessage * aMessage,
|
||||
|
||||
+53
-53
@@ -158,19 +158,19 @@ void Coap::PrintPayload(otMessage *aMessage) const
|
||||
}
|
||||
|
||||
#if OPENTHREAD_CONFIG_COAP_OBSERVE_API_ENABLE
|
||||
otError Coap::ProcessCancel(int argc, char *argv[])
|
||||
otError Coap::ProcessCancel(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
return CancelResourceSubscription();
|
||||
}
|
||||
#endif
|
||||
|
||||
otError Coap::ProcessHelp(int argc, char *argv[])
|
||||
otError Coap::ProcessHelp(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++)
|
||||
{
|
||||
@@ -180,19 +180,19 @@ otError Coap::ProcessHelp(int argc, char *argv[])
|
||||
return OT_ERROR_NONE;
|
||||
}
|
||||
|
||||
otError Coap::ProcessResource(int argc, char *argv[])
|
||||
otError Coap::ProcessResource(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
|
||||
if (argc > 1)
|
||||
if (aArgsLength > 1)
|
||||
{
|
||||
VerifyOrExit(strlen(argv[1]) < kMaxUriLength, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(strlen(aArgs[1]) < kMaxUriLength, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
mResource.mUriPath = mUriPath;
|
||||
mResource.mContext = this;
|
||||
mResource.mHandler = &Coap::HandleRequest;
|
||||
|
||||
strncpy(mUriPath, argv[1], sizeof(mUriPath) - 1);
|
||||
strncpy(mUriPath, aArgs[1], sizeof(mUriPath) - 1);
|
||||
SuccessOrExit(error = otCoapAddResource(mInterpreter.mInstance, &mResource));
|
||||
}
|
||||
else
|
||||
@@ -204,7 +204,7 @@ exit:
|
||||
return OT_ERROR_NONE;
|
||||
}
|
||||
|
||||
otError Coap::ProcessSet(int argc, char *argv[])
|
||||
otError Coap::ProcessSet(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
#if OPENTHREAD_CONFIG_COAP_OBSERVE_API_ENABLE
|
||||
otMessage * notificationMessage = NULL;
|
||||
@@ -212,10 +212,10 @@ otError Coap::ProcessSet(int argc, char *argv[])
|
||||
#endif
|
||||
otError error = OT_ERROR_NONE;
|
||||
|
||||
if (argc > 1)
|
||||
if (aArgsLength > 1)
|
||||
{
|
||||
VerifyOrExit(strlen(argv[1]) < (kMaxBufferSize - 1), error = OT_ERROR_INVALID_ARGS);
|
||||
strncpy(mResourceContent, argv[1], sizeof(mResourceContent) - 1);
|
||||
VerifyOrExit(strlen(aArgs[1]) < (kMaxBufferSize - 1), error = OT_ERROR_INVALID_ARGS);
|
||||
strncpy(mResourceContent, aArgs[1], sizeof(mResourceContent) - 1);
|
||||
|
||||
#if OPENTHREAD_CONFIG_COAP_OBSERVE_API_ENABLE
|
||||
if (mSubscriberTokenLength > 0)
|
||||
@@ -265,38 +265,38 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Coap::ProcessStart(int argc, char *argv[])
|
||||
otError Coap::ProcessStart(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
return otCoapStart(mInterpreter.mInstance, OT_DEFAULT_COAP_PORT);
|
||||
}
|
||||
|
||||
otError Coap::ProcessStop(int argc, char *argv[])
|
||||
otError Coap::ProcessStop(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
otCoapRemoveResource(mInterpreter.mInstance, &mResource);
|
||||
|
||||
return otCoapStop(mInterpreter.mInstance);
|
||||
}
|
||||
|
||||
otError Coap::ProcessParameters(int argc, char *argv[])
|
||||
otError Coap::ProcessParameters(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
bool * defaultTxParameters;
|
||||
otCoapTxParameters *txParameters;
|
||||
|
||||
VerifyOrExit(argc > 1, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 1, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
if (strcmp(argv[1], "request") == 0)
|
||||
if (strcmp(aArgs[1], "request") == 0)
|
||||
{
|
||||
txParameters = &mRequestTxParameters;
|
||||
defaultTxParameters = &mUseDefaultRequestTxParameters;
|
||||
}
|
||||
else if (strcmp(argv[1], "response") == 0)
|
||||
else if (strcmp(aArgs[1], "response") == 0)
|
||||
{
|
||||
txParameters = &mResponseTxParameters;
|
||||
defaultTxParameters = &mUseDefaultResponseTxParameters;
|
||||
@@ -306,9 +306,9 @@ otError Coap::ProcessParameters(int argc, char *argv[])
|
||||
ExitNow(error = OT_ERROR_INVALID_ARGS);
|
||||
}
|
||||
|
||||
if (argc > 2)
|
||||
if (aArgsLength > 2)
|
||||
{
|
||||
if (strcmp(argv[2], "default") == 0)
|
||||
if (strcmp(aArgs[2], "default") == 0)
|
||||
{
|
||||
*defaultTxParameters = true;
|
||||
}
|
||||
@@ -316,20 +316,20 @@ otError Coap::ProcessParameters(int argc, char *argv[])
|
||||
{
|
||||
unsigned long value;
|
||||
|
||||
VerifyOrExit(argc >= 6, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength >= 6, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
SuccessOrExit(error = mInterpreter.ParseUnsignedLong(argv[2], value));
|
||||
SuccessOrExit(error = mInterpreter.ParseUnsignedLong(aArgs[2], value));
|
||||
txParameters->mAckTimeout = static_cast<uint32_t>(value);
|
||||
|
||||
SuccessOrExit(error = mInterpreter.ParseUnsignedLong(argv[3], value));
|
||||
SuccessOrExit(error = mInterpreter.ParseUnsignedLong(aArgs[3], value));
|
||||
VerifyOrExit(value <= 255, error = OT_ERROR_INVALID_ARGS);
|
||||
txParameters->mAckRandomFactorNumerator = static_cast<uint8_t>(value);
|
||||
|
||||
SuccessOrExit(error = mInterpreter.ParseUnsignedLong(argv[4], value));
|
||||
SuccessOrExit(error = mInterpreter.ParseUnsignedLong(aArgs[4], value));
|
||||
VerifyOrExit(value <= 255, error = OT_ERROR_INVALID_ARGS);
|
||||
txParameters->mAckRandomFactorDenominator = static_cast<uint8_t>(value);
|
||||
|
||||
SuccessOrExit(error = mInterpreter.ParseUnsignedLong(argv[5], value));
|
||||
SuccessOrExit(error = mInterpreter.ParseUnsignedLong(aArgs[5], value));
|
||||
VerifyOrExit(value <= 255, error = OT_ERROR_INVALID_ARGS);
|
||||
txParameters->mMaxRetransmit = static_cast<uint8_t>(value);
|
||||
|
||||
@@ -340,7 +340,7 @@ otError Coap::ProcessParameters(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
mInterpreter.mServer->OutputFormat("Transmission parameters for %s:\r\n", argv[1]);
|
||||
mInterpreter.mServer->OutputFormat("Transmission parameters for %s:\r\n", aArgs[1]);
|
||||
if (*defaultTxParameters)
|
||||
{
|
||||
mInterpreter.mServer->OutputFormat("default\r\n");
|
||||
@@ -356,7 +356,7 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Coap::ProcessRequest(int argc, char *argv[])
|
||||
otError Coap::ProcessRequest(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
otMessage * message = NULL;
|
||||
@@ -372,30 +372,30 @@ otError Coap::ProcessRequest(int argc, char *argv[])
|
||||
bool coapObserve = false;
|
||||
#endif
|
||||
|
||||
VerifyOrExit(argc > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
// CoAP-Code
|
||||
if (strcmp(argv[0], "get") == 0)
|
||||
if (strcmp(aArgs[0], "get") == 0)
|
||||
{
|
||||
coapCode = OT_COAP_CODE_GET;
|
||||
}
|
||||
#if OPENTHREAD_CONFIG_COAP_OBSERVE_API_ENABLE
|
||||
else if (strcmp(argv[0], "observe") == 0)
|
||||
else if (strcmp(aArgs[0], "observe") == 0)
|
||||
{
|
||||
// Observe request. This is a GET with Observe=0
|
||||
coapCode = OT_COAP_CODE_GET;
|
||||
coapObserve = true;
|
||||
}
|
||||
#endif
|
||||
else if (strcmp(argv[0], "post") == 0)
|
||||
else if (strcmp(aArgs[0], "post") == 0)
|
||||
{
|
||||
coapCode = OT_COAP_CODE_POST;
|
||||
}
|
||||
else if (strcmp(argv[0], "put") == 0)
|
||||
else if (strcmp(aArgs[0], "put") == 0)
|
||||
{
|
||||
coapCode = OT_COAP_CODE_PUT;
|
||||
}
|
||||
else if (strcmp(argv[0], "delete") == 0)
|
||||
else if (strcmp(aArgs[0], "delete") == 0)
|
||||
{
|
||||
coapCode = OT_COAP_CODE_DELETE;
|
||||
}
|
||||
@@ -405,9 +405,9 @@ otError Coap::ProcessRequest(int argc, char *argv[])
|
||||
}
|
||||
|
||||
// Destination IPv6 address
|
||||
if (argc > 1)
|
||||
if (aArgsLength > 1)
|
||||
{
|
||||
SuccessOrExit(error = otIp6AddressFromString(argv[1], &coapDestinationIp));
|
||||
SuccessOrExit(error = otIp6AddressFromString(aArgs[1], &coapDestinationIp));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -415,10 +415,10 @@ otError Coap::ProcessRequest(int argc, char *argv[])
|
||||
}
|
||||
|
||||
// CoAP-URI
|
||||
if (argc > 2)
|
||||
if (aArgsLength > 2)
|
||||
{
|
||||
VerifyOrExit(strlen(argv[2]) < kMaxUriLength, error = OT_ERROR_INVALID_ARGS);
|
||||
strncpy(coapUri, argv[2], sizeof(coapUri) - 1);
|
||||
VerifyOrExit(strlen(aArgs[2]) < kMaxUriLength, error = OT_ERROR_INVALID_ARGS);
|
||||
strncpy(coapUri, aArgs[2], sizeof(coapUri) - 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -426,9 +426,9 @@ otError Coap::ProcessRequest(int argc, char *argv[])
|
||||
}
|
||||
|
||||
// CoAP-Type
|
||||
if (argc > 3)
|
||||
if (aArgsLength > 3)
|
||||
{
|
||||
if (strcmp(argv[3], "con") == 0)
|
||||
if (strcmp(aArgs[3], "con") == 0)
|
||||
{
|
||||
coapType = OT_COAP_TYPE_CONFIRMABLE;
|
||||
}
|
||||
@@ -457,9 +457,9 @@ otError Coap::ProcessRequest(int argc, char *argv[])
|
||||
|
||||
SuccessOrExit(error = otCoapMessageAppendUriPathOptions(message, coapUri));
|
||||
|
||||
if (argc > 4)
|
||||
if (aArgsLength > 4)
|
||||
{
|
||||
payloadLength = static_cast<uint16_t>(strlen(argv[4]));
|
||||
payloadLength = static_cast<uint16_t>(strlen(aArgs[4]));
|
||||
|
||||
if (payloadLength > 0)
|
||||
{
|
||||
@@ -470,7 +470,7 @@ otError Coap::ProcessRequest(int argc, char *argv[])
|
||||
// Embed content into message if given
|
||||
if (payloadLength > 0)
|
||||
{
|
||||
SuccessOrExit(error = otMessageAppend(message, argv[4], payloadLength));
|
||||
SuccessOrExit(error = otMessageAppend(message, aArgs[4], payloadLength));
|
||||
}
|
||||
|
||||
memset(&messageInfo, 0, sizeof(messageInfo));
|
||||
@@ -510,11 +510,11 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Coap::Process(int argc, char *argv[])
|
||||
otError Coap::Process(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_INVALID_COMMAND;
|
||||
|
||||
if (argc < 1)
|
||||
if (aArgsLength < 1)
|
||||
{
|
||||
ProcessHelp(0, NULL);
|
||||
error = OT_ERROR_INVALID_ARGS;
|
||||
@@ -523,9 +523,9 @@ otError Coap::Process(int argc, char *argv[])
|
||||
{
|
||||
for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++)
|
||||
{
|
||||
if (strcmp(argv[0], sCommands[i].mName) == 0)
|
||||
if (strcmp(aArgs[0], sCommands[i].mName) == 0)
|
||||
{
|
||||
error = (this->*sCommands[i].mCommand)(argc, argv);
|
||||
error = (this->*sCommands[i].mCommand)(aArgsLength, aArgs);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
+12
-12
@@ -63,11 +63,11 @@ public:
|
||||
/**
|
||||
* This method interprets a list of CLI arguments.
|
||||
*
|
||||
* @param[in] argc The number of elements in argv.
|
||||
* @param[in] argv A pointer to an array of command line arguments.
|
||||
* @param[in] aArgsLength The number of elements in @p aArgs.
|
||||
* @param[in] aArgs An array of command line arguments.
|
||||
*
|
||||
*/
|
||||
otError Process(int argc, char *argv[]);
|
||||
otError Process(int aArgsLength, char *aArgs[]);
|
||||
|
||||
private:
|
||||
enum
|
||||
@@ -79,7 +79,7 @@ private:
|
||||
struct Command
|
||||
{
|
||||
const char *mName;
|
||||
otError (Coap::*mCommand)(int argc, char *argv[]);
|
||||
otError (Coap::*mCommand)(int aArgsLength, char *aArgs[]);
|
||||
};
|
||||
|
||||
#if OPENTHREAD_CONFIG_COAP_OBSERVE_API_ENABLE
|
||||
@@ -89,16 +89,16 @@ private:
|
||||
|
||||
void PrintPayload(otMessage *aMessage) const;
|
||||
|
||||
otError ProcessHelp(int argc, char *argv[]);
|
||||
otError ProcessHelp(int aArgsLength, char *aArgs[]);
|
||||
#if OPENTHREAD_CONFIG_COAP_OBSERVE_API_ENABLE
|
||||
otError ProcessCancel(int argc, char *argv[]);
|
||||
otError ProcessCancel(int aArgsLength, char *aArgs[]);
|
||||
#endif
|
||||
otError ProcessParameters(int argc, char *argv[]);
|
||||
otError ProcessRequest(int argc, char *argv[]);
|
||||
otError ProcessResource(int argc, char *argv[]);
|
||||
otError ProcessSet(int argc, char *argv[]);
|
||||
otError ProcessStart(int argc, char *argv[]);
|
||||
otError ProcessStop(int argc, char *argv[]);
|
||||
otError ProcessParameters(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessRequest(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessResource(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessSet(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessStart(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessStop(int aArgsLength, char *aArgs[]);
|
||||
|
||||
static void HandleRequest(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo);
|
||||
void HandleRequest(otMessage *aMessage, const otMessageInfo *aMessageInfo);
|
||||
|
||||
+50
-50
@@ -98,10 +98,10 @@ void CoapSecure::PrintPayload(otMessage *aMessage) const
|
||||
mInterpreter.mServer->OutputFormat("\r\n");
|
||||
}
|
||||
|
||||
otError CoapSecure::ProcessHelp(int argc, char *argv[])
|
||||
otError CoapSecure::ProcessHelp(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++)
|
||||
{
|
||||
@@ -111,19 +111,19 @@ otError CoapSecure::ProcessHelp(int argc, char *argv[])
|
||||
return OT_ERROR_NONE;
|
||||
}
|
||||
|
||||
otError CoapSecure::ProcessResource(int argc, char *argv[])
|
||||
otError CoapSecure::ProcessResource(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
|
||||
if (argc > 1)
|
||||
if (aArgsLength > 1)
|
||||
{
|
||||
VerifyOrExit(strlen(argv[1]) < kMaxUriLength, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(strlen(aArgs[1]) < kMaxUriLength, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
mResource.mUriPath = mUriPath;
|
||||
mResource.mContext = this;
|
||||
mResource.mHandler = &CoapSecure::HandleRequest;
|
||||
|
||||
strncpy(mUriPath, argv[1], sizeof(mUriPath) - 1);
|
||||
strncpy(mUriPath, aArgs[1], sizeof(mUriPath) - 1);
|
||||
SuccessOrExit(error = otCoapSecureAddResource(mInterpreter.mInstance, &mResource));
|
||||
}
|
||||
else
|
||||
@@ -135,18 +135,18 @@ exit:
|
||||
return OT_ERROR_NONE;
|
||||
}
|
||||
|
||||
otError CoapSecure::ProcessStart(int argc, char *argv[])
|
||||
otError CoapSecure::ProcessStart(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error;
|
||||
bool verifyPeerCert = true;
|
||||
|
||||
if (argc > 1)
|
||||
if (aArgsLength > 1)
|
||||
{
|
||||
if (strcmp(argv[1], "false") == 0)
|
||||
if (strcmp(aArgs[1], "false") == 0)
|
||||
{
|
||||
verifyPeerCert = false;
|
||||
}
|
||||
else if (strcmp(argv[1], "true") != 0)
|
||||
else if (strcmp(aArgs[1], "true") != 0)
|
||||
{
|
||||
ExitNow(error = OT_ERROR_INVALID_ARGS);
|
||||
}
|
||||
@@ -165,10 +165,10 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError CoapSecure::ProcessStop(int argc, char *argv[])
|
||||
otError CoapSecure::ProcessStop(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
otCoapRemoveResource(mInterpreter.mInstance, &mResource);
|
||||
|
||||
@@ -185,7 +185,7 @@ otError CoapSecure::ProcessStop(int argc, char *argv[])
|
||||
return OT_ERROR_NONE;
|
||||
}
|
||||
|
||||
otError CoapSecure::ProcessRequest(int argc, char *argv[])
|
||||
otError CoapSecure::ProcessRequest(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
otMessage * message = NULL;
|
||||
@@ -199,22 +199,22 @@ otError CoapSecure::ProcessRequest(int argc, char *argv[])
|
||||
otCoapCode coapCode = OT_COAP_CODE_GET;
|
||||
otIp6Address coapDestinationIp;
|
||||
|
||||
VerifyOrExit(argc > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
// CoAP-Code
|
||||
if (strcmp(argv[0], "get") == 0)
|
||||
if (strcmp(aArgs[0], "get") == 0)
|
||||
{
|
||||
coapCode = OT_COAP_CODE_GET;
|
||||
}
|
||||
else if (strcmp(argv[0], "post") == 0)
|
||||
else if (strcmp(aArgs[0], "post") == 0)
|
||||
{
|
||||
coapCode = OT_COAP_CODE_POST;
|
||||
}
|
||||
else if (strcmp(argv[0], "put") == 0)
|
||||
else if (strcmp(aArgs[0], "put") == 0)
|
||||
{
|
||||
coapCode = OT_COAP_CODE_PUT;
|
||||
}
|
||||
else if (strcmp(argv[0], "delete") == 0)
|
||||
else if (strcmp(aArgs[0], "delete") == 0)
|
||||
{
|
||||
coapCode = OT_COAP_CODE_DELETE;
|
||||
}
|
||||
@@ -224,9 +224,9 @@ otError CoapSecure::ProcessRequest(int argc, char *argv[])
|
||||
}
|
||||
|
||||
// Destination IPv6 address
|
||||
if (argc > 1)
|
||||
if (aArgsLength > 1)
|
||||
{
|
||||
error = otIp6AddressFromString(argv[1], &coapDestinationIp);
|
||||
error = otIp6AddressFromString(aArgs[1], &coapDestinationIp);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -245,15 +245,15 @@ otError CoapSecure::ProcessRequest(int argc, char *argv[])
|
||||
}
|
||||
|
||||
// CoAP-URI
|
||||
if (argc > (2 - indexShifter))
|
||||
if (aArgsLength > (2 - indexShifter))
|
||||
{
|
||||
strncpy(coapUri, argv[2 - indexShifter], sizeof(coapUri) - 1);
|
||||
strncpy(coapUri, aArgs[2 - indexShifter], sizeof(coapUri) - 1);
|
||||
}
|
||||
|
||||
// CoAP-Type
|
||||
if (argc > (3 - indexShifter))
|
||||
if (aArgsLength > (3 - indexShifter))
|
||||
{
|
||||
if (strcmp(argv[3 - indexShifter], "con") == 0)
|
||||
if (strcmp(aArgs[3 - indexShifter], "con") == 0)
|
||||
{
|
||||
coapType = OT_COAP_TYPE_CONFIRMABLE;
|
||||
}
|
||||
@@ -266,9 +266,9 @@ otError CoapSecure::ProcessRequest(int argc, char *argv[])
|
||||
otCoapMessageGenerateToken(message, ot::Coap::Message::kDefaultTokenLength);
|
||||
SuccessOrExit(error = otCoapMessageAppendUriPathOptions(message, coapUri));
|
||||
|
||||
if (argc > (4 - indexShifter))
|
||||
if (aArgsLength > (4 - indexShifter))
|
||||
{
|
||||
payloadLength = static_cast<uint16_t>(strlen(argv[4 - indexShifter]));
|
||||
payloadLength = static_cast<uint16_t>(strlen(aArgs[4 - indexShifter]));
|
||||
|
||||
if (payloadLength > 0)
|
||||
{
|
||||
@@ -279,7 +279,7 @@ otError CoapSecure::ProcessRequest(int argc, char *argv[])
|
||||
// add payload
|
||||
if (payloadLength > 0)
|
||||
{
|
||||
SuccessOrExit(error = otMessageAppend(message, argv[4 - indexShifter], payloadLength));
|
||||
SuccessOrExit(error = otMessageAppend(message, aArgs[4 - indexShifter], payloadLength));
|
||||
}
|
||||
|
||||
memset(&messageInfo, 0, sizeof(messageInfo));
|
||||
@@ -305,24 +305,24 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError CoapSecure::ProcessConnect(int argc, char *argv[])
|
||||
otError CoapSecure::ProcessConnect(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error;
|
||||
otSockAddr sockaddr;
|
||||
|
||||
VerifyOrExit(argc > 1, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 1, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
// Destination IPv6 address
|
||||
memset(&sockaddr, 0, sizeof(sockaddr));
|
||||
SuccessOrExit(error = otIp6AddressFromString(argv[1], &sockaddr.mAddress));
|
||||
SuccessOrExit(error = otIp6AddressFromString(aArgs[1], &sockaddr.mAddress));
|
||||
sockaddr.mPort = OT_DEFAULT_COAP_SECURE_PORT;
|
||||
|
||||
// check for port specification
|
||||
if (argc > 2)
|
||||
if (aArgsLength > 2)
|
||||
{
|
||||
long value;
|
||||
|
||||
error = Interpreter::ParseLong(argv[2], value);
|
||||
error = Interpreter::ParseLong(aArgs[2], value);
|
||||
SuccessOrExit(error);
|
||||
sockaddr.mPort = static_cast<uint16_t>(value);
|
||||
}
|
||||
@@ -333,10 +333,10 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError CoapSecure::ProcessDisconnect(int argc, char *argv[])
|
||||
otError CoapSecure::ProcessDisconnect(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
otCoapSecureDisconnect(mInterpreter.mInstance);
|
||||
|
||||
@@ -344,22 +344,22 @@ otError CoapSecure::ProcessDisconnect(int argc, char *argv[])
|
||||
}
|
||||
|
||||
#ifdef MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
|
||||
otError CoapSecure::ProcessPsk(int argc, char *argv[])
|
||||
otError CoapSecure::ProcessPsk(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
size_t length;
|
||||
|
||||
VerifyOrExit(argc > 2, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 2, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
length = strlen(argv[1]);
|
||||
length = strlen(aArgs[1]);
|
||||
VerifyOrExit(length <= sizeof(mPsk), error = OT_ERROR_INVALID_ARGS);
|
||||
mPskLength = static_cast<uint8_t>(length);
|
||||
memcpy(mPsk, argv[1], mPskLength);
|
||||
memcpy(mPsk, aArgs[1], mPskLength);
|
||||
|
||||
length = strlen(argv[2]);
|
||||
length = strlen(aArgs[2]);
|
||||
VerifyOrExit(length <= sizeof(mPskId), error = OT_ERROR_INVALID_ARGS);
|
||||
mPskIdLength = static_cast<uint8_t>(length);
|
||||
memcpy(mPskId, argv[2], mPskIdLength);
|
||||
memcpy(mPskId, aArgs[2], mPskIdLength);
|
||||
|
||||
otCoapSecureSetPsk(mInterpreter.mInstance, mPsk, mPskLength, mPskId, mPskIdLength);
|
||||
mUseCertificate = false;
|
||||
@@ -370,10 +370,10 @@ exit:
|
||||
#endif // MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
|
||||
|
||||
#ifdef MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
|
||||
otError CoapSecure::ProcessX509(int argc, char *argv[])
|
||||
otError CoapSecure::ProcessX509(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
otCoapSecureSetCertificate(mInterpreter.mInstance, (const uint8_t *)OT_CLI_COAPS_X509_CERT,
|
||||
sizeof(OT_CLI_COAPS_X509_CERT), (const uint8_t *)OT_CLI_COAPS_PRIV_KEY,
|
||||
@@ -387,11 +387,11 @@ otError CoapSecure::ProcessX509(int argc, char *argv[])
|
||||
}
|
||||
#endif
|
||||
|
||||
otError CoapSecure::Process(int argc, char *argv[])
|
||||
otError CoapSecure::Process(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_INVALID_COMMAND;
|
||||
|
||||
if (argc < 1)
|
||||
if (aArgsLength < 1)
|
||||
{
|
||||
ProcessHelp(0, NULL);
|
||||
error = OT_ERROR_INVALID_ARGS;
|
||||
@@ -400,9 +400,9 @@ otError CoapSecure::Process(int argc, char *argv[])
|
||||
{
|
||||
for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++)
|
||||
{
|
||||
if (strcmp(argv[0], sCommands[i].mName) == 0)
|
||||
if (strcmp(aArgs[0], sCommands[i].mName) == 0)
|
||||
{
|
||||
error = (this->*sCommands[i].mCommand)(argc, argv);
|
||||
error = (this->*sCommands[i].mCommand)(aArgsLength, aArgs);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
+13
-13
@@ -68,11 +68,11 @@ public:
|
||||
/**
|
||||
* This method interprets a list of CLI arguments.
|
||||
*
|
||||
* @param[in] argc The number of elements in argv.
|
||||
* @param[in] argv A pointer to an array of command line arguments.
|
||||
* @param[in] aArgsLength The number of elements in @p aArgs.
|
||||
* @param[in] aArgs An array of command line arguments.
|
||||
*
|
||||
*/
|
||||
otError Process(int argc, char *argv[]);
|
||||
otError Process(int aArgsLength, char *aArgs[]);
|
||||
|
||||
private:
|
||||
enum
|
||||
@@ -86,20 +86,20 @@ private:
|
||||
struct Command
|
||||
{
|
||||
const char *mName;
|
||||
otError (CoapSecure::*mCommand)(int argc, char *argv[]);
|
||||
otError (CoapSecure::*mCommand)(int aArgsLength, char *aArgs[]);
|
||||
};
|
||||
|
||||
void PrintPayload(otMessage *aMessage) const;
|
||||
|
||||
otError ProcessHelp(int argc, char *argv[]);
|
||||
otError ProcessConnect(int argc, char *argv[]);
|
||||
otError ProcessDisconnect(int argc, char *argv[]);
|
||||
otError ProcessPsk(int argc, char *argv[]);
|
||||
otError ProcessRequest(int argc, char *argv[]);
|
||||
otError ProcessResource(int argc, char *argv[]);
|
||||
otError ProcessStart(int argc, char *argv[]);
|
||||
otError ProcessStop(int argc, char *argv[]);
|
||||
otError ProcessX509(int argc, char *argv[]);
|
||||
otError ProcessHelp(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessConnect(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessDisconnect(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessPsk(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessRequest(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessResource(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessStart(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessStop(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessX509(int aArgsLength, char *aArgs[]);
|
||||
|
||||
void Stop(void);
|
||||
|
||||
|
||||
@@ -50,10 +50,10 @@ const struct Commissioner::Command Commissioner::sCommands[] = {
|
||||
{"stop", &Commissioner::ProcessStop},
|
||||
};
|
||||
|
||||
otError Commissioner::ProcessHelp(int argc, char *argv[])
|
||||
otError Commissioner::ProcessHelp(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++)
|
||||
{
|
||||
@@ -63,7 +63,7 @@ otError Commissioner::ProcessHelp(int argc, char *argv[])
|
||||
return OT_ERROR_NONE;
|
||||
}
|
||||
|
||||
otError Commissioner::ProcessAnnounce(int argc, char *argv[])
|
||||
otError Commissioner::ProcessAnnounce(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error;
|
||||
long mask;
|
||||
@@ -71,12 +71,12 @@ otError Commissioner::ProcessAnnounce(int argc, char *argv[])
|
||||
long period;
|
||||
otIp6Address address;
|
||||
|
||||
VerifyOrExit(argc > 4, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 4, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[1], mask));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[2], count));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[3], period));
|
||||
SuccessOrExit(error = otIp6AddressFromString(argv[4], &address));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[1], mask));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[2], count));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[3], period));
|
||||
SuccessOrExit(error = otIp6AddressFromString(aArgs[4], &address));
|
||||
|
||||
SuccessOrExit(error = otCommissionerAnnounceBegin(mInterpreter.mInstance, static_cast<uint32_t>(mask),
|
||||
static_cast<uint8_t>(count), static_cast<uint16_t>(period),
|
||||
@@ -86,7 +86,7 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Commissioner::ProcessEnergy(int argc, char *argv[])
|
||||
otError Commissioner::ProcessEnergy(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error;
|
||||
long mask;
|
||||
@@ -95,13 +95,13 @@ otError Commissioner::ProcessEnergy(int argc, char *argv[])
|
||||
long scanDuration;
|
||||
otIp6Address address;
|
||||
|
||||
VerifyOrExit(argc > 5, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 5, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[1], mask));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[2], count));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[3], period));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[4], scanDuration));
|
||||
SuccessOrExit(error = otIp6AddressFromString(argv[5], &address));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[1], mask));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[2], count));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[3], period));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[4], scanDuration));
|
||||
SuccessOrExit(error = otIp6AddressFromString(aArgs[5], &address));
|
||||
|
||||
SuccessOrExit(error = otCommissionerEnergyScan(mInterpreter.mInstance, static_cast<uint32_t>(mask),
|
||||
static_cast<uint8_t>(count), static_cast<uint16_t>(period),
|
||||
@@ -112,40 +112,40 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Commissioner::ProcessJoiner(int argc, char *argv[])
|
||||
otError Commissioner::ProcessJoiner(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error;
|
||||
otExtAddress addr;
|
||||
const otExtAddress *addrPtr;
|
||||
|
||||
VerifyOrExit(argc > 2, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 2, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
if (strcmp(argv[2], "*") == 0)
|
||||
if (strcmp(aArgs[2], "*") == 0)
|
||||
{
|
||||
addrPtr = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
VerifyOrExit(Interpreter::Hex2Bin(argv[2], addr.m8, sizeof(addr)) == sizeof(addr),
|
||||
VerifyOrExit(Interpreter::Hex2Bin(aArgs[2], addr.m8, sizeof(addr)) == sizeof(addr),
|
||||
error = OT_ERROR_INVALID_ARGS);
|
||||
addrPtr = &addr;
|
||||
}
|
||||
|
||||
if (strcmp(argv[1], "add") == 0)
|
||||
if (strcmp(aArgs[1], "add") == 0)
|
||||
{
|
||||
VerifyOrExit(argc > 3, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 3, error = OT_ERROR_INVALID_ARGS);
|
||||
// Timeout parameter is optional - if not specified, use default value.
|
||||
unsigned long timeout = kDefaultJoinerTimeout;
|
||||
|
||||
if (argc > 4)
|
||||
if (aArgsLength > 4)
|
||||
{
|
||||
SuccessOrExit(error = Interpreter::ParseUnsignedLong(argv[4], timeout));
|
||||
SuccessOrExit(error = Interpreter::ParseUnsignedLong(aArgs[4], timeout));
|
||||
}
|
||||
|
||||
SuccessOrExit(
|
||||
error = otCommissionerAddJoiner(mInterpreter.mInstance, addrPtr, argv[3], static_cast<uint32_t>(timeout)));
|
||||
error = otCommissionerAddJoiner(mInterpreter.mInstance, addrPtr, aArgs[3], static_cast<uint32_t>(timeout)));
|
||||
}
|
||||
else if (strcmp(argv[1], "remove") == 0)
|
||||
else if (strcmp(aArgs[1], "remove") == 0)
|
||||
{
|
||||
SuccessOrExit(error = otCommissionerRemoveJoiner(mInterpreter.mInstance, addrPtr));
|
||||
}
|
||||
@@ -158,40 +158,40 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Commissioner::ProcessMgmtGet(int argc, char *argv[])
|
||||
otError Commissioner::ProcessMgmtGet(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error;
|
||||
uint8_t tlvs[32];
|
||||
long value;
|
||||
int length = 0;
|
||||
|
||||
for (uint8_t index = 1; index < argc; index++)
|
||||
for (uint8_t index = 1; index < aArgsLength; index++)
|
||||
{
|
||||
VerifyOrExit(static_cast<size_t>(length) < sizeof(tlvs), error = OT_ERROR_NO_BUFS);
|
||||
|
||||
if (strcmp(argv[index], "locator") == 0)
|
||||
if (strcmp(aArgs[index], "locator") == 0)
|
||||
{
|
||||
tlvs[length++] = OT_MESHCOP_TLV_BORDER_AGENT_RLOC;
|
||||
}
|
||||
else if (strcmp(argv[index], "sessionid") == 0)
|
||||
else if (strcmp(aArgs[index], "sessionid") == 0)
|
||||
{
|
||||
tlvs[length++] = OT_MESHCOP_TLV_COMM_SESSION_ID;
|
||||
}
|
||||
else if (strcmp(argv[index], "steeringdata") == 0)
|
||||
else if (strcmp(aArgs[index], "steeringdata") == 0)
|
||||
{
|
||||
tlvs[length++] = OT_MESHCOP_TLV_STEERING_DATA;
|
||||
}
|
||||
else if (strcmp(argv[index], "joinerudpport") == 0)
|
||||
else if (strcmp(aArgs[index], "joinerudpport") == 0)
|
||||
{
|
||||
tlvs[length++] = OT_MESHCOP_TLV_JOINER_UDP_PORT;
|
||||
}
|
||||
else if (strcmp(argv[index], "binary") == 0)
|
||||
else if (strcmp(aArgs[index], "binary") == 0)
|
||||
{
|
||||
VerifyOrExit(++index < argc, error = OT_ERROR_INVALID_ARGS);
|
||||
value = static_cast<long>(strlen(argv[index]) + 1) / 2;
|
||||
VerifyOrExit(++index < aArgsLength, error = OT_ERROR_INVALID_ARGS);
|
||||
value = static_cast<long>(strlen(aArgs[index]) + 1) / 2;
|
||||
VerifyOrExit(static_cast<size_t>(value) <= (sizeof(tlvs) - static_cast<size_t>(length)),
|
||||
error = OT_ERROR_NO_BUFS);
|
||||
VerifyOrExit(Interpreter::Hex2Bin(argv[index], tlvs + length, static_cast<uint16_t>(value)) >= 0,
|
||||
VerifyOrExit(Interpreter::Hex2Bin(aArgs[index], tlvs + length, static_cast<uint16_t>(value)) >= 0,
|
||||
error = OT_ERROR_INVALID_ARGS);
|
||||
length += value;
|
||||
}
|
||||
@@ -207,7 +207,7 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Commissioner::ProcessMgmtSet(int argc, char *argv[])
|
||||
otError Commissioner::ProcessMgmtSet(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error;
|
||||
otCommissioningDataset dataset;
|
||||
@@ -215,53 +215,53 @@ otError Commissioner::ProcessMgmtSet(int argc, char *argv[])
|
||||
long value;
|
||||
int length = 0;
|
||||
|
||||
VerifyOrExit(argc > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
memset(&dataset, 0, sizeof(dataset));
|
||||
|
||||
for (uint8_t index = 1; index < argc; index++)
|
||||
for (uint8_t index = 1; index < aArgsLength; index++)
|
||||
{
|
||||
VerifyOrExit(static_cast<size_t>(length) < sizeof(tlvs), error = OT_ERROR_NO_BUFS);
|
||||
|
||||
if (strcmp(argv[index], "locator") == 0)
|
||||
if (strcmp(aArgs[index], "locator") == 0)
|
||||
{
|
||||
VerifyOrExit(++index < argc, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(++index < aArgsLength, error = OT_ERROR_INVALID_ARGS);
|
||||
dataset.mIsLocatorSet = true;
|
||||
SuccessOrExit(error = Interpreter::Interpreter::ParseLong(argv[index], value));
|
||||
SuccessOrExit(error = Interpreter::Interpreter::ParseLong(aArgs[index], value));
|
||||
dataset.mLocator = static_cast<uint16_t>(value);
|
||||
}
|
||||
else if (strcmp(argv[index], "sessionid") == 0)
|
||||
else if (strcmp(aArgs[index], "sessionid") == 0)
|
||||
{
|
||||
VerifyOrExit(++index < argc, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(++index < aArgsLength, error = OT_ERROR_INVALID_ARGS);
|
||||
dataset.mIsSessionIdSet = true;
|
||||
SuccessOrExit(error = Interpreter::Interpreter::ParseLong(argv[index], value));
|
||||
SuccessOrExit(error = Interpreter::Interpreter::ParseLong(aArgs[index], value));
|
||||
dataset.mSessionId = static_cast<uint16_t>(value);
|
||||
}
|
||||
else if (strcmp(argv[index], "steeringdata") == 0)
|
||||
else if (strcmp(aArgs[index], "steeringdata") == 0)
|
||||
{
|
||||
VerifyOrExit(++index < argc, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(++index < aArgsLength, error = OT_ERROR_INVALID_ARGS);
|
||||
dataset.mIsSteeringDataSet = true;
|
||||
length = static_cast<int>((strlen(argv[index]) + 1) / 2);
|
||||
length = static_cast<int>((strlen(aArgs[index]) + 1) / 2);
|
||||
VerifyOrExit(static_cast<size_t>(length) <= OT_STEERING_DATA_MAX_LENGTH, error = OT_ERROR_NO_BUFS);
|
||||
VerifyOrExit(Interpreter::Hex2Bin(argv[index], dataset.mSteeringData.m8, static_cast<uint16_t>(length)) >=
|
||||
VerifyOrExit(Interpreter::Hex2Bin(aArgs[index], dataset.mSteeringData.m8, static_cast<uint16_t>(length)) >=
|
||||
0,
|
||||
error = OT_ERROR_INVALID_ARGS);
|
||||
dataset.mSteeringData.mLength = static_cast<uint8_t>(length);
|
||||
length = 0;
|
||||
}
|
||||
else if (strcmp(argv[index], "joinerudpport") == 0)
|
||||
else if (strcmp(aArgs[index], "joinerudpport") == 0)
|
||||
{
|
||||
VerifyOrExit(++index < argc, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(++index < aArgsLength, error = OT_ERROR_INVALID_ARGS);
|
||||
dataset.mIsJoinerUdpPortSet = true;
|
||||
SuccessOrExit(error = Interpreter::Interpreter::ParseLong(argv[index], value));
|
||||
SuccessOrExit(error = Interpreter::Interpreter::ParseLong(aArgs[index], value));
|
||||
dataset.mJoinerUdpPort = static_cast<uint16_t>(value);
|
||||
}
|
||||
else if (strcmp(argv[index], "binary") == 0)
|
||||
else if (strcmp(aArgs[index], "binary") == 0)
|
||||
{
|
||||
VerifyOrExit(++index < argc, error = OT_ERROR_INVALID_ARGS);
|
||||
length = static_cast<int>((strlen(argv[index]) + 1) / 2);
|
||||
VerifyOrExit(++index < aArgsLength, error = OT_ERROR_INVALID_ARGS);
|
||||
length = static_cast<int>((strlen(aArgs[index]) + 1) / 2);
|
||||
VerifyOrExit(static_cast<size_t>(length) <= sizeof(tlvs), error = OT_ERROR_NO_BUFS);
|
||||
VerifyOrExit(Interpreter::Hex2Bin(argv[index], tlvs, static_cast<uint16_t>(length)) >= 0,
|
||||
VerifyOrExit(Interpreter::Hex2Bin(aArgs[index], tlvs, static_cast<uint16_t>(length)) >= 0,
|
||||
error = OT_ERROR_INVALID_ARGS);
|
||||
}
|
||||
else
|
||||
@@ -277,18 +277,18 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Commissioner::ProcessPanId(int argc, char *argv[])
|
||||
otError Commissioner::ProcessPanId(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error;
|
||||
long panid;
|
||||
long mask;
|
||||
otIp6Address address;
|
||||
|
||||
VerifyOrExit(argc > 3, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 3, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[1], panid));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[2], mask));
|
||||
SuccessOrExit(error = otIp6AddressFromString(argv[3], &address));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[1], panid));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[2], mask));
|
||||
SuccessOrExit(error = otIp6AddressFromString(aArgs[3], &address));
|
||||
|
||||
SuccessOrExit(error = otCommissionerPanIdQuery(mInterpreter.mInstance, static_cast<uint16_t>(panid),
|
||||
static_cast<uint32_t>(mask), &address,
|
||||
@@ -298,25 +298,25 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Commissioner::ProcessProvisioningUrl(int argc, char *argv[])
|
||||
otError Commissioner::ProcessProvisioningUrl(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
return otCommissionerSetProvisioningUrl(mInterpreter.mInstance, (argc > 1) ? argv[1] : NULL);
|
||||
return otCommissionerSetProvisioningUrl(mInterpreter.mInstance, (aArgsLength > 1) ? aArgs[1] : NULL);
|
||||
}
|
||||
|
||||
otError Commissioner::ProcessSessionId(int argc, char *argv[])
|
||||
otError Commissioner::ProcessSessionId(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
mInterpreter.mServer->OutputFormat("%d\r\n", otCommissionerGetSessionId(mInterpreter.mInstance));
|
||||
|
||||
return OT_ERROR_NONE;
|
||||
}
|
||||
|
||||
otError Commissioner::ProcessStart(int argc, char *argv[])
|
||||
otError Commissioner::ProcessStart(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
return otCommissionerStart(mInterpreter.mInstance, &Commissioner::HandleStateChanged,
|
||||
&Commissioner::HandleJoinerEvent, this);
|
||||
@@ -378,19 +378,19 @@ void Commissioner::HandleJoinerEvent(otCommissionerJoinerEvent aEvent, const otE
|
||||
mInterpreter.mServer->OutputFormat("\r\n");
|
||||
}
|
||||
|
||||
otError Commissioner::ProcessStop(int argc, char *argv[])
|
||||
otError Commissioner::ProcessStop(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
return otCommissionerStop(mInterpreter.mInstance);
|
||||
}
|
||||
|
||||
otError Commissioner::Process(int argc, char *argv[])
|
||||
otError Commissioner::Process(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_INVALID_COMMAND;
|
||||
|
||||
if (argc < 1)
|
||||
if (aArgsLength < 1)
|
||||
{
|
||||
ProcessHelp(0, NULL);
|
||||
}
|
||||
@@ -398,9 +398,9 @@ otError Commissioner::Process(int argc, char *argv[])
|
||||
{
|
||||
for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++)
|
||||
{
|
||||
if (strcmp(argv[0], sCommands[i].mName) == 0)
|
||||
if (strcmp(aArgs[0], sCommands[i].mName) == 0)
|
||||
{
|
||||
error = (this->*sCommands[i].mCommand)(argc, argv);
|
||||
error = (this->*sCommands[i].mCommand)(aArgsLength, aArgs);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,11 +66,11 @@ public:
|
||||
/**
|
||||
* This method interprets a list of CLI arguments.
|
||||
*
|
||||
* @param[in] argc The number of elements in argv.
|
||||
* @param[in] argv A pointer to an array of command line arguments.
|
||||
* @param[in] aArgsLength The number of elements in @p aArgs.
|
||||
* @param[in] aArgs An array of command line arguments.
|
||||
*
|
||||
*/
|
||||
otError Process(int argc, char *argv[]);
|
||||
otError Process(int aArgsLength, char *aArgs[]);
|
||||
|
||||
private:
|
||||
enum
|
||||
@@ -81,20 +81,20 @@ private:
|
||||
struct Command
|
||||
{
|
||||
const char *mName;
|
||||
otError (Commissioner::*mCommand)(int argc, char *argv[]);
|
||||
otError (Commissioner::*mCommand)(int aArgsLength, char *aArgs[]);
|
||||
};
|
||||
|
||||
otError ProcessHelp(int argc, char *argv[]);
|
||||
otError ProcessAnnounce(int argc, char *argv[]);
|
||||
otError ProcessEnergy(int argc, char *argv[]);
|
||||
otError ProcessJoiner(int argc, char *argv[]);
|
||||
otError ProcessMgmtGet(int argc, char *argv[]);
|
||||
otError ProcessMgmtSet(int argc, char *argv[]);
|
||||
otError ProcessPanId(int argc, char *argv[]);
|
||||
otError ProcessProvisioningUrl(int argc, char *argv[]);
|
||||
otError ProcessSessionId(int argc, char *argv[]);
|
||||
otError ProcessStart(int argc, char *argv[]);
|
||||
otError ProcessStop(int argc, char *argv[]);
|
||||
otError ProcessHelp(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessAnnounce(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessEnergy(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessJoiner(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessMgmtGet(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessMgmtSet(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessPanId(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessProvisioningUrl(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessSessionId(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessStart(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessStop(int aArgsLength, char *aArgs[]);
|
||||
|
||||
static void HandleStateChanged(otCommissionerState aState, void *aContext);
|
||||
void HandleStateChanged(otCommissionerState aState);
|
||||
|
||||
+126
-126
@@ -182,20 +182,20 @@ otError Dataset::Print(otOperationalDataset &aDataset)
|
||||
return OT_ERROR_NONE;
|
||||
}
|
||||
|
||||
otError Dataset::Process(int argc, char *argv[])
|
||||
otError Dataset::Process(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_INVALID_COMMAND;
|
||||
|
||||
if (argc == 0)
|
||||
if (aArgsLength == 0)
|
||||
{
|
||||
ExitNow(error = Print(sDataset));
|
||||
}
|
||||
|
||||
for (unsigned int i = 0; i < OT_ARRAY_LENGTH(sCommands); i++)
|
||||
{
|
||||
if (strcmp(argv[0], sCommands[i].mName) == 0)
|
||||
if (strcmp(aArgs[0], sCommands[i].mName) == 0)
|
||||
{
|
||||
error = (this->*sCommands[i].mCommand)(argc - 1, argv + 1);
|
||||
error = (this->*sCommands[i].mCommand)(aArgsLength - 1, aArgs + 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -204,10 +204,10 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessHelp(int argc, char *argv[])
|
||||
otError Dataset::ProcessHelp(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
for (unsigned int i = 0; i < OT_ARRAY_LENGTH(sCommands); i++)
|
||||
{
|
||||
@@ -217,22 +217,22 @@ otError Dataset::ProcessHelp(int argc, char *argv[])
|
||||
return OT_ERROR_NONE;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessInit(int argc, char *argv[])
|
||||
otError Dataset::ProcessInit(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
|
||||
VerifyOrExit(argc > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
if (strcmp(argv[0], "active") == 0)
|
||||
if (strcmp(aArgs[0], "active") == 0)
|
||||
{
|
||||
SuccessOrExit(error = otDatasetGetActive(mInterpreter.mInstance, &sDataset));
|
||||
}
|
||||
else if (strcmp(argv[0], "pending") == 0)
|
||||
else if (strcmp(aArgs[0], "pending") == 0)
|
||||
{
|
||||
SuccessOrExit(error = otDatasetGetPending(mInterpreter.mInstance, &sDataset));
|
||||
}
|
||||
#if OPENTHREAD_FTD
|
||||
else if (strcmp(argv[0], "new") == 0)
|
||||
else if (strcmp(aArgs[0], "new") == 0)
|
||||
{
|
||||
SuccessOrExit(error = otDatasetCreateNewNetwork(mInterpreter.mInstance, &sDataset));
|
||||
}
|
||||
@@ -246,10 +246,10 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessActive(int argc, char *argv[])
|
||||
otError Dataset::ProcessActive(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
otOperationalDataset dataset;
|
||||
otError error;
|
||||
@@ -261,10 +261,10 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessPending(int argc, char *argv[])
|
||||
otError Dataset::ProcessPending(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
otOperationalDataset dataset;
|
||||
otError error;
|
||||
@@ -276,13 +276,13 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessActiveTimestamp(int argc, char *argv[])
|
||||
otError Dataset::ProcessActiveTimestamp(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
long value;
|
||||
|
||||
VerifyOrExit(argc > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[0], value));
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[0], value));
|
||||
sDataset.mActiveTimestamp = static_cast<uint64_t>(value);
|
||||
sDataset.mComponents.mIsActiveTimestampPresent = true;
|
||||
|
||||
@@ -290,13 +290,13 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessChannel(int argc, char *argv[])
|
||||
otError Dataset::ProcessChannel(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
long value;
|
||||
|
||||
VerifyOrExit(argc > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[0], value));
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[0], value));
|
||||
sDataset.mChannel = static_cast<uint16_t>(value);
|
||||
sDataset.mComponents.mIsChannelPresent = true;
|
||||
|
||||
@@ -304,13 +304,13 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessChannelMask(int argc, char *argv[])
|
||||
otError Dataset::ProcessChannelMask(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
long value;
|
||||
|
||||
VerifyOrExit(argc > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[0], value));
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[0], value));
|
||||
sDataset.mChannelMask = static_cast<uint32_t>(value);
|
||||
sDataset.mComponents.mIsChannelMaskPresent = true;
|
||||
|
||||
@@ -318,26 +318,26 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessClear(int argc, char *argv[])
|
||||
otError Dataset::ProcessClear(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
memset(&sDataset, 0, sizeof(sDataset));
|
||||
return OT_ERROR_NONE;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessCommit(int argc, char *argv[])
|
||||
otError Dataset::ProcessCommit(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
|
||||
VerifyOrExit(argc > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
if (strcmp(argv[0], "active") == 0)
|
||||
if (strcmp(aArgs[0], "active") == 0)
|
||||
{
|
||||
SuccessOrExit(error = otDatasetSetActive(mInterpreter.mInstance, &sDataset));
|
||||
}
|
||||
else if (strcmp(argv[0], "pending") == 0)
|
||||
else if (strcmp(aArgs[0], "pending") == 0)
|
||||
{
|
||||
SuccessOrExit(error = otDatasetSetPending(mInterpreter.mInstance, &sDataset));
|
||||
}
|
||||
@@ -350,13 +350,13 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessDelay(int argc, char *argv[])
|
||||
otError Dataset::ProcessDelay(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
long value;
|
||||
|
||||
VerifyOrExit(argc > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[0], value));
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[0], value));
|
||||
sDataset.mDelay = static_cast<uint32_t>(value);
|
||||
sDataset.mComponents.mIsDelayPresent = true;
|
||||
|
||||
@@ -364,13 +364,13 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessExtPanId(int argc, char *argv[])
|
||||
otError Dataset::ProcessExtPanId(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
uint8_t extPanId[OT_EXT_PAN_ID_SIZE];
|
||||
|
||||
VerifyOrExit(argc > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(Interpreter::Hex2Bin(argv[0], extPanId, sizeof(extPanId)) >= 0, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(Interpreter::Hex2Bin(aArgs[0], extPanId, sizeof(extPanId)) >= 0, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
memcpy(sDataset.mExtendedPanId.m8, extPanId, sizeof(sDataset.mExtendedPanId));
|
||||
sDataset.mComponents.mIsExtendedPanIdPresent = true;
|
||||
@@ -379,13 +379,13 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessMasterKey(int argc, char *argv[])
|
||||
otError Dataset::ProcessMasterKey(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
uint8_t key[OT_MASTER_KEY_SIZE];
|
||||
|
||||
VerifyOrExit(argc > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit((Interpreter::Hex2Bin(argv[0], key, sizeof(key))) == OT_MASTER_KEY_SIZE,
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit((Interpreter::Hex2Bin(aArgs[0], key, sizeof(key))) == OT_MASTER_KEY_SIZE,
|
||||
error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
memcpy(sDataset.mMasterKey.m8, key, sizeof(sDataset.mMasterKey));
|
||||
@@ -395,13 +395,13 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessMeshLocalPrefix(int argc, char *argv[])
|
||||
otError Dataset::ProcessMeshLocalPrefix(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
otIp6Address prefix;
|
||||
|
||||
VerifyOrExit(argc > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
SuccessOrExit(error = otIp6AddressFromString(argv[0], &prefix));
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
SuccessOrExit(error = otIp6AddressFromString(aArgs[0], &prefix));
|
||||
|
||||
memcpy(sDataset.mMeshLocalPrefix.m8, prefix.mFields.m8, sizeof(sDataset.mMeshLocalPrefix.m8));
|
||||
sDataset.mComponents.mIsMeshLocalPrefixPresent = true;
|
||||
@@ -410,29 +410,29 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessNetworkName(int argc, char *argv[])
|
||||
otError Dataset::ProcessNetworkName(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
size_t length;
|
||||
|
||||
VerifyOrExit(argc > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit((length = strlen(argv[0])) <= OT_NETWORK_NAME_MAX_SIZE, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit((length = strlen(aArgs[0])) <= OT_NETWORK_NAME_MAX_SIZE, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
memset(&sDataset.mNetworkName, 0, sizeof(sDataset.mNetworkName));
|
||||
memcpy(sDataset.mNetworkName.m8, argv[0], length);
|
||||
memcpy(sDataset.mNetworkName.m8, aArgs[0], length);
|
||||
sDataset.mComponents.mIsNetworkNamePresent = true;
|
||||
|
||||
exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessPanId(int argc, char *argv[])
|
||||
otError Dataset::ProcessPanId(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
long value;
|
||||
|
||||
VerifyOrExit(argc > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[0], value));
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[0], value));
|
||||
sDataset.mPanId = static_cast<otPanId>(value);
|
||||
sDataset.mComponents.mIsPanIdPresent = true;
|
||||
|
||||
@@ -440,13 +440,13 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessPendingTimestamp(int argc, char *argv[])
|
||||
otError Dataset::ProcessPendingTimestamp(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
long value;
|
||||
|
||||
VerifyOrExit(argc > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[0], value));
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[0], value));
|
||||
sDataset.mPendingTimestamp = static_cast<uint64_t>(value);
|
||||
sDataset.mComponents.mIsPendingTimestampPresent = true;
|
||||
|
||||
@@ -454,7 +454,7 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessMgmtSetCommand(int argc, char *argv[])
|
||||
otError Dataset::ProcessMgmtSetCommand(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
otOperationalDataset dataset;
|
||||
@@ -463,94 +463,94 @@ otError Dataset::ProcessMgmtSetCommand(int argc, char *argv[])
|
||||
int length = 0;
|
||||
otIp6Address prefix;
|
||||
|
||||
VerifyOrExit(argc > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
memset(&dataset, 0, sizeof(dataset));
|
||||
|
||||
for (uint8_t index = 1; index < argc; index++)
|
||||
for (uint8_t index = 1; index < aArgsLength; index++)
|
||||
{
|
||||
if (strcmp(argv[index], "activetimestamp") == 0)
|
||||
if (strcmp(aArgs[index], "activetimestamp") == 0)
|
||||
{
|
||||
VerifyOrExit(++index < argc, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(++index < aArgsLength, error = OT_ERROR_INVALID_ARGS);
|
||||
dataset.mComponents.mIsActiveTimestampPresent = true;
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[index], value));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[index], value));
|
||||
dataset.mActiveTimestamp = static_cast<uint64_t>(value);
|
||||
}
|
||||
else if (strcmp(argv[index], "pendingtimestamp") == 0)
|
||||
else if (strcmp(aArgs[index], "pendingtimestamp") == 0)
|
||||
{
|
||||
VerifyOrExit(++index < argc, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(++index < aArgsLength, error = OT_ERROR_INVALID_ARGS);
|
||||
dataset.mComponents.mIsPendingTimestampPresent = true;
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[index], value));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[index], value));
|
||||
dataset.mPendingTimestamp = static_cast<uint64_t>(value);
|
||||
}
|
||||
else if (strcmp(argv[index], "masterkey") == 0)
|
||||
else if (strcmp(aArgs[index], "masterkey") == 0)
|
||||
{
|
||||
VerifyOrExit(++index < argc, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(++index < aArgsLength, error = OT_ERROR_INVALID_ARGS);
|
||||
dataset.mComponents.mIsMasterKeyPresent = true;
|
||||
VerifyOrExit((length = Interpreter::Hex2Bin(argv[index], dataset.mMasterKey.m8,
|
||||
VerifyOrExit((length = Interpreter::Hex2Bin(aArgs[index], dataset.mMasterKey.m8,
|
||||
sizeof(dataset.mMasterKey.m8))) == OT_MASTER_KEY_SIZE,
|
||||
error = OT_ERROR_INVALID_ARGS);
|
||||
length = 0;
|
||||
}
|
||||
else if (strcmp(argv[index], "networkname") == 0)
|
||||
else if (strcmp(aArgs[index], "networkname") == 0)
|
||||
{
|
||||
VerifyOrExit(++index < argc, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(++index < aArgsLength, error = OT_ERROR_INVALID_ARGS);
|
||||
dataset.mComponents.mIsNetworkNamePresent = true;
|
||||
VerifyOrExit((length = static_cast<int>(strlen(argv[index]))) <= OT_NETWORK_NAME_MAX_SIZE,
|
||||
VerifyOrExit((length = static_cast<int>(strlen(aArgs[index]))) <= OT_NETWORK_NAME_MAX_SIZE,
|
||||
error = OT_ERROR_INVALID_ARGS);
|
||||
memset(&dataset.mNetworkName, 0, sizeof(sDataset.mNetworkName));
|
||||
memcpy(dataset.mNetworkName.m8, argv[index], static_cast<size_t>(length));
|
||||
memcpy(dataset.mNetworkName.m8, aArgs[index], static_cast<size_t>(length));
|
||||
length = 0;
|
||||
}
|
||||
else if (strcmp(argv[index], "extpanid") == 0)
|
||||
else if (strcmp(aArgs[index], "extpanid") == 0)
|
||||
{
|
||||
VerifyOrExit(++index < argc, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(++index < aArgsLength, error = OT_ERROR_INVALID_ARGS);
|
||||
dataset.mComponents.mIsExtendedPanIdPresent = true;
|
||||
VerifyOrExit(
|
||||
Interpreter::Hex2Bin(argv[index], dataset.mExtendedPanId.m8, sizeof(dataset.mExtendedPanId.m8)) >= 0,
|
||||
Interpreter::Hex2Bin(aArgs[index], dataset.mExtendedPanId.m8, sizeof(dataset.mExtendedPanId.m8)) >= 0,
|
||||
error = OT_ERROR_INVALID_ARGS);
|
||||
}
|
||||
else if (strcmp(argv[index], "localprefix") == 0)
|
||||
else if (strcmp(aArgs[index], "localprefix") == 0)
|
||||
{
|
||||
VerifyOrExit(++index < argc, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(++index < aArgsLength, error = OT_ERROR_INVALID_ARGS);
|
||||
dataset.mComponents.mIsMeshLocalPrefixPresent = true;
|
||||
SuccessOrExit(error = otIp6AddressFromString(argv[index], &prefix));
|
||||
SuccessOrExit(error = otIp6AddressFromString(aArgs[index], &prefix));
|
||||
memcpy(dataset.mMeshLocalPrefix.m8, prefix.mFields.m8, sizeof(dataset.mMeshLocalPrefix.m8));
|
||||
}
|
||||
else if (strcmp(argv[index], "delaytimer") == 0)
|
||||
else if (strcmp(aArgs[index], "delaytimer") == 0)
|
||||
{
|
||||
VerifyOrExit(++index < argc, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(++index < aArgsLength, error = OT_ERROR_INVALID_ARGS);
|
||||
dataset.mComponents.mIsDelayPresent = true;
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[index], value));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[index], value));
|
||||
dataset.mDelay = static_cast<uint32_t>(value);
|
||||
}
|
||||
else if (strcmp(argv[index], "panid") == 0)
|
||||
else if (strcmp(aArgs[index], "panid") == 0)
|
||||
{
|
||||
VerifyOrExit(++index < argc, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(++index < aArgsLength, error = OT_ERROR_INVALID_ARGS);
|
||||
dataset.mComponents.mIsPanIdPresent = true;
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[index], value));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[index], value));
|
||||
dataset.mPanId = static_cast<otPanId>(value);
|
||||
}
|
||||
else if (strcmp(argv[index], "channel") == 0)
|
||||
else if (strcmp(aArgs[index], "channel") == 0)
|
||||
{
|
||||
VerifyOrExit(++index < argc, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(++index < aArgsLength, error = OT_ERROR_INVALID_ARGS);
|
||||
dataset.mComponents.mIsChannelPresent = true;
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[index], value));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[index], value));
|
||||
dataset.mChannel = static_cast<uint16_t>(value);
|
||||
}
|
||||
else if (strcmp(argv[index], "channelmask") == 0)
|
||||
else if (strcmp(aArgs[index], "channelmask") == 0)
|
||||
{
|
||||
VerifyOrExit(++index < argc, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(++index < aArgsLength, error = OT_ERROR_INVALID_ARGS);
|
||||
dataset.mComponents.mIsChannelMaskPresent = true;
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[index], value));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[index], value));
|
||||
dataset.mChannelMask = static_cast<uint32_t>(value);
|
||||
}
|
||||
else if (strcmp(argv[index], "binary") == 0)
|
||||
else if (strcmp(aArgs[index], "binary") == 0)
|
||||
{
|
||||
VerifyOrExit(++index < argc, error = OT_ERROR_INVALID_ARGS);
|
||||
length = static_cast<int>((strlen(argv[index]) + 1) / 2);
|
||||
VerifyOrExit(++index < aArgsLength, error = OT_ERROR_INVALID_ARGS);
|
||||
length = static_cast<int>((strlen(aArgs[index]) + 1) / 2);
|
||||
VerifyOrExit(static_cast<size_t>(length) <= sizeof(tlvs), error = OT_ERROR_NO_BUFS);
|
||||
VerifyOrExit(Interpreter::Hex2Bin(argv[index], tlvs, static_cast<uint16_t>(length)) >= 0,
|
||||
VerifyOrExit(Interpreter::Hex2Bin(aArgs[index], tlvs, static_cast<uint16_t>(length)) >= 0,
|
||||
error = OT_ERROR_INVALID_ARGS);
|
||||
}
|
||||
else
|
||||
@@ -559,12 +559,12 @@ otError Dataset::ProcessMgmtSetCommand(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
if (strcmp(argv[0], "active") == 0)
|
||||
if (strcmp(aArgs[0], "active") == 0)
|
||||
{
|
||||
SuccessOrExit(
|
||||
error = otDatasetSendMgmtActiveSet(mInterpreter.mInstance, &dataset, tlvs, static_cast<uint8_t>(length)));
|
||||
}
|
||||
else if (strcmp(argv[0], "pending") == 0)
|
||||
else if (strcmp(aArgs[0], "pending") == 0)
|
||||
{
|
||||
SuccessOrExit(
|
||||
error = otDatasetSendMgmtPendingSet(mInterpreter.mInstance, &dataset, tlvs, static_cast<uint8_t>(length)));
|
||||
@@ -578,7 +578,7 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessMgmtGetCommand(int argc, char *argv[])
|
||||
otError Dataset::ProcessMgmtGetCommand(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
otOperationalDatasetComponents datasetComponents;
|
||||
@@ -588,64 +588,64 @@ otError Dataset::ProcessMgmtGetCommand(int argc, char *argv[])
|
||||
bool destAddrSpecified = false;
|
||||
otIp6Address address;
|
||||
|
||||
VerifyOrExit(argc > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
memset(&datasetComponents, 0, sizeof(datasetComponents));
|
||||
|
||||
for (uint8_t index = 1; index < argc; index++)
|
||||
for (uint8_t index = 1; index < aArgsLength; index++)
|
||||
{
|
||||
VerifyOrExit(static_cast<size_t>(length) < sizeof(tlvs), error = OT_ERROR_NO_BUFS);
|
||||
|
||||
if (strcmp(argv[index], "activetimestamp") == 0)
|
||||
if (strcmp(aArgs[index], "activetimestamp") == 0)
|
||||
{
|
||||
datasetComponents.mIsActiveTimestampPresent = true;
|
||||
}
|
||||
else if (strcmp(argv[index], "pendingtimestamp") == 0)
|
||||
else if (strcmp(aArgs[index], "pendingtimestamp") == 0)
|
||||
{
|
||||
datasetComponents.mIsPendingTimestampPresent = true;
|
||||
}
|
||||
else if (strcmp(argv[index], "masterkey") == 0)
|
||||
else if (strcmp(aArgs[index], "masterkey") == 0)
|
||||
{
|
||||
datasetComponents.mIsMasterKeyPresent = true;
|
||||
}
|
||||
else if (strcmp(argv[index], "networkname") == 0)
|
||||
else if (strcmp(aArgs[index], "networkname") == 0)
|
||||
{
|
||||
datasetComponents.mIsNetworkNamePresent = true;
|
||||
}
|
||||
else if (strcmp(argv[index], "extpanid") == 0)
|
||||
else if (strcmp(aArgs[index], "extpanid") == 0)
|
||||
{
|
||||
datasetComponents.mIsExtendedPanIdPresent = true;
|
||||
}
|
||||
else if (strcmp(argv[index], "localprefix") == 0)
|
||||
else if (strcmp(aArgs[index], "localprefix") == 0)
|
||||
{
|
||||
datasetComponents.mIsMeshLocalPrefixPresent = true;
|
||||
}
|
||||
else if (strcmp(argv[index], "delaytimer") == 0)
|
||||
else if (strcmp(aArgs[index], "delaytimer") == 0)
|
||||
{
|
||||
datasetComponents.mIsDelayPresent = true;
|
||||
}
|
||||
else if (strcmp(argv[index], "panid") == 0)
|
||||
else if (strcmp(aArgs[index], "panid") == 0)
|
||||
{
|
||||
datasetComponents.mIsPanIdPresent = true;
|
||||
}
|
||||
else if (strcmp(argv[index], "channel") == 0)
|
||||
else if (strcmp(aArgs[index], "channel") == 0)
|
||||
{
|
||||
datasetComponents.mIsChannelPresent = true;
|
||||
}
|
||||
else if (strcmp(argv[index], "binary") == 0)
|
||||
else if (strcmp(aArgs[index], "binary") == 0)
|
||||
{
|
||||
VerifyOrExit(++index < argc, error = OT_ERROR_INVALID_ARGS);
|
||||
value = static_cast<long>(strlen(argv[index]) + 1) / 2;
|
||||
VerifyOrExit(++index < aArgsLength, error = OT_ERROR_INVALID_ARGS);
|
||||
value = static_cast<long>(strlen(aArgs[index]) + 1) / 2;
|
||||
VerifyOrExit(static_cast<size_t>(value) <= (sizeof(tlvs) - static_cast<size_t>(length)),
|
||||
error = OT_ERROR_NO_BUFS);
|
||||
VerifyOrExit(Interpreter::Hex2Bin(argv[index], tlvs + length, static_cast<uint16_t>(value)) >= 0,
|
||||
VerifyOrExit(Interpreter::Hex2Bin(aArgs[index], tlvs + length, static_cast<uint16_t>(value)) >= 0,
|
||||
error = OT_ERROR_INVALID_ARGS);
|
||||
length += value;
|
||||
}
|
||||
else if (strcmp(argv[index], "address") == 0)
|
||||
else if (strcmp(aArgs[index], "address") == 0)
|
||||
{
|
||||
VerifyOrExit(++index < argc, error = OT_ERROR_INVALID_ARGS);
|
||||
SuccessOrExit(error = otIp6AddressFromString(argv[index], &address));
|
||||
VerifyOrExit(++index < aArgsLength, error = OT_ERROR_INVALID_ARGS);
|
||||
SuccessOrExit(error = otIp6AddressFromString(aArgs[index], &address));
|
||||
destAddrSpecified = true;
|
||||
}
|
||||
else
|
||||
@@ -654,13 +654,13 @@ otError Dataset::ProcessMgmtGetCommand(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
if (strcmp(argv[0], "active") == 0)
|
||||
if (strcmp(aArgs[0], "active") == 0)
|
||||
{
|
||||
SuccessOrExit(error = otDatasetSendMgmtActiveGet(mInterpreter.mInstance, &datasetComponents, tlvs,
|
||||
static_cast<uint8_t>(length),
|
||||
destAddrSpecified ? &address : NULL));
|
||||
}
|
||||
else if (strcmp(argv[0], "pending") == 0)
|
||||
else if (strcmp(aArgs[0], "pending") == 0)
|
||||
{
|
||||
SuccessOrExit(error = otDatasetSendMgmtPendingGet(mInterpreter.mInstance, &datasetComponents, tlvs,
|
||||
static_cast<uint8_t>(length),
|
||||
@@ -675,15 +675,15 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessPskc(int argc, char *argv[])
|
||||
otError Dataset::ProcessPskc(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
uint16_t length;
|
||||
|
||||
VerifyOrExit(argc > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
length = static_cast<uint16_t>((strlen(argv[0]) + 1) / 2);
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
length = static_cast<uint16_t>((strlen(aArgs[0]) + 1) / 2);
|
||||
VerifyOrExit(length <= OT_PSKC_MAX_SIZE, error = OT_ERROR_NO_BUFS);
|
||||
VerifyOrExit(Interpreter::Hex2Bin(argv[0], sDataset.mPskc.m8 + OT_PSKC_MAX_SIZE - length, length) == length,
|
||||
VerifyOrExit(Interpreter::Hex2Bin(aArgs[0], sDataset.mPskc.m8 + OT_PSKC_MAX_SIZE - length, length) == length,
|
||||
error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
sDataset.mComponents.mIsPskcPresent = true;
|
||||
@@ -692,20 +692,20 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Dataset::ProcessSecurityPolicy(int argc, char *argv[])
|
||||
otError Dataset::ProcessSecurityPolicy(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
long value;
|
||||
|
||||
VerifyOrExit(argc > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[0], value));
|
||||
SuccessOrExit(error = Interpreter::ParseLong(aArgs[0], value));
|
||||
sDataset.mSecurityPolicy.mRotationTime = static_cast<uint16_t>(value);
|
||||
sDataset.mSecurityPolicy.mFlags = 0;
|
||||
|
||||
if (argc > 1)
|
||||
if (aArgsLength > 1)
|
||||
{
|
||||
for (char *arg = argv[1]; *arg != '\0'; arg++)
|
||||
for (char *arg = aArgs[1]; *arg != '\0'; arg++)
|
||||
{
|
||||
switch (*arg)
|
||||
{
|
||||
|
||||
+24
-24
@@ -60,42 +60,42 @@ public:
|
||||
/**
|
||||
* This method interprets a list of CLI arguments.
|
||||
*
|
||||
* @param[in] argc The number of elements in argv.
|
||||
* @param[in] argv A pointer to an array of command line arguments.
|
||||
* @param[in] aArgsLength The number of elements in @p aArgs.
|
||||
* @param[in] aArgs An array of command line arguments.
|
||||
*
|
||||
*/
|
||||
otError Process(int argc, char *argv[]);
|
||||
otError Process(int aArgsLength, char *aArgs[]);
|
||||
|
||||
private:
|
||||
struct Command
|
||||
{
|
||||
const char *mName;
|
||||
otError (Dataset::*mCommand)(int argc, char *argv[]);
|
||||
otError (Dataset::*mCommand)(int aArgsLength, char *aArgs[]);
|
||||
};
|
||||
|
||||
void OutputBytes(const uint8_t *aBytes, uint8_t aLength);
|
||||
otError Print(otOperationalDataset &aDataset);
|
||||
|
||||
otError ProcessHelp(int argc, char *argv[]);
|
||||
otError ProcessActive(int argc, char *argv[]);
|
||||
otError ProcessActiveTimestamp(int argc, char *argv[]);
|
||||
otError ProcessChannel(int argc, char *argv[]);
|
||||
otError ProcessChannelMask(int argc, char *argv[]);
|
||||
otError ProcessClear(int argc, char *argv[]);
|
||||
otError ProcessCommit(int argc, char *argv[]);
|
||||
otError ProcessDelay(int argc, char *argv[]);
|
||||
otError ProcessExtPanId(int argc, char *argv[]);
|
||||
otError ProcessInit(int argc, char *argv[]);
|
||||
otError ProcessMasterKey(int argc, char *argv[]);
|
||||
otError ProcessMeshLocalPrefix(int argc, char *argv[]);
|
||||
otError ProcessNetworkName(int argc, char *argv[]);
|
||||
otError ProcessPanId(int argc, char *argv[]);
|
||||
otError ProcessPending(int argc, char *argv[]);
|
||||
otError ProcessPendingTimestamp(int argc, char *argv[]);
|
||||
otError ProcessMgmtSetCommand(int argc, char *argv[]);
|
||||
otError ProcessMgmtGetCommand(int argc, char *argv[]);
|
||||
otError ProcessPskc(int argc, char *argv[]);
|
||||
otError ProcessSecurityPolicy(int argc, char *argv[]);
|
||||
otError ProcessHelp(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessActive(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessActiveTimestamp(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessChannel(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessChannelMask(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessClear(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessCommit(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessDelay(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessExtPanId(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessInit(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessMasterKey(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessMeshLocalPrefix(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessNetworkName(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessPanId(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessPending(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessPendingTimestamp(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessMgmtSetCommand(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessMgmtGetCommand(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessPskc(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessSecurityPolicy(int aArgsLength, char *aArgs[]);
|
||||
|
||||
Interpreter &mInterpreter;
|
||||
|
||||
|
||||
+18
-18
@@ -48,10 +48,10 @@ const struct Joiner::Command Joiner::sCommands[] = {
|
||||
{"stop", &Joiner::ProcessStop},
|
||||
};
|
||||
|
||||
otError Joiner::ProcessHelp(int argc, char *argv[])
|
||||
otError Joiner::ProcessHelp(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++)
|
||||
{
|
||||
@@ -61,10 +61,10 @@ otError Joiner::ProcessHelp(int argc, char *argv[])
|
||||
return OT_ERROR_NONE;
|
||||
}
|
||||
|
||||
otError Joiner::ProcessId(int argc, char *argv[])
|
||||
otError Joiner::ProcessId(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
otExtAddress joinerId;
|
||||
|
||||
@@ -76,40 +76,40 @@ otError Joiner::ProcessId(int argc, char *argv[])
|
||||
return OT_ERROR_NONE;
|
||||
}
|
||||
|
||||
otError Joiner::ProcessStart(int argc, char *argv[])
|
||||
otError Joiner::ProcessStart(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error;
|
||||
const char *provisioningUrl = NULL;
|
||||
|
||||
VerifyOrExit(argc > 1, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 1, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
if (argc > 2)
|
||||
if (aArgsLength > 2)
|
||||
{
|
||||
provisioningUrl = argv[2];
|
||||
provisioningUrl = aArgs[2];
|
||||
}
|
||||
|
||||
error = otJoinerStart(mInterpreter.mInstance, argv[1], provisioningUrl, PACKAGE_NAME,
|
||||
error = otJoinerStart(mInterpreter.mInstance, aArgs[1], provisioningUrl, PACKAGE_NAME,
|
||||
OPENTHREAD_CONFIG_PLATFORM_INFO, PACKAGE_VERSION, NULL, &Joiner::HandleCallback, this);
|
||||
|
||||
exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Joiner::ProcessStop(int argc, char *argv[])
|
||||
otError Joiner::ProcessStop(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
otJoinerStop(mInterpreter.mInstance);
|
||||
|
||||
return OT_ERROR_NONE;
|
||||
}
|
||||
|
||||
otError Joiner::Process(int argc, char *argv[])
|
||||
otError Joiner::Process(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_INVALID_COMMAND;
|
||||
|
||||
if (argc < 1)
|
||||
if (aArgsLength < 1)
|
||||
{
|
||||
ProcessHelp(0, NULL);
|
||||
}
|
||||
@@ -117,9 +117,9 @@ otError Joiner::Process(int argc, char *argv[])
|
||||
{
|
||||
for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++)
|
||||
{
|
||||
if (strcmp(argv[0], sCommands[i].mName) == 0)
|
||||
if (strcmp(aArgs[0], sCommands[i].mName) == 0)
|
||||
{
|
||||
error = (this->*sCommands[i].mCommand)(argc, argv);
|
||||
error = (this->*sCommands[i].mCommand)(aArgsLength, aArgs);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,23 +66,23 @@ public:
|
||||
/**
|
||||
* This method interprets a list of CLI arguments.
|
||||
*
|
||||
* @param[in] argc The number of elements in argv.
|
||||
* @param[in] argv A pointer to an array of command line arguments.
|
||||
* @param[in] aArgsLength The number of elements in @p aArgs.
|
||||
* @param[in] aArgs A pointer to an array of command line arguments.
|
||||
*
|
||||
*/
|
||||
otError Process(int argc, char *argv[]);
|
||||
otError Process(int aArgsLength, char *aArgs[]);
|
||||
|
||||
private:
|
||||
struct Command
|
||||
{
|
||||
const char *mName;
|
||||
otError (Joiner::*mCommand)(int argc, char *argv[]);
|
||||
otError (Joiner::*mCommand)(int aArgsLength, char *aArgs[]);
|
||||
};
|
||||
|
||||
otError ProcessHelp(int argc, char *argv[]);
|
||||
otError ProcessId(int argc, char *argv[]);
|
||||
otError ProcessStart(int argc, char *argv[]);
|
||||
otError ProcessStop(int argc, char *argv[]);
|
||||
otError ProcessHelp(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessId(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessStart(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessStop(int aArgsLength, char *aArgs[]);
|
||||
|
||||
static void HandleCallback(otError aError, void *aContext);
|
||||
void HandleCallback(otError aError);
|
||||
|
||||
+34
-34
@@ -55,10 +55,10 @@ UdpExample::UdpExample(Interpreter &aInterpreter)
|
||||
memset(&mSocket, 0, sizeof(mSocket));
|
||||
}
|
||||
|
||||
otError UdpExample::ProcessHelp(int argc, char *argv[])
|
||||
otError UdpExample::ProcessHelp(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
for (unsigned int i = 0; i < OT_ARRAY_LENGTH(sCommands); i++)
|
||||
{
|
||||
@@ -68,20 +68,20 @@ otError UdpExample::ProcessHelp(int argc, char *argv[])
|
||||
return OT_ERROR_NONE;
|
||||
}
|
||||
|
||||
otError UdpExample::ProcessBind(int argc, char *argv[])
|
||||
otError UdpExample::ProcessBind(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error;
|
||||
otSockAddr sockaddr;
|
||||
long value;
|
||||
|
||||
VerifyOrExit(argc == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
memset(&sockaddr, 0, sizeof(sockaddr));
|
||||
|
||||
error = otIp6AddressFromString(argv[0], &sockaddr.mAddress);
|
||||
error = otIp6AddressFromString(aArgs[0], &sockaddr.mAddress);
|
||||
SuccessOrExit(error);
|
||||
|
||||
error = Interpreter::ParseLong(argv[1], value);
|
||||
error = Interpreter::ParseLong(aArgs[1], value);
|
||||
SuccessOrExit(error);
|
||||
|
||||
sockaddr.mPort = static_cast<uint16_t>(value);
|
||||
@@ -92,20 +92,20 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError UdpExample::ProcessConnect(int argc, char *argv[])
|
||||
otError UdpExample::ProcessConnect(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error;
|
||||
otSockAddr sockaddr;
|
||||
long value;
|
||||
|
||||
VerifyOrExit(argc == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
memset(&sockaddr, 0, sizeof(sockaddr));
|
||||
|
||||
error = otIp6AddressFromString(argv[0], &sockaddr.mAddress);
|
||||
error = otIp6AddressFromString(aArgs[0], &sockaddr.mAddress);
|
||||
SuccessOrExit(error);
|
||||
|
||||
error = Interpreter::ParseLong(argv[1], value);
|
||||
error = Interpreter::ParseLong(aArgs[1], value);
|
||||
SuccessOrExit(error);
|
||||
|
||||
sockaddr.mPort = static_cast<uint16_t>(value);
|
||||
@@ -116,23 +116,23 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError UdpExample::ProcessClose(int argc, char *argv[])
|
||||
otError UdpExample::ProcessClose(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
return otUdpClose(&mSocket);
|
||||
}
|
||||
|
||||
otError UdpExample::ProcessOpen(int argc, char *argv[])
|
||||
otError UdpExample::ProcessOpen(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
return otUdpOpen(mInterpreter.mInstance, &mSocket, HandleUdpReceive, this);
|
||||
}
|
||||
|
||||
otError UdpExample::ProcessSend(int argc, char *argv[])
|
||||
otError UdpExample::ProcessSend(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
otMessageInfo messageInfo;
|
||||
@@ -143,37 +143,37 @@ otError UdpExample::ProcessSend(int argc, char *argv[])
|
||||
|
||||
memset(&messageInfo, 0, sizeof(messageInfo));
|
||||
|
||||
VerifyOrExit(argc >= 1 && argc <= 4, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength >= 1 && aArgsLength <= 4, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
if (argc > 2)
|
||||
if (aArgsLength > 2)
|
||||
{
|
||||
long value;
|
||||
error = otIp6AddressFromString(argv[curArg++], &messageInfo.mPeerAddr);
|
||||
error = otIp6AddressFromString(aArgs[curArg++], &messageInfo.mPeerAddr);
|
||||
SuccessOrExit(error);
|
||||
|
||||
error = Interpreter::ParseLong(argv[curArg++], value);
|
||||
error = Interpreter::ParseLong(aArgs[curArg++], value);
|
||||
SuccessOrExit(error);
|
||||
|
||||
messageInfo.mPeerPort = static_cast<uint16_t>(value);
|
||||
}
|
||||
|
||||
if (argc == 2 || argc == 4)
|
||||
if (aArgsLength == 2 || aArgsLength == 4)
|
||||
{
|
||||
int typePos = curArg++;
|
||||
|
||||
if (strcmp(argv[typePos], "-s") == 0)
|
||||
if (strcmp(aArgs[typePos], "-s") == 0)
|
||||
{
|
||||
unsigned long value;
|
||||
payloadType = kTypeAutoSize;
|
||||
SuccessOrExit(error = Interpreter::ParseUnsignedLong(argv[curArg], value));
|
||||
SuccessOrExit(error = Interpreter::ParseUnsignedLong(aArgs[curArg], value));
|
||||
payloadLength = static_cast<uint16_t>(value);
|
||||
}
|
||||
else if (strcmp(argv[typePos], "-x") == 0)
|
||||
else if (strcmp(aArgs[typePos], "-x") == 0)
|
||||
{
|
||||
payloadLength = static_cast<uint16_t>(strlen(argv[curArg]));
|
||||
payloadLength = static_cast<uint16_t>(strlen(aArgs[curArg]));
|
||||
payloadType = kTypeHexString;
|
||||
}
|
||||
else if (strcmp(argv[typePos], "-t") == 0)
|
||||
else if (strcmp(aArgs[typePos], "-t") == 0)
|
||||
{
|
||||
payloadType = kTypeText;
|
||||
}
|
||||
@@ -185,7 +185,7 @@ otError UdpExample::ProcessSend(int argc, char *argv[])
|
||||
switch (payloadType)
|
||||
{
|
||||
case kTypeText:
|
||||
SuccessOrExit(error = otMessageAppend(message, argv[curArg], static_cast<uint16_t>(strlen(argv[curArg]))));
|
||||
SuccessOrExit(error = otMessageAppend(message, aArgs[curArg], static_cast<uint16_t>(strlen(aArgs[curArg]))));
|
||||
break;
|
||||
case kTypeAutoSize:
|
||||
SuccessOrExit(error = WriteCharToBuffer(message, payloadLength));
|
||||
@@ -195,7 +195,7 @@ otError UdpExample::ProcessSend(int argc, char *argv[])
|
||||
uint8_t buf[50];
|
||||
int16_t bufLen;
|
||||
uint16_t conversionLength = 0;
|
||||
const char *hexString = argv[curArg];
|
||||
const char *hexString = aArgs[curArg];
|
||||
|
||||
while (payloadLength > 0)
|
||||
{
|
||||
@@ -258,11 +258,11 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError UdpExample::Process(int argc, char *argv[])
|
||||
otError UdpExample::Process(int aArgsLength, char *aArgs[])
|
||||
{
|
||||
otError error = OT_ERROR_INVALID_COMMAND;
|
||||
|
||||
if (argc < 1)
|
||||
if (aArgsLength < 1)
|
||||
{
|
||||
ProcessHelp(0, NULL);
|
||||
error = OT_ERROR_INVALID_ARGS;
|
||||
@@ -271,9 +271,9 @@ otError UdpExample::Process(int argc, char *argv[])
|
||||
{
|
||||
for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++)
|
||||
{
|
||||
if (strcmp(argv[0], sCommands[i].mName) == 0)
|
||||
if (strcmp(aArgs[0], sCommands[i].mName) == 0)
|
||||
{
|
||||
error = (this->*sCommands[i].mCommand)(argc - 1, argv + 1);
|
||||
error = (this->*sCommands[i].mCommand)(aArgsLength - 1, aArgs + 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
+10
-10
@@ -61,17 +61,17 @@ public:
|
||||
/**
|
||||
* This method interprets a list of CLI arguments.
|
||||
*
|
||||
* @param[in] argc The number of elements in argv.
|
||||
* @param[in] argv A pointer to an array of command line arguments.
|
||||
* @param[in] aArgsLength The number of elements in @p aArgs.
|
||||
* @param[in] aArgs An array of command line arguments.
|
||||
*
|
||||
*/
|
||||
otError Process(int argc, char *argv[]);
|
||||
otError Process(int aArgsLength, char *aArgs[]);
|
||||
|
||||
private:
|
||||
struct Command
|
||||
{
|
||||
const char *mName;
|
||||
otError (UdpExample::*mCommand)(int argc, char *argv[]);
|
||||
otError (UdpExample::*mCommand)(int aArgsLength, char *aArgs[]);
|
||||
};
|
||||
|
||||
enum PayloadType
|
||||
@@ -81,12 +81,12 @@ private:
|
||||
kTypeHexString = 2,
|
||||
};
|
||||
|
||||
otError ProcessHelp(int argc, char *argv[]);
|
||||
otError ProcessBind(int argc, char *argv[]);
|
||||
otError ProcessClose(int argc, char *argv[]);
|
||||
otError ProcessConnect(int argc, char *argv[]);
|
||||
otError ProcessOpen(int argc, char *argv[]);
|
||||
otError ProcessSend(int argc, char *argv[]);
|
||||
otError ProcessHelp(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessBind(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessClose(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessConnect(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessOpen(int aArgsLength, char *aArgs[]);
|
||||
otError ProcessSend(int aArgsLength, char *aArgs[]);
|
||||
otError WriteCharToBuffer(otMessage *aMessage, uint16_t aSize);
|
||||
|
||||
static void HandleUdpReceive(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo);
|
||||
|
||||
@@ -49,11 +49,11 @@ void otDiagProcessCmdLine(otInstance *aInstance, const char *aString, char *aOut
|
||||
instance.Get<FactoryDiags::Diags>().ProcessLine(aString, aOutput, aOutputMaxLen);
|
||||
}
|
||||
|
||||
otError otDiagProcessCmd(otInstance *aInstance, int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen)
|
||||
otError otDiagProcessCmd(otInstance *aInstance, int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
Instance &instance = *static_cast<Instance *>(aInstance);
|
||||
|
||||
return instance.Get<FactoryDiags::Diags>().ProcessCmd(aArgCount, aArgVector, aOutput, aOutputMaxLen);
|
||||
return instance.Get<FactoryDiags::Diags>().ProcessCmd(aArgsLength, aArgs, aOutput, aOutputMaxLen);
|
||||
}
|
||||
|
||||
bool otDiagIsEnabled(otInstance *aInstance)
|
||||
|
||||
@@ -46,10 +46,10 @@
|
||||
#include "utils/parse_cmdline.hpp"
|
||||
|
||||
OT_TOOL_WEAK
|
||||
otError otPlatDiagProcess(otInstance *aInstance, int argc, char *argv[], char *aOutput, size_t aOutputMaxLen)
|
||||
otError otPlatDiagProcess(otInstance *aInstance, int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
OT_UNUSED_VARIABLE(aInstance);
|
||||
OT_UNUSED_VARIABLE(aOutput);
|
||||
OT_UNUSED_VARIABLE(aOutputMaxLen);
|
||||
@@ -75,14 +75,14 @@ Diags::Diags(Instance &aInstance)
|
||||
{
|
||||
}
|
||||
|
||||
otError Diags::ProcessChannel(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen)
|
||||
otError Diags::ProcessChannel(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
long value;
|
||||
|
||||
VerifyOrExit(aArgCount == 1, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength == 1, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
SuccessOrExit(error = ParseLong(aArgVector[0], value));
|
||||
SuccessOrExit(error = ParseLong(aArgs[0], value));
|
||||
VerifyOrExit(value >= Radio::kChannelMin && value <= Radio::kChannelMax, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
otPlatDiagChannelSet(static_cast<uint8_t>(value));
|
||||
@@ -92,14 +92,14 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Diags::ProcessPower(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen)
|
||||
otError Diags::ProcessPower(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
long value;
|
||||
|
||||
VerifyOrExit(aArgCount == 1, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength == 1, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
SuccessOrExit(error = ParseLong(aArgVector[0], value));
|
||||
SuccessOrExit(error = ParseLong(aArgs[0], value));
|
||||
|
||||
otPlatDiagTxPowerSet(static_cast<int8_t>(value));
|
||||
|
||||
@@ -108,10 +108,10 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Diags::ProcessStart(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen)
|
||||
otError Diags::ProcessStart(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
OT_UNUSED_VARIABLE(aArgCount);
|
||||
OT_UNUSED_VARIABLE(aArgVector);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
OT_UNUSED_VARIABLE(aOutput);
|
||||
OT_UNUSED_VARIABLE(aOutputMaxLen);
|
||||
|
||||
@@ -120,10 +120,10 @@ otError Diags::ProcessStart(int aArgCount, char *aArgVector[], char *aOutput, si
|
||||
return OT_ERROR_NONE;
|
||||
}
|
||||
|
||||
otError Diags::ProcessStop(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen)
|
||||
otError Diags::ProcessStop(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
OT_UNUSED_VARIABLE(aArgCount);
|
||||
OT_UNUSED_VARIABLE(aArgVector);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
OT_UNUSED_VARIABLE(aOutput);
|
||||
OT_UNUSED_VARIABLE(aOutputMaxLen);
|
||||
|
||||
@@ -161,13 +161,13 @@ Diags::Diags(Instance &aInstance)
|
||||
otPlatDiagTxPowerSet(mTxPower);
|
||||
}
|
||||
|
||||
otError Diags::ProcessChannel(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen)
|
||||
otError Diags::ProcessChannel(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
|
||||
VerifyOrExit(otPlatDiagModeGet(), error = OT_ERROR_INVALID_STATE);
|
||||
|
||||
if (aArgCount == 0)
|
||||
if (aArgsLength == 0)
|
||||
{
|
||||
snprintf(aOutput, aOutputMaxLen, "channel: %d\r\n", mChannel);
|
||||
}
|
||||
@@ -175,7 +175,7 @@ otError Diags::ProcessChannel(int aArgCount, char *aArgVector[], char *aOutput,
|
||||
{
|
||||
long value;
|
||||
|
||||
SuccessOrExit(error = ParseLong(aArgVector[0], value));
|
||||
SuccessOrExit(error = ParseLong(aArgs[0], value));
|
||||
VerifyOrExit(value >= Radio::kChannelMin && value <= Radio::kChannelMax, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
mChannel = static_cast<uint8_t>(value);
|
||||
@@ -190,13 +190,13 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Diags::ProcessPower(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen)
|
||||
otError Diags::ProcessPower(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
|
||||
VerifyOrExit(otPlatDiagModeGet(), error = OT_ERROR_INVALID_STATE);
|
||||
|
||||
if (aArgCount == 0)
|
||||
if (aArgsLength == 0)
|
||||
{
|
||||
snprintf(aOutput, aOutputMaxLen, "tx power: %d dBm\r\n", mTxPower);
|
||||
}
|
||||
@@ -204,7 +204,7 @@ otError Diags::ProcessPower(int aArgCount, char *aArgVector[], char *aOutput, si
|
||||
{
|
||||
long value;
|
||||
|
||||
SuccessOrExit(error = ParseLong(aArgVector[0], value));
|
||||
SuccessOrExit(error = ParseLong(aArgs[0], value));
|
||||
|
||||
mTxPower = static_cast<int8_t>(value);
|
||||
SuccessOrExit(error = Get<Radio>().SetTransmitPower(mTxPower));
|
||||
@@ -218,14 +218,14 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Diags::ProcessRepeat(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen)
|
||||
otError Diags::ProcessRepeat(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
|
||||
VerifyOrExit(otPlatDiagModeGet(), error = OT_ERROR_INVALID_STATE);
|
||||
VerifyOrExit(aArgCount > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
if (strcmp(aArgVector[0], "stop") == 0)
|
||||
if (strcmp(aArgs[0], "stop") == 0)
|
||||
{
|
||||
otPlatAlarmMilliStop(&GetInstance());
|
||||
mRepeatActive = false;
|
||||
@@ -235,12 +235,12 @@ otError Diags::ProcessRepeat(int aArgCount, char *aArgVector[], char *aOutput, s
|
||||
{
|
||||
long value;
|
||||
|
||||
VerifyOrExit(aArgCount == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
SuccessOrExit(error = ParseLong(aArgVector[0], value));
|
||||
SuccessOrExit(error = ParseLong(aArgs[0], value));
|
||||
mTxPeriod = static_cast<uint32_t>(value);
|
||||
|
||||
SuccessOrExit(error = ParseLong(aArgVector[1], value));
|
||||
SuccessOrExit(error = ParseLong(aArgs[1], value));
|
||||
VerifyOrExit(value <= OT_RADIO_FRAME_MAX_SIZE, error = OT_ERROR_INVALID_ARGS);
|
||||
mTxLen = static_cast<uint8_t>(value);
|
||||
|
||||
@@ -256,18 +256,18 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Diags::ProcessSend(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen)
|
||||
otError Diags::ProcessSend(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
long value;
|
||||
|
||||
VerifyOrExit(otPlatDiagModeGet(), error = OT_ERROR_INVALID_STATE);
|
||||
VerifyOrExit(aArgCount == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength == 2, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
SuccessOrExit(error = ParseLong(aArgVector[0], value));
|
||||
SuccessOrExit(error = ParseLong(aArgs[0], value));
|
||||
mTxPackets = static_cast<uint32_t>(value);
|
||||
|
||||
SuccessOrExit(error = ParseLong(aArgVector[1], value));
|
||||
SuccessOrExit(error = ParseLong(aArgs[1], value));
|
||||
VerifyOrExit(value <= OT_RADIO_FRAME_MAX_SIZE, error = OT_ERROR_INVALID_ARGS);
|
||||
mTxLen = static_cast<uint8_t>(value);
|
||||
|
||||
@@ -280,10 +280,10 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Diags::ProcessStart(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen)
|
||||
otError Diags::ProcessStart(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
OT_UNUSED_VARIABLE(aArgCount);
|
||||
OT_UNUSED_VARIABLE(aArgVector);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
otError error = OT_ERROR_NONE;
|
||||
|
||||
@@ -301,20 +301,20 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Diags::ProcessStats(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen)
|
||||
otError Diags::ProcessStats(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
|
||||
VerifyOrExit(otPlatDiagModeGet(), error = OT_ERROR_INVALID_STATE);
|
||||
|
||||
if ((aArgCount == 1) && (strcmp(aArgVector[0], "clear") == 0))
|
||||
if ((aArgsLength == 1) && (strcmp(aArgs[0], "clear") == 0))
|
||||
{
|
||||
mStats.Clear();
|
||||
snprintf(aOutput, aOutputMaxLen, "stats cleared\r\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
VerifyOrExit(aArgCount == 0, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength == 0, error = OT_ERROR_INVALID_ARGS);
|
||||
snprintf(aOutput, aOutputMaxLen,
|
||||
"received packets: %d\r\nsent packets: %d\r\n"
|
||||
"first received packet: rssi=%d, lqi=%d\r\n"
|
||||
@@ -329,10 +329,10 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
otError Diags::ProcessStop(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen)
|
||||
otError Diags::ProcessStop(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
OT_UNUSED_VARIABLE(aArgCount);
|
||||
OT_UNUSED_VARIABLE(aArgVector);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
|
||||
otError error = OT_ERROR_NONE;
|
||||
|
||||
@@ -369,19 +369,19 @@ void Diags::TransmitPacket(void)
|
||||
Get<Radio>().Transmit(*static_cast<Mac::TxFrame *>(mTxPacket));
|
||||
}
|
||||
|
||||
otError Diags::ProcessRadio(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen)
|
||||
otError Diags::ProcessRadio(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
otError error = OT_ERROR_INVALID_ARGS;
|
||||
|
||||
VerifyOrExit(otPlatDiagModeGet(), error = OT_ERROR_INVALID_STATE);
|
||||
VerifyOrExit(aArgCount > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
VerifyOrExit(aArgsLength > 0, error = OT_ERROR_INVALID_ARGS);
|
||||
|
||||
if (strcmp(aArgVector[0], "sleep") == 0)
|
||||
if (strcmp(aArgs[0], "sleep") == 0)
|
||||
{
|
||||
SuccessOrExit(error = Get<Radio>().Sleep());
|
||||
snprintf(aOutput, aOutputMaxLen, "set radio from receive to sleep \r\nstatus 0x%02x\r\n", error);
|
||||
}
|
||||
else if (strcmp(aArgVector[0], "receive") == 0)
|
||||
else if (strcmp(aArgs[0], "receive") == 0)
|
||||
{
|
||||
SuccessOrExit(error = Get<Radio>().Receive(mChannel));
|
||||
SuccessOrExit(error = Get<Radio>().SetTransmitPower(mTxPower));
|
||||
@@ -391,7 +391,7 @@ otError Diags::ProcessRadio(int aArgCount, char *aArgVector[], char *aOutput, si
|
||||
snprintf(aOutput, aOutputMaxLen, "set radio from sleep to receive on channel %d\r\nstatus 0x%02x\r\n", mChannel,
|
||||
error);
|
||||
}
|
||||
else if (strcmp(aArgVector[0], "state") == 0)
|
||||
else if (strcmp(aArgs[0], "state") == 0)
|
||||
{
|
||||
otRadioState state = Get<Radio>().GetState();
|
||||
|
||||
@@ -518,13 +518,13 @@ void Diags::ProcessLine(const char *aString, char *aOutput, size_t aOutputMaxLen
|
||||
|
||||
otError error = OT_ERROR_NONE;
|
||||
char buffer[kMaxCommandBuffer];
|
||||
char * argVector[kMaxArgs];
|
||||
char * aArgsector[kMaxArgs];
|
||||
uint8_t argCount = 0;
|
||||
|
||||
VerifyOrExit(StringLength(aString, kMaxCommandBuffer) < kMaxCommandBuffer, error = OT_ERROR_NO_BUFS);
|
||||
|
||||
strcpy(buffer, aString);
|
||||
error = ot::Utils::CmdLineParser::ParseCmd(buffer, argCount, argVector, kMaxArgs);
|
||||
error = ot::Utils::CmdLineParser::ParseCmd(buffer, argCount, aArgsector, kMaxArgs);
|
||||
|
||||
exit:
|
||||
|
||||
@@ -532,7 +532,7 @@ exit:
|
||||
{
|
||||
case OT_ERROR_NONE:
|
||||
|
||||
ProcessCmd(argCount, &argVector[0], aOutput, aOutputMaxLen);
|
||||
ProcessCmd(argCount, &aArgsector[0], aOutput, aOutputMaxLen);
|
||||
break;
|
||||
|
||||
case OT_ERROR_NO_BUFS:
|
||||
@@ -549,11 +549,11 @@ exit:
|
||||
}
|
||||
}
|
||||
|
||||
otError Diags::ProcessCmd(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen)
|
||||
otError Diags::ProcessCmd(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
|
||||
if (aArgCount == 0)
|
||||
if (aArgsLength == 0)
|
||||
{
|
||||
snprintf(aOutput, aOutputMaxLen, "diagnostics mode is %s\r\n", otPlatDiagModeGet() ? "enabled" : "disabled");
|
||||
ExitNow();
|
||||
@@ -561,22 +561,22 @@ otError Diags::ProcessCmd(int aArgCount, char *aArgVector[], char *aOutput, size
|
||||
|
||||
for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++)
|
||||
{
|
||||
if (strcmp(aArgVector[0], sCommands[i].mName) == 0)
|
||||
if (strcmp(aArgs[0], sCommands[i].mName) == 0)
|
||||
{
|
||||
error = (this->*sCommands[i].mCommand)(aArgCount - 1, (aArgCount > 1) ? &aArgVector[1] : NULL, aOutput,
|
||||
error = (this->*sCommands[i].mCommand)(aArgsLength - 1, (aArgsLength > 1) ? &aArgs[1] : NULL, aOutput,
|
||||
aOutputMaxLen);
|
||||
ExitNow();
|
||||
}
|
||||
}
|
||||
|
||||
// more platform specific features will be processed under platform layer
|
||||
error = otPlatDiagProcess(&GetInstance(), aArgCount, aArgVector, aOutput, aOutputMaxLen);
|
||||
error = otPlatDiagProcess(&GetInstance(), aArgsLength, aArgs, aOutput, aOutputMaxLen);
|
||||
|
||||
exit:
|
||||
// Add more platform specific diagnostics features here.
|
||||
if (error == OT_ERROR_INVALID_COMMAND && aArgCount > 1)
|
||||
if (error == OT_ERROR_INVALID_COMMAND && aArgsLength > 1)
|
||||
{
|
||||
snprintf(aOutput, aOutputMaxLen, "diag feature '%s' is not supported\r\n", aArgVector[0]);
|
||||
snprintf(aOutput, aOutputMaxLen, "diag feature '%s' is not supported\r\n", aArgs[0]);
|
||||
}
|
||||
|
||||
return error;
|
||||
|
||||
@@ -71,8 +71,8 @@ public:
|
||||
/**
|
||||
* This method processes a factory diagnostics command line.
|
||||
*
|
||||
* @param[in] aArgCount The argument counter of diagnostics command line.
|
||||
* @param[in] aArgVector The argument vector of diagnostics command line.
|
||||
* @param[in] aArgsLength The number of args in @p aArgs.
|
||||
* @param[in] aArgs The arguments of diagnostics command line.
|
||||
* @param[out] aOutput The diagnostics execution result.
|
||||
* @param[in] aOutputMaxLen The output buffer size.
|
||||
*
|
||||
@@ -81,7 +81,7 @@ public:
|
||||
* @retval OT_ERROR_NOT_IMPLEMENTED The command is not supported.
|
||||
*
|
||||
*/
|
||||
otError ProcessCmd(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError ProcessCmd(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen);
|
||||
|
||||
/**
|
||||
* This method indicates whether or not the factory diagnostics mode is enabled.
|
||||
@@ -123,7 +123,7 @@ private:
|
||||
struct Command
|
||||
{
|
||||
const char *mName;
|
||||
otError (Diags::*mCommand)(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError (Diags::*mCommand)(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen);
|
||||
};
|
||||
|
||||
struct Stats
|
||||
@@ -138,14 +138,14 @@ private:
|
||||
uint8_t mLastLqi;
|
||||
};
|
||||
|
||||
otError ProcessChannel(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError ProcessPower(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError ProcessRadio(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError ProcessRepeat(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError ProcessSend(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError ProcessStart(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError ProcessStats(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError ProcessStop(int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError ProcessChannel(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError ProcessPower(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError ProcessRadio(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError ProcessRepeat(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError ProcessSend(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError ProcessStart(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError ProcessStats(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen);
|
||||
otError ProcessStop(int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen);
|
||||
|
||||
void TransmitPacket(void);
|
||||
|
||||
|
||||
@@ -50,12 +50,12 @@ static bool IsEscapable(char aChar)
|
||||
return IsSeparator(aChar) || (aChar == '\\');
|
||||
}
|
||||
|
||||
otError CmdLineParser::ParseCmd(char *aString, uint8_t &aArgc, char *aArgv[], uint8_t aArgcMax)
|
||||
otError CmdLineParser::ParseCmd(char *aString, uint8_t &aArgsLength, char *aArgs[], uint8_t aArgsLengthMax)
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
char * cmd;
|
||||
|
||||
aArgc = 0;
|
||||
aArgsLength = 0;
|
||||
|
||||
for (cmd = aString; *cmd; cmd++)
|
||||
{
|
||||
@@ -69,10 +69,10 @@ otError CmdLineParser::ParseCmd(char *aString, uint8_t &aArgc, char *aArgv[], ui
|
||||
*cmd = '\0';
|
||||
}
|
||||
|
||||
if ((*cmd != '\0') && ((aArgc == 0) || (*(cmd - 1) == '\0')))
|
||||
if ((*cmd != '\0') && ((aArgsLength == 0) || (*(cmd - 1) == '\0')))
|
||||
{
|
||||
VerifyOrExit(aArgc < aArgcMax, error = OT_ERROR_INVALID_ARGS);
|
||||
aArgv[aArgc++] = cmd;
|
||||
VerifyOrExit(aArgsLength < aArgsLengthMax, error = OT_ERROR_INVALID_ARGS);
|
||||
aArgs[aArgsLength++] = cmd;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -60,16 +60,16 @@ public:
|
||||
* This function parses the command line.
|
||||
*
|
||||
* Note: this method may change the input @p aString, it will put a '\0' by the end of each argument,
|
||||
* and @p aArgv will point to the arguments in the input @p aString. Backslash ('\') can be used
|
||||
* and @p aArgs will point to the arguments in the input @p aString. Backslash ('\') can be used
|
||||
* to escape separators (' ', '\t', '\r', '\n') and the backslash itself.
|
||||
*
|
||||
* @param[in] aString A NULL-terminated input string.
|
||||
* @param[out] aArgc The argument counter of the command line.
|
||||
* @param[out] aArgv The argument vector of the command line.
|
||||
* @param[in] aArgcMax The maximum argument counter.
|
||||
* @param[in] aString A NULL-terminated input string.
|
||||
* @param[out] aArgsLength The argument counter of the command line.
|
||||
* @param[out] aArgs The argument vector of the command line.
|
||||
* @param[in] aArgsLengthMax The maximum argument counter.
|
||||
*
|
||||
*/
|
||||
static otError ParseCmd(char *aString, uint8_t &aArgc, char *aArgv[], uint8_t aArgcMax);
|
||||
static otError ParseCmd(char *aString, uint8_t &aArgsLength, char *aArgs[], uint8_t aArgsLengthMax);
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -1889,7 +1889,7 @@ void virtualTimeRadioSpinelProcess(otInstance *aInstance, const struct Event *aE
|
||||
#endif // OPENTHREAD_POSIX_VIRTUAL_TIME
|
||||
|
||||
#if OPENTHREAD_CONFIG_DIAG_ENABLE
|
||||
otError otPlatDiagProcess(otInstance *aInstance, int argc, char *argv[], char *aOutput, size_t aOutputMaxLen)
|
||||
otError otPlatDiagProcess(otInstance *aInstance, int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
// deliver the platform specific diags commands to radio only ncp.
|
||||
OT_UNUSED_VARIABLE(aInstance);
|
||||
@@ -1897,9 +1897,9 @@ otError otPlatDiagProcess(otInstance *aInstance, int argc, char *argv[], char *a
|
||||
char *cur = cmd;
|
||||
char *end = cmd + sizeof(cmd);
|
||||
|
||||
for (int index = 0; index < argc; index++)
|
||||
for (int index = 0; index < aArgsLength; index++)
|
||||
{
|
||||
cur += snprintf(cur, static_cast<size_t>(end - cur), "%s ", argv[index]);
|
||||
cur += snprintf(cur, static_cast<size_t>(end - cur), "%s ", aArgs[index]);
|
||||
}
|
||||
|
||||
return sRadioSpinel.PlatDiagProcess(cmd, aOutput, aOutputMaxLen);
|
||||
|
||||
@@ -194,11 +194,11 @@ bool otDiagIsEnabled(otInstance *aInstance)
|
||||
return false;
|
||||
}
|
||||
|
||||
otError otDiagProcessCmd(otInstance *aInstance, int aArgCount, char *aArgVector[], char *aOutput, size_t aOutputMaxLen)
|
||||
otError otDiagProcessCmd(otInstance *aInstance, int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
OT_UNUSED_VARIABLE(aInstance);
|
||||
OT_UNUSED_VARIABLE(aArgCount);
|
||||
OT_UNUSED_VARIABLE(aArgVector);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
OT_UNUSED_VARIABLE(aOutput);
|
||||
OT_UNUSED_VARIABLE(aOutputMaxLen);
|
||||
|
||||
@@ -512,11 +512,11 @@ otError otPlatUartFlush(void)
|
||||
return OT_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
otError otPlatDiagProcess(otInstance *aInstance, int argc, char *argv[], char *aOutput, size_t aOutputMaxLen)
|
||||
otError otPlatDiagProcess(otInstance *aInstance, int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
OT_UNUSED_VARIABLE(aInstance);
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(argv);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aArgs);
|
||||
OT_UNUSED_VARIABLE(aOutput);
|
||||
OT_UNUSED_VARIABLE(aOutputMaxLen);
|
||||
|
||||
|
||||
@@ -425,14 +425,14 @@ exit:
|
||||
// Diag
|
||||
//
|
||||
|
||||
void otPlatDiagProcess(otInstance *aInstance, int argc, char *argv[], char *aOutput, size_t aOutputMaxLen)
|
||||
void otPlatDiagProcess(otInstance *aInstance, int aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
|
||||
{
|
||||
OT_UNUSED_VARIABLE(aInstance);
|
||||
OT_UNUSED_VARIABLE(argc);
|
||||
OT_UNUSED_VARIABLE(aArgsLength);
|
||||
OT_UNUSED_VARIABLE(aOutputMaxLen);
|
||||
|
||||
// no more diagnostics features for Posix platform
|
||||
sprintf(aOutput, "diag feature '%s' is not supported\r\n", argv[0]);
|
||||
sprintf(aOutput, "diag feature '%s' is not supported\r\n", aArgs[0]);
|
||||
}
|
||||
|
||||
void otPlatDiagModeSet(bool aMode)
|
||||
|
||||
Reference in New Issue
Block a user