Zephyr API Documentation 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
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
12
13#ifndef ZEPHYR_INCLUDE_TRACING_TRACKING_H_
14#define ZEPHYR_INCLUDE_TRACING_TRACKING_H_
15
16#include <zephyr/kernel.h>
17
18#if defined(CONFIG_TRACING_OBJECT_TRACKING) || defined(__DOXYGEN__)
19
46
48extern struct k_timer *_track_list_k_timer;
50extern struct k_mem_slab *_track_list_k_mem_slab;
52extern struct k_sem *_track_list_k_sem;
54extern struct k_mutex *_track_list_k_mutex;
56extern struct k_stack *_track_list_k_stack;
58extern struct k_msgq *_track_list_k_msgq;
60extern struct k_mbox *_track_list_k_mbox;
62extern struct k_pipe *_track_list_k_pipe;
64extern struct k_queue *_track_list_k_queue;
66extern struct k_event *_track_list_k_event;
67
73#define SYS_PORT_TRACK_NEXT(list)((list)->_obj_track_next)
74
76
77#define sys_port_track_k_thread_start(thread)
78#define sys_port_track_k_thread_create(new_thread)
79#define sys_port_track_k_thread_sched_ready(thread)
80#define sys_port_track_k_thread_wakeup(thread)
81#define sys_port_track_k_thread_sched_priority_set(thread, prio)
82#define sys_port_track_k_work_delayable_init(dwork)
83#define sys_port_track_k_work_queue_init(queue)
84#define sys_port_track_k_work_init(work)
85#define sys_port_track_k_mutex_init(mutex, ret) \
86 sys_track_k_mutex_init(mutex)
87#define sys_port_track_k_timer_stop(timer)
88#define sys_port_track_k_timer_start(timer, duration, period)
89#define sys_port_track_k_timer_init(timer) \
90 sys_track_k_timer_init(timer)
91#define sys_port_track_k_queue_peek_tail(queue, ret)
92#define sys_port_track_k_queue_peek_head(queue, ret)
93#define sys_port_track_k_queue_cancel_wait(queue)
94#define sys_port_track_k_queue_init(queue) \
95 sys_track_k_queue_init(queue)
96#define sys_port_track_k_pipe_init(pipe, buffer, buffer_size) \
97 sys_track_k_pipe_init(pipe, buffer, buffer_size)
98#define sys_port_track_k_condvar_init(condvar, ret)
99#define sys_port_track_k_stack_init(stack) \
100 sys_track_k_stack_init(stack)
101#define sys_port_track_k_thread_name_set(thread, ret)
102#define sys_port_track_k_sem_reset(sem)
103#define sys_port_track_k_sem_init(sem, ret) \
104 sys_track_k_sem_init(sem)
105#define sys_port_track_k_msgq_purge(msgq)
106#define sys_port_track_k_msgq_peek(msgq, ret)
107#define sys_port_track_k_msgq_init(msgq) \
108 sys_track_k_msgq_init(msgq)
109#define sys_port_track_k_mbox_init(mbox) \
110 sys_track_k_mbox_init(mbox)
111#define sys_port_track_k_mem_slab_init(slab, rc) \
112 sys_track_k_mem_slab_init(slab)
113#define sys_port_track_k_heap_free(h)
114#define sys_port_track_k_heap_init(h)
115#define sys_port_track_k_event_init(event) \
116 sys_track_k_event_init(event);
117
118#define sys_port_track_socket_init(sock, family, type, proto) \
119 sys_track_socket_init(sock, family, type, proto);
120
121void sys_track_k_timer_init(struct k_timer *timer);
122void sys_track_k_mem_slab_init(struct k_mem_slab *slab);
123void sys_track_k_sem_init(struct k_sem *sem);
124void sys_track_k_mutex_init(struct k_mutex *mutex);
125void sys_track_k_stack_init(struct k_stack *stack);
126void sys_track_k_msgq_init(struct k_msgq *msgq);
127void sys_track_k_mbox_init(struct k_mbox *mbox);
128void sys_track_k_pipe_init(struct k_pipe *pipe, void *buffer, size_t size);
129void sys_track_k_queue_init(struct k_queue *queue);
130void sys_track_k_event_init(struct k_event *event);
131void sys_track_socket_init(int sock, int family, int type, int proto);
132
134 /* end of subsys_tracing_object_tracking */
136
137#else
138
139#define sys_port_track_k_thread_start(thread)
140#define sys_port_track_k_thread_create(new_thread)
141#define sys_port_track_k_thread_sched_ready(thread)
142#define sys_port_track_k_thread_wakeup(thread)
143#define sys_port_track_k_thread_sched_priority_set(thread, prio)
144#define sys_port_track_k_work_delayable_init(dwork)
145#define sys_port_track_k_work_queue_init(queue)
146#define sys_port_track_k_work_init(work)
147#define sys_port_track_k_mutex_init(mutex, ret)
148#define sys_port_track_k_timer_stop(timer)
149#define sys_port_track_k_timer_start(timer, duration, period)
150#define sys_port_track_k_timer_init(timer)
151#define sys_port_track_k_queue_peek_tail(queue, ret)
152#define sys_port_track_k_queue_peek_head(queue, ret)
153#define sys_port_track_k_queue_cancel_wait(queue)
154#define sys_port_track_k_queue_init(queue)
155#define sys_port_track_k_pipe_init(pipe, buffer, buffer_size)
156#define sys_port_track_k_condvar_init(condvar, ret)
157#define sys_port_track_k_stack_init(stack)
158#define sys_port_track_k_thread_name_set(thread, ret)
159#define sys_port_track_k_sem_reset(sem)
160#define sys_port_track_k_sem_init(sem, ret)
161#define sys_port_track_k_msgq_purge(msgq)
162#define sys_port_track_k_msgq_peek(msgq, ret)
163#define sys_port_track_k_msgq_init(msgq)
164#define sys_port_track_k_mbox_init(mbox)
165#define sys_port_track_k_mem_slab_init(slab, rc)
166#define sys_port_track_k_heap_free(h)
167#define sys_port_track_k_heap_init(h)
168#define sys_port_track_k_event_init(event)
169#define sys_port_track_socket_init(sock, family, type, proto)
170
171#endif
172
173#endif /* ZEPHYR_INCLUDE_TRACING_TRACKING_H_ */
struct k_pipe * _track_list_k_pipe
Head of the tracking list for k_pipe objects.
struct k_mem_slab * _track_list_k_mem_slab
Head of the tracking list for k_mem_slab objects.
struct k_mutex * _track_list_k_mutex
Head of the tracking list for k_mutex objects.
struct k_event * _track_list_k_event
Head of the tracking list for k_event objects.
struct k_mbox * _track_list_k_mbox
Head of the tracking list for k_mbox objects.
struct k_sem * _track_list_k_sem
Head of the tracking list for k_sem objects.
struct k_msgq * _track_list_k_msgq
Head of the tracking list for k_msgq objects.
struct k_stack * _track_list_k_stack
Head of the tracking list for k_stack objects.
struct k_timer * _track_list_k_timer
Head of the tracking list for k_timer objects.
struct k_queue * _track_list_k_queue
Head of the tracking list for k_queue objects.
Public kernel APIs.
Event Structure.
Definition kernel.h:2691
Mailbox Structure.
Definition kernel.h:5561
Message Queue Structure.
Definition kernel.h:5209
Kernel mutex structure.
Definition kernel.h:3477
Kernel pipe structure.
Definition kernel.h:5717
Kernel queue structure.
Definition kernel.h:2295
Semaphore structure.
Definition kernel.h:3703
Kernel timer structure.
Definition kernel.h:1795