sys: dlist: Add const qualifier to immutable API functions

Allow passing structs with sys_dlist_t members as const without
discarding qualifiers if the API is used without modifying it.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
This commit is contained in:
Pieter De Gendt 2025-04-22 18:54:17 +02:00 committed by Anas Nashif
commit 1a64977b1f

View file

@ -244,7 +244,7 @@ static inline bool sys_dnode_is_linked(const sys_dnode_t *node)
* @return true if node is the head, false otherwise
*/
static inline bool sys_dlist_is_head(sys_dlist_t *list, sys_dnode_t *node)
static inline bool sys_dlist_is_head(const sys_dlist_t *list, const sys_dnode_t *node)
{
return list->head == node;
}
@ -258,7 +258,7 @@ static inline bool sys_dlist_is_head(sys_dlist_t *list, sys_dnode_t *node)
* @return true if node is the tail, false otherwise
*/
static inline bool sys_dlist_is_tail(sys_dlist_t *list, sys_dnode_t *node)
static inline bool sys_dlist_is_tail(const sys_dlist_t *list, const sys_dnode_t *node)
{
return list->tail == node;
}
@ -271,7 +271,7 @@ static inline bool sys_dlist_is_tail(sys_dlist_t *list, sys_dnode_t *node)
* @return true if empty, false otherwise
*/
static inline bool sys_dlist_is_empty(sys_dlist_t *list)
static inline bool sys_dlist_is_empty(const sys_dlist_t *list)
{
return list->head == list;
}
@ -286,7 +286,7 @@ static inline bool sys_dlist_is_empty(sys_dlist_t *list)
* @return true if multiple nodes, false otherwise
*/
static inline bool sys_dlist_has_multiple_nodes(sys_dlist_t *list)
static inline bool sys_dlist_has_multiple_nodes(const sys_dlist_t *list)
{
return list->head != list->tail;
}
@ -299,7 +299,7 @@ static inline bool sys_dlist_has_multiple_nodes(sys_dlist_t *list)
* @return a pointer to the head element, NULL if list is empty
*/
static inline sys_dnode_t *sys_dlist_peek_head(sys_dlist_t *list)
static inline sys_dnode_t *sys_dlist_peek_head(const sys_dlist_t *list)
{
return sys_dlist_is_empty(list) ? NULL : list->head;
}
@ -314,7 +314,7 @@ static inline sys_dnode_t *sys_dlist_peek_head(sys_dlist_t *list)
* @return a pointer to the head element
*/
static inline sys_dnode_t *sys_dlist_peek_head_not_empty(sys_dlist_t *list)
static inline sys_dnode_t *sys_dlist_peek_head_not_empty(const sys_dlist_t *list)
{
return list->head;
}
@ -330,8 +330,8 @@ static inline sys_dnode_t *sys_dlist_peek_head_not_empty(sys_dlist_t *list)
* @return a pointer to the next element from a node, NULL if node is the tail
*/
static inline sys_dnode_t *sys_dlist_peek_next_no_check(sys_dlist_t *list,
sys_dnode_t *node)
static inline sys_dnode_t *sys_dlist_peek_next_no_check(const sys_dlist_t *list,
const sys_dnode_t *node)
{
return (node == list->tail) ? NULL : node->next;
}
@ -346,8 +346,8 @@ static inline sys_dnode_t *sys_dlist_peek_next_no_check(sys_dlist_t *list,
* or NULL (when node comes from reading the head of an empty list).
*/
static inline sys_dnode_t *sys_dlist_peek_next(sys_dlist_t *list,
sys_dnode_t *node)
static inline sys_dnode_t *sys_dlist_peek_next(const sys_dlist_t *list,
const sys_dnode_t *node)
{
return (node != NULL) ? sys_dlist_peek_next_no_check(list, node) : NULL;
}
@ -364,8 +364,8 @@ static inline sys_dnode_t *sys_dlist_peek_next(sys_dlist_t *list,
* tail
*/
static inline sys_dnode_t *sys_dlist_peek_prev_no_check(sys_dlist_t *list,
sys_dnode_t *node)
static inline sys_dnode_t *sys_dlist_peek_prev_no_check(const sys_dlist_t *list,
const sys_dnode_t *node)
{
return (node == list->head) ? NULL : node->prev;
}
@ -381,8 +381,8 @@ static inline sys_dnode_t *sys_dlist_peek_prev_no_check(sys_dlist_t *list,
* list).
*/
static inline sys_dnode_t *sys_dlist_peek_prev(sys_dlist_t *list,
sys_dnode_t *node)
static inline sys_dnode_t *sys_dlist_peek_prev(const sys_dlist_t *list,
const sys_dnode_t *node)
{
return (node != NULL) ? sys_dlist_peek_prev_no_check(list, node) : NULL;
}
@ -395,7 +395,7 @@ static inline sys_dnode_t *sys_dlist_peek_prev(sys_dlist_t *list,
* @return a pointer to the tail element, NULL if list is empty
*/
static inline sys_dnode_t *sys_dlist_peek_tail(sys_dlist_t *list)
static inline sys_dnode_t *sys_dlist_peek_tail(const sys_dlist_t *list)
{
return sys_dlist_is_empty(list) ? NULL : list->tail;
}
@ -563,7 +563,7 @@ static inline sys_dnode_t *sys_dlist_get(sys_dlist_t *list)
*
* @return an integer equal to the size of the list, or 0 if empty
*/
static inline size_t sys_dlist_len(sys_dlist_t *list)
static inline size_t sys_dlist_len(const sys_dlist_t *list)
{
size_t len = 0;
sys_dnode_t *node = NULL;