Singly-Linked List data macros. More...

Macros

#define GOS_SAFE_SLINKED_LIST_UNLIMITED   UINT16_MAX
 
#define GOS_SAFE_SLINKED_LIST_LAST   UINT16_MAX
 
#define GOS_SAFE_SLINKED_LIST_FIRST   0
 
#define GOS_SAFE_SLINKED_LIST_HEADER(type)   struct type *next
 

Detailed Description

Singly-Linked List data macros.

Macro Definition Documentation

◆ GOS_SAFE_SLINKED_LIST_FIRST

#define GOS_SAFE_SLINKED_LIST_FIRST   0

First entry in list

This may be used by gos_safe_slinked_list_add_at_index() or gos_safe_slinked_list_remove_at_index() to add/remove at the very beginning of the list

◆ GOS_SAFE_SLINKED_LIST_HEADER

#define GOS_SAFE_SLINKED_LIST_HEADER (   type)    struct type *next

Helper macro to define the entry header

Note
This macro is optional but entries MUST have a next field as the FIRST member in the entry struct.

◆ GOS_SAFE_SLINKED_LIST_LAST

#define GOS_SAFE_SLINKED_LIST_LAST   UINT16_MAX

Last entry in list

This may be used by gos_safe_slinked_list_add_at_index() or gos_safe_slinked_list_remove_at_index() to add/remove at the very end of the list

◆ GOS_SAFE_SLINKED_LIST_UNLIMITED

#define GOS_SAFE_SLINKED_LIST_UNLIMITED   UINT16_MAX

Unlimited list size

This should be used by gos_safe_slinked_list_init() to indicate that the list is unbounded