LCOV - code coverage report
Current view: top level - zephyr/tracing - tracking.h Hit Total Coverage
Test: new.info Lines: 1 2 50.0 %
Date: 2025-01-02 12:14:04

          Line data    Source code
       1           0 : /*
       2             :  * Copyright (c) 2021 Intel Corporation
       3             :  *
       4             :  * SPDX-License-Identifier: Apache-2.0
       5             :  */
       6             : #ifndef ZEPHYR_INCLUDE_TRACING_TRACKING_H_
       7             : #define ZEPHYR_INCLUDE_TRACING_TRACKING_H_
       8             : 
       9             : #include <zephyr/kernel.h>
      10             : #include <zephyr/kernel_structs.h>
      11             : 
      12             : #if defined(CONFIG_TRACING_OBJECT_TRACKING) || defined(__DOXYGEN__)
      13             : 
      14             : /**
      15             :  * @brief Object tracking
      16             :  *
      17             :  * Object tracking provides lists to kernel objects, so their
      18             :  * existence and current status can be tracked.
      19             :  *
      20             :  * The following global variables are the heads of available lists:
      21             :  * - _track_list_k_timer
      22             :  * - _track_list_k_mem_slab
      23             :  * - _track_list_k_sem
      24             :  * - _track_list_k_mutex
      25             :  * - _track_list_k_stack
      26             :  * - _track_list_k_msgq
      27             :  * - _track_list_k_mbox
      28             :  * - _track_list_k_pipe
      29             :  * - _track_list_k_queue
      30             :  * - _track_list_k_event
      31             :  *
      32             :  * @defgroup subsys_tracing_object_tracking Object tracking
      33             :  * @ingroup subsys_tracing
      34             :  * @{
      35             :  */
      36             : 
      37             : extern struct k_timer *_track_list_k_timer;
      38             : extern struct k_mem_slab *_track_list_k_mem_slab;
      39             : extern struct k_sem *_track_list_k_sem;
      40             : extern struct k_mutex *_track_list_k_mutex;
      41             : extern struct k_stack *_track_list_k_stack;
      42             : extern struct k_msgq *_track_list_k_msgq;
      43             : extern struct k_mbox *_track_list_k_mbox;
      44             : extern struct k_pipe *_track_list_k_pipe;
      45             : extern struct k_queue *_track_list_k_queue;
      46             : extern struct k_event *_track_list_k_event;
      47             : 
      48             : /**
      49             :  * @brief Gets node's next element in a object tracking list.
      50             :  *
      51             :  * @param list Node to get next element from.
      52             :  */
      53           1 : #define SYS_PORT_TRACK_NEXT(list)((list)->_obj_track_next)
      54             : 
      55             : /** @cond INTERNAL_HIDDEN */
      56             : 
      57             : #define sys_port_track_k_thread_start(thread)
      58             : #define sys_port_track_k_thread_create(new_thread)
      59             : #define sys_port_track_k_thread_sched_ready(thread)
      60             : #define sys_port_track_k_thread_wakeup(thread)
      61             : #define sys_port_track_k_thread_sched_priority_set(thread, prio)
      62             : #define sys_port_track_k_work_delayable_init(dwork)
      63             : #define sys_port_track_k_work_queue_init(queue)
      64             : #define sys_port_track_k_work_init(work)
      65             : #define sys_port_track_k_mutex_init(mutex, ret) \
      66             :         sys_track_k_mutex_init(mutex)
      67             : #define sys_port_track_k_timer_stop(timer)
      68             : #define sys_port_track_k_timer_start(timer, duration, period)
      69             : #define sys_port_track_k_timer_init(timer) \
      70             :         sys_track_k_timer_init(timer)
      71             : #define sys_port_track_k_queue_peek_tail(queue, ret)
      72             : #define sys_port_track_k_queue_peek_head(queue, ret)
      73             : #define sys_port_track_k_queue_cancel_wait(queue)
      74             : #define sys_port_track_k_queue_init(queue) \
      75             :         sys_track_k_queue_init(queue)
      76             : #define sys_port_track_k_pipe_init(pipe) \
      77             :         sys_track_k_pipe_init(pipe)
      78             : #define sys_port_track_k_condvar_init(condvar, ret)
      79             : #define sys_port_track_k_stack_init(stack) \
      80             :         sys_track_k_stack_init(stack)
      81             : #define sys_port_track_k_thread_name_set(thread, ret)
      82             : #define sys_port_track_k_sem_reset(sem)
      83             : #define sys_port_track_k_sem_init(sem, ret) \
      84             :         sys_track_k_sem_init(sem)
      85             : #define sys_port_track_k_msgq_purge(msgq)
      86             : #define sys_port_track_k_msgq_peek(msgq, ret)
      87             : #define sys_port_track_k_msgq_init(msgq) \
      88             :         sys_track_k_msgq_init(msgq)
      89             : #define sys_port_track_k_mbox_init(mbox) \
      90             :         sys_track_k_mbox_init(mbox)
      91             : #define sys_port_track_k_mem_slab_init(slab, rc) \
      92             :         sys_track_k_mem_slab_init(slab)
      93             : #define sys_port_track_k_heap_free(h)
      94             : #define sys_port_track_k_heap_init(h)
      95             : #define sys_port_track_k_event_init(event) \
      96             :         sys_track_k_event_init(event);
      97             : 
      98             : #define sys_port_track_socket_init(sock, family, type, proto)   \
      99             :         sys_track_socket_init(sock, family, type, proto);
     100             : 
     101             : void sys_track_k_timer_init(struct k_timer *timer);
     102             : void sys_track_k_mem_slab_init(struct k_mem_slab *slab);
     103             : void sys_track_k_sem_init(struct k_sem *sem);
     104             : void sys_track_k_mutex_init(struct k_mutex *mutex);
     105             : void sys_track_k_stack_init(struct k_stack *stack);
     106             : void sys_track_k_msgq_init(struct k_msgq *msgq);
     107             : void sys_track_k_mbox_init(struct k_mbox *mbox);
     108             : void sys_track_k_pipe_init(struct k_pipe *pipe);
     109             : void sys_track_k_queue_init(struct k_queue *queue);
     110             : void sys_track_k_event_init(struct k_event *event);
     111             : void sys_track_socket_init(int sock, int family, int type, int proto);
     112             : 
     113             : /** @endcond */
     114             : 
     115             : /** @} */ /* end of subsys_tracing_object_tracking */
     116             : 
     117             : #else
     118             : 
     119             : #define sys_port_track_k_thread_start(thread)
     120             : #define sys_port_track_k_thread_create(new_thread)
     121             : #define sys_port_track_k_thread_sched_ready(thread)
     122             : #define sys_port_track_k_thread_wakeup(thread)
     123             : #define sys_port_track_k_thread_sched_priority_set(thread, prio)
     124             : #define sys_port_track_k_work_delayable_init(dwork)
     125             : #define sys_port_track_k_work_queue_init(queue)
     126             : #define sys_port_track_k_work_init(work)
     127             : #define sys_port_track_k_mutex_init(mutex, ret)
     128             : #define sys_port_track_k_timer_stop(timer)
     129             : #define sys_port_track_k_timer_start(timer, duration, period)
     130             : #define sys_port_track_k_timer_init(timer)
     131             : #define sys_port_track_k_queue_peek_tail(queue, ret)
     132             : #define sys_port_track_k_queue_peek_head(queue, ret)
     133             : #define sys_port_track_k_queue_cancel_wait(queue)
     134             : #define sys_port_track_k_queue_init(queue)
     135             : #define sys_port_track_k_pipe_init(pipe)
     136             : #define sys_port_track_k_condvar_init(condvar, ret)
     137             : #define sys_port_track_k_stack_init(stack)
     138             : #define sys_port_track_k_thread_name_set(thread, ret)
     139             : #define sys_port_track_k_sem_reset(sem)
     140             : #define sys_port_track_k_sem_init(sem, ret)
     141             : #define sys_port_track_k_msgq_purge(msgq)
     142             : #define sys_port_track_k_msgq_peek(msgq, ret)
     143             : #define sys_port_track_k_msgq_init(msgq)
     144             : #define sys_port_track_k_mbox_init(mbox)
     145             : #define sys_port_track_k_mem_slab_init(slab, rc)
     146             : #define sys_port_track_k_heap_free(h)
     147             : #define sys_port_track_k_heap_init(h)
     148             : #define sys_port_track_k_event_init(event)
     149             : #define sys_port_track_socket_init(sock, family, type, proto)
     150             : 
     151             : #endif
     152             : 
     153             : #endif /* ZEPHYR_INCLUDE_TRACING_TRACKING_H_ */

Generated by: LCOV version 1.14