Zephyr API Documentation  3.0.0
A Scalable Open Source RTOS
3.0.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
tracking.h
Go to the documentation of this file.
1/*
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 <kernel.h>
10#include <kernel_structs.h>
11
12#if defined(CONFIG_TRACING_OBJECT_TRACKING) || defined(__DOXYGEN__)
13
36extern struct k_timer *_track_list_k_timer;
37extern struct k_mem_slab *_track_list_k_mem_slab;
38extern struct k_sem *_track_list_k_sem;
39extern struct k_mutex *_track_list_k_mutex;
40extern struct k_stack *_track_list_k_stack;
41extern struct k_msgq *_track_list_k_msgq;
42extern struct k_mbox *_track_list_k_mbox;
43extern struct k_pipe *_track_list_k_pipe;
44extern struct k_queue *_track_list_k_queue;
45
51#define SYS_PORT_TRACK_NEXT(list)((list)->_obj_track_next)
52
55#define sys_port_track_k_thread_start(thread)
56#define sys_port_track_k_thread_create(new_thread)
57#define sys_port_track_k_thread_sched_ready(thread)
58#define sys_port_track_k_thread_wakeup(thread)
59#define sys_port_track_k_thread_sched_priority_set(thread, prio)
60#define sys_port_track_k_work_delayable_init(dwork)
61#define sys_port_track_k_work_queue_init(queue)
62#define sys_port_track_k_work_init(work)
63#define sys_port_track_k_mutex_init(mutex, ret) \
64 sys_track_k_mutex_init(mutex)
65#define sys_port_track_k_timer_stop(timer)
66#define sys_port_track_k_timer_start(timer)
67#define sys_port_track_k_timer_init(timer) \
68 sys_track_k_timer_init(timer)
69#define sys_port_track_k_queue_peek_tail(queue, ret)
70#define sys_port_track_k_queue_peek_head(queue, ret)
71#define sys_port_track_k_queue_cancel_wait(queue)
72#define sys_port_track_k_queue_init(queue) \
73 sys_track_k_queue_init(queue)
74#define sys_port_track_k_pipe_init(pipe) \
75 sys_track_k_pipe_init(pipe)
76#define sys_port_track_k_condvar_init(condvar, ret)
77#define sys_port_track_k_stack_init(stack) \
78 sys_track_k_stack_init(stack)
79#define sys_port_track_k_thread_name_set(thread, ret)
80#define sys_port_track_k_sem_reset(sem)
81#define sys_port_track_k_sem_init(sem, ret) \
82 sys_track_k_sem_init(sem)
83#define sys_port_track_k_msgq_purge(msgq)
84#define sys_port_track_k_msgq_peek(msgq, ret)
85#define sys_port_track_k_msgq_init(msgq) \
86 sys_track_k_msgq_init(msgq)
87#define sys_port_track_k_mbox_init(mbox) \
88 sys_track_k_mbox_init(mbox)
89#define sys_port_track_k_mem_slab_init(slab, rc) \
90 sys_track_k_mem_slab_init(slab)
91#define sys_port_track_k_heap_free(h)
92#define sys_port_track_k_heap_init(h)
93
94void sys_track_k_timer_init(struct k_timer *timer);
95void sys_track_k_mem_slab_init(struct k_mem_slab *slab);
96void sys_track_k_sem_init(struct k_sem *sem);
97void sys_track_k_mutex_init(struct k_mutex *mutex);
98void sys_track_k_stack_init(struct k_stack *stack);
99void sys_track_k_msgq_init(struct k_msgq *msgq);
100void sys_track_k_mbox_init(struct k_mbox *mbox);
101void sys_track_k_pipe_init(struct k_pipe *pipe);
102void sys_track_k_queue_init(struct k_queue *queue);
103 /* end of subsys_tracing_object_tracking */
107
108#else
109
110#define sys_port_track_k_thread_start(thread)
111#define sys_port_track_k_thread_create(new_thread)
112#define sys_port_track_k_thread_sched_ready(thread)
113#define sys_port_track_k_thread_wakeup(thread)
114#define sys_port_track_k_thread_sched_priority_set(thread, prio)
115#define sys_port_track_k_work_delayable_init(dwork)
116#define sys_port_track_k_work_queue_init(queue)
117#define sys_port_track_k_work_init(work)
118#define sys_port_track_k_mutex_init(mutex, ret)
119#define sys_port_track_k_timer_stop(timer)
120#define sys_port_track_k_timer_start(timer)
121#define sys_port_track_k_timer_init(timer)
122#define sys_port_track_k_queue_peek_tail(queue, ret)
123#define sys_port_track_k_queue_peek_head(queue, ret)
124#define sys_port_track_k_queue_cancel_wait(queue)
125#define sys_port_track_k_queue_init(queue)
126#define sys_port_track_k_pipe_init(pipe)
127#define sys_port_track_k_condvar_init(condvar, ret)
128#define sys_port_track_k_stack_init(stack)
129#define sys_port_track_k_thread_name_set(thread, ret)
130#define sys_port_track_k_sem_reset(sem)
131#define sys_port_track_k_sem_init(sem, ret)
132#define sys_port_track_k_msgq_purge(msgq)
133#define sys_port_track_k_msgq_peek(msgq, ret)
134#define sys_port_track_k_msgq_init(msgq)
135#define sys_port_track_k_mbox_init(mbox)
136#define sys_port_track_k_mem_slab_init(slab, rc)
137#define sys_port_track_k_heap_free(h)
138#define sys_port_track_k_heap_init(h)
139
140#endif
141
142#endif /* ZEPHYR_INCLUDE_TRACING_TRACKING_H_ */
struct k_mutex mutex
Definition: kobject.c:1315
struct k_msgq msgq
Definition: test_msgq_contexts.c:12
char stack[2048]
Definition: main.c:22
Mailbox Structure.
Definition: kernel.h:4537
Message Queue Structure.
Definition: kernel.h:4235
Definition: kernel.h:2629
Definition: kernel.h:4664
static struct k_mbox mbox
Definition: test_mbox_api.c:28
static struct k_pipe pipe
Definition: test_mutex_error.c:18
struct k_queue queue
Definition: test_queue_contexts.c:17
static struct k_timer timer[3]
Definition: timeout_order.c:13
static struct k_sem sem[3]
Definition: timeout_order.c:14