99a2dd955f
There is no reason for the DPDK libraries to all have 'librte_' prefix on the directory names. This prefix makes the directory names longer and also makes it awkward to add features referring to individual libraries in the build - should the lib names be specified with or without the prefix. Therefore, we can just remove the library prefix and use the library's unique name as the directory name, i.e. 'eal' rather than 'librte_eal' Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
54 lines
1.5 KiB
C
54 lines
1.5 KiB
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright(c) 2020 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _TELEMETRY_DATA_H_
|
|
#define _TELEMETRY_DATA_H_
|
|
|
|
#include <inttypes.h>
|
|
#include "rte_telemetry.h"
|
|
|
|
enum tel_container_types {
|
|
RTE_TEL_NULL, /** null, used as error value */
|
|
RTE_TEL_STRING, /** basic string type, no included data */
|
|
RTE_TEL_DICT, /** name-value pairs, of individual value type */
|
|
RTE_TEL_ARRAY_STRING, /** array of string values only */
|
|
RTE_TEL_ARRAY_INT, /** array of signed, 32-bit int values */
|
|
RTE_TEL_ARRAY_U64, /** array of unsigned 64-bit int values */
|
|
RTE_TEL_ARRAY_CONTAINER, /** array of container structs */
|
|
};
|
|
|
|
struct container {
|
|
struct rte_tel_data *data;
|
|
int keep;
|
|
};
|
|
|
|
/* each type here must have an equivalent enum in the value types enum in
|
|
* telemetry.h and an array type defined above, and have appropriate
|
|
* type assignment in the RTE_TEL_data_start_array() function
|
|
*/
|
|
union tel_value {
|
|
char sval[RTE_TEL_MAX_STRING_LEN];
|
|
int ival;
|
|
uint64_t u64val;
|
|
struct container container;
|
|
};
|
|
|
|
struct tel_dict_entry {
|
|
char name[RTE_TEL_MAX_STRING_LEN];
|
|
enum rte_tel_value_type type;
|
|
union tel_value value;
|
|
};
|
|
|
|
struct rte_tel_data {
|
|
enum tel_container_types type;
|
|
unsigned int data_len; /* for array or object, how many items */
|
|
union {
|
|
char str[RTE_TEL_MAX_SINGLE_STRING_LEN];
|
|
struct tel_dict_entry dict[RTE_TEL_MAX_DICT_ENTRIES];
|
|
union tel_value array[RTE_TEL_MAX_ARRAY_ENTRIES];
|
|
} data; /* data container */
|
|
};
|
|
|
|
#endif
|