@@ -52,6 +52,81 @@ extern struct k_event *_track_list_k_event;
5252 */ 
5353#define  SYS_PORT_TRACK_NEXT (list )((list)->_obj_track_next)
5454
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_FOR_EACH (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+ 
55130/** @cond INTERNAL_HIDDEN */ 
56131
57132#define  sys_port_track_k_thread_start (thread )
0 commit comments