@@ -52,6 +52,81 @@ extern struct k_event *_track_list_k_event;
52
52
*/
53
53
#define SYS_PORT_TRACK_NEXT (list )((list)->_obj_track_next)
54
54
55
+ /**
56
+ * @brief Gets node's next element in a object tracking list.
57
+ *
58
+ * Example:
59
+ * SYS_PORT_TRACK_FOREACH(k_mutex, m) {
60
+ * ...
61
+ * }
62
+ *
63
+ * @param object Type of tracking object to iterate over.
64
+ * @param var Temporary variable used during iteration.
65
+ */
66
+ #define SYS_PORT_TRACK_FOREACH (object , var ) \
67
+ for (struct object *var = _track_list_##object \
68
+ ; var != NULL; var++)
69
+
70
+ /**
71
+ * @brief Gets node's next element in a k_timer tracking list.
72
+ */
73
+ #define SYS_PORT_TRACK_K_TIMER_NEXT () \
74
+ SYS_PORT_TRACK_NEXT(_track_list_k_timer)
75
+
76
+ /**
77
+ * @brief Gets node's next element in a k_mem_slab tracking list.
78
+ */
79
+ #define SYS_PORT_TRACK_K_MEM_SLAB_NEXT () \
80
+ SYS_PORT_TRACK_NEXT(_track_list_k_mem_slab)
81
+
82
+ /**
83
+ * @brief Gets node's next element in a k_sem tracking list.
84
+ */
85
+ #define SYS_PORT_TRACK_K_SEM_NEXT () \
86
+ SYS_PORT_TRACK_NEXT(_track_list_k_sem)
87
+
88
+ /**
89
+ * @brief Gets node's next element in a k_mutex tracking list.
90
+ */
91
+ #define SYS_PORT_TRACK_K_MUTEX_NEXT () \
92
+ SYS_PORT_TRACK_NEXT(_track_list_k_mutex)
93
+
94
+ /**
95
+ * @brief Gets node's next element in a k_stack tracking list.
96
+ */
97
+ #define SYS_PORT_TRACK_K_STACK_NEXT () \
98
+ SYS_PORT_TRACK_NEXT(_track_list_k_stack)
99
+
100
+ /**
101
+ * @brief Gets node's next element in a k_msgq tracking list.
102
+ */
103
+ #define SYS_PORT_TRACK_K_MSGQ_NEXT () \
104
+ SYS_PORT_TRACK_NEXT(_track_list_k_msgq)
105
+
106
+ /**
107
+ * @brief Gets node's next element in a k_mbox tracking list.
108
+ */
109
+ #define SYS_PORT_TRACK_K_MBOX_NEXT () \
110
+ SYS_PORT_TRACK_NEXT(_track_list_k_mbox)
111
+
112
+ /**
113
+ * @brief Gets node's next element in a k_pipe tracking list.
114
+ */
115
+ #define SYS_PORT_TRACK_K_PIPE_NEXT () \
116
+ SYS_PORT_TRACK_NEXT(_track_list_k_pipe)
117
+
118
+ /**
119
+ * @brief Gets node's next element in a k_queue tracking list.
120
+ */
121
+ #define SYS_PORT_TRACK_K_QUEUE_NEXT () \
122
+ SYS_PORT_TRACK_NEXT(_track_list_k_queue)
123
+
124
+ /**
125
+ * @brief Gets node's next element in a k_event tracking list.
126
+ */
127
+ #define SYS_PORT_TRACK_K_EVENT_NEXT () \
128
+ SYS_PORT_TRACK_NEXT(_track_list_k_event)
129
+
55
130
/** @cond INTERNAL_HIDDEN */
56
131
57
132
#define sys_port_track_k_thread_start (thread )
0 commit comments