| 1983 | } |
| 1984 | |
| 1985 | static int |
| 1986 | handle_dev_dump(const char *cmd __rte_unused, |
| 1987 | const char *params, |
| 1988 | struct rte_tel_data *d) |
| 1989 | { |
| 1990 | char *buf, *end_param; |
| 1991 | int dev_id, ret; |
| 1992 | FILE *f; |
| 1993 | |
| 1994 | if (params == NULL || strlen(params) == 0 || !isdigit(*params)) |
| 1995 | return -1; |
| 1996 | |
| 1997 | /* Get dev ID from parameter string */ |
| 1998 | dev_id = strtoul(params, &end_param, 10); |
| 1999 | if (*end_param != '\0') |
| 2000 | RTE_EDEV_LOG_DEBUG( |
| 2001 | "Extra parameters passed to eventdev telemetry command, ignoring"); |
| 2002 | |
| 2003 | RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(dev_id, -EINVAL); |
| 2004 | |
| 2005 | buf = calloc(RTE_TEL_MAX_SINGLE_STRING_LEN, sizeof(char)); |
| 2006 | if (buf == NULL) |
| 2007 | return -ENOMEM; |
| 2008 | |
| 2009 | f = fmemopen(buf, RTE_TEL_MAX_SINGLE_STRING_LEN - 1, "w+"); |
| 2010 | if (f == NULL) { |
| 2011 | free(buf); |
| 2012 | return -EINVAL; |
| 2013 | } |
| 2014 | |
| 2015 | ret = rte_event_dev_dump(dev_id, f); |
| 2016 | fclose(f); |
| 2017 | if (ret == 0) { |
| 2018 | rte_tel_data_start_dict(d); |
| 2019 | rte_tel_data_string(d, buf); |
| 2020 | } |
| 2021 | |
| 2022 | free(buf); |
| 2023 | return ret; |
| 2024 | } |
| 2025 | |
| 2026 | RTE_INIT(eventdev_init_telemetry) |
| 2027 | { |
nothing calls this directly
no test coverage detected