123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /*
- * Copyright (c) 2018 Nordic Semiconductor ASA
- * Copyright (c) 2021 Intel Corporation
- *
- * SPDX-License-Identifier: Apache-2.0
- */
- #ifndef ZEPHYR_INCLUDE_LOGGING_LOG_OUTPUT_DICT_H_
- #define ZEPHYR_INCLUDE_LOGGING_LOG_OUTPUT_DICT_H_
- #include <logging/log_output.h>
- #include <logging/log_msg2.h>
- #include <stdarg.h>
- #include <toolchain.h>
- #include <sys/util.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- /**
- * Log message type
- */
- enum log_dict_output_msg_type {
- MSG_NORMAL = 0,
- MSG_DROPPED_MSG = 1,
- };
- /**
- * Output header for one dictionary based log message.
- */
- struct log_dict_output_normal_msg_hdr_t {
- uint8_t type;
- uint32_t domain:3;
- uint32_t level:3;
- uint32_t package_len:10;
- uint32_t data_len:12;
- uintptr_t source;
- log_timestamp_t timestamp;
- } __packed;
- /**
- * Output for one dictionary based log message about
- * dropped messages.
- */
- struct log_dict_output_dropped_msg_t {
- uint8_t type;
- uint16_t num_dropped_messages;
- } __packed;
- /** @brief Process log messages v2 for dictionary-basde logging.
- *
- * Function is using provided context with the buffer and output function to
- * process formatted string and output the data.
- *
- * @param log_output Pointer to the log output instance.
- * @param msg Log message.
- * @param flags Optional flags.
- */
- void log_dict_output_msg2_process(const struct log_output *log_output,
- struct log_msg2 *msg, uint32_t flags);
- /** @brief Process dropped messages indication for dictionary-based logging.
- *
- * Function prints error message indicating lost log messages.
- *
- * @param output Pointer to the log output instance.
- * @param cnt Number of dropped messages.
- */
- void log_dict_output_dropped_process(const struct log_output *output, uint32_t cnt);
- #ifdef __cplusplus
- }
- #endif
- #endif /* ZEPHYR_INCLUDE_LOGGING_LOG_OUTPUT_DICT_H_ */
|