MCPcopy Create free account
hub / github.com/F-Stack/f-stack / parse_expected_status

Function parse_expected_status

dpdk/app/test-bbdev/test_bbdev_vector.c:398–447  ·  view source on GitHub ↗

tokenization expected status values separated by a comma */

Source from the content-addressed store, hash-verified

396
397/* tokenization expected status values separated by a comma */
398static int
399parse_expected_status(char *tokens, int *status, enum rte_bbdev_op_type op_type)
400{
401 char *tok = NULL;
402 bool status_ok = false;
403
404 tok = strtok(tokens, VALUE_DELIMITER);
405 if (tok == NULL)
406 return -1;
407
408 while (tok != NULL) {
409 trim_space(tok);
410 if (!strcmp(tok, "OK"))
411 status_ok = true;
412 else if (!strcmp(tok, "DMA"))
413 *status = *status | (1 << RTE_BBDEV_DRV_ERROR);
414 else if (!strcmp(tok, "FCW"))
415 *status = *status | (1 << RTE_BBDEV_DATA_ERROR);
416 else if (!strcmp(tok, "SYNCRC")) {
417 *status = *status | (1 << RTE_BBDEV_SYNDROME_ERROR);
418 *status = *status | (1 << RTE_BBDEV_CRC_ERROR);
419 } else if (!strcmp(tok, "SYN"))
420 *status = *status | (1 << RTE_BBDEV_SYNDROME_ERROR);
421 else if (!strcmp(tok, "CRC")) {
422 if ((op_type == RTE_BBDEV_OP_TURBO_DEC) ||
423 (op_type == RTE_BBDEV_OP_LDPC_DEC))
424 *status = *status | (1 << RTE_BBDEV_CRC_ERROR);
425 else {
426 printf(
427 "CRC is only a valid value for decoder\n");
428 return -1;
429 }
430 } else {
431 printf("Not valid status: '%s'\n", tok);
432 return -1;
433 }
434
435 tok = strtok(NULL, VALUE_DELIMITER);
436 if (tok == NULL)
437 break;
438 }
439
440 if (status_ok && *status != 0) {
441 printf(
442 "Not valid status values. Cannot be OK and ERROR at the same time.\n");
443 return -1;
444 }
445
446 return 0;
447}
448
449/* parse ops data entry (there can be more than 1 input entry, each will be
450 * contained in a separate op_data_buf struct)

Callers 6

parse_decoder_paramsFunction · 0.85
parse_encoder_paramsFunction · 0.85
parse_fft_paramsFunction · 0.85
parse_mld_paramsFunction · 0.85

Calls 4

strtokFunction · 0.85
strcmpFunction · 0.85
trim_spaceFunction · 0.70
printfFunction · 0.50

Tested by

no test coverage detected