LCOV - code coverage report
Current view: top level - zephyr/logging - log_output_dict.h Coverage Total Hit
Test: new.info Lines: 26.7 % 15 4
Test Date: 2025-09-05 20:47:19

            Line data    Source code
       1            0 : /*
       2              :  * Copyright (c) 2018 Nordic Semiconductor ASA
       3              :  * Copyright (c) 2021 Intel Corporation
       4              :  *
       5              :  * SPDX-License-Identifier: Apache-2.0
       6              :  */
       7              : #ifndef ZEPHYR_INCLUDE_LOGGING_LOG_OUTPUT_DICT_H_
       8              : #define ZEPHYR_INCLUDE_LOGGING_LOG_OUTPUT_DICT_H_
       9              : 
      10              : #include <zephyr/logging/log_output.h>
      11              : #include <zephyr/logging/log_msg.h>
      12              : #include <stdarg.h>
      13              : #include <zephyr/toolchain.h>
      14              : #include <zephyr/sys/util.h>
      15              : 
      16              : #ifdef __cplusplus
      17              : extern "C" {
      18              : #endif
      19              : 
      20              : /**
      21              :  * Log message type
      22              :  */
      23            0 : enum log_dict_output_msg_type {
      24              :         MSG_NORMAL = 0,
      25              :         MSG_DROPPED_MSG = 1,
      26              : };
      27              : 
      28              : /**
      29              :  * Output header for one dictionary based log message.
      30              :  */
      31            1 : struct log_dict_output_normal_msg_hdr_t {
      32            0 :         uint8_t type;
      33            0 :         uint32_t domain:4;
      34            0 :         uint32_t level:4;
      35            0 :         uint32_t package_len:16;
      36            0 :         uint32_t data_len:16;
      37            0 :         uintptr_t source;
      38            0 :         log_timestamp_t timestamp;
      39              : } __packed;
      40              : 
      41              : /**
      42              :  * Output for one dictionary based log message about
      43              :  * dropped messages.
      44              :  */
      45            1 : struct log_dict_output_dropped_msg_t {
      46            0 :         uint8_t type;
      47            0 :         uint16_t num_dropped_messages;
      48              : } __packed;
      49              : 
      50              : /** @brief Process log messages v2 for dictionary-based logging.
      51              :  *
      52              :  * Function is using provided context with the buffer and output function to
      53              :  * process formatted string and output the data.
      54              :  *
      55              :  * @param log_output Pointer to the log output instance.
      56              :  * @param msg Log message.
      57              :  * @param flags Optional flags.
      58              :  */
      59            1 : void log_dict_output_msg_process(const struct log_output *log_output,
      60              :                                  struct log_msg *msg, uint32_t flags);
      61              : 
      62              : /** @brief Process dropped messages indication for dictionary-based logging.
      63              :  *
      64              :  * Function prints error message indicating lost log messages.
      65              :  *
      66              :  * @param output Pointer to the log output instance.
      67              :  * @param cnt        Number of dropped messages.
      68              :  */
      69            1 : void log_dict_output_dropped_process(const struct log_output *output, uint32_t cnt);
      70              : 
      71              : #ifdef __cplusplus
      72              : }
      73              : #endif
      74              : 
      75              : #endif /* ZEPHYR_INCLUDE_LOGGING_LOG_OUTPUT_DICT_H_ */
        

Generated by: LCOV version 2.0-1