Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
iterable_sections.h File Reference

Go to the source code of this file.

Macros

#define TYPE_SECTION_ITERABLE(type, varname, secname, section_postfix)
 Defines a new element for an iterable section for a generic type.
 
#define TYPE_SECTION_START(secname)   _CONCAT(_##secname, _list_start)
 iterable section start symbol for a generic type
 
#define TYPE_SECTION_END(secname)   _CONCAT(_##secname, _list_end)
 iterable section end symbol for a generic type
 
#define TYPE_SECTION_START_EXTERN(type, secname)    extern type TYPE_SECTION_START(secname)[]
 iterable section extern for start symbol for a generic type
 
#define TYPE_SECTION_END_EXTERN(type, secname)    extern type TYPE_SECTION_END(secname)[]
 iterable section extern for end symbol for a generic type
 
#define TYPE_SECTION_FOREACH(type, secname, iterator)
 Iterate over a specified iterable section for a generic type.
 
#define TYPE_SECTION_GET(type, secname, i, dst)
 Get element from section for a generic type.
 
#define TYPE_SECTION_COUNT(type, secname, dst)
 Count elements in a section for a generic type.
 
#define STRUCT_SECTION_START(struct_type)    TYPE_SECTION_START(struct_type)
 iterable section start symbol for a struct type
 
#define STRUCT_SECTION_START_EXTERN(struct_type)    TYPE_SECTION_START_EXTERN(struct struct_type, struct_type)
 iterable section extern for start symbol for a struct
 
#define STRUCT_SECTION_END(struct_type)    TYPE_SECTION_END(struct_type)
 iterable section end symbol for a struct type
 
#define STRUCT_SECTION_END_EXTERN(struct_type)    TYPE_SECTION_END_EXTERN(struct struct_type, struct_type)
 iterable section extern for end symbol for a struct
 
#define STRUCT_SECTION_ITERABLE_ALTERNATE(secname, struct_type, varname)    TYPE_SECTION_ITERABLE(struct struct_type, varname, secname, varname)
 Defines a new element of alternate data type for an iterable section.
 
#define STRUCT_SECTION_ITERABLE_ARRAY_ALTERNATE(secname, struct_type, varname, size)
 Defines an array of elements of alternate data type for an iterable section.
 
#define STRUCT_SECTION_ITERABLE(struct_type, varname)    STRUCT_SECTION_ITERABLE_ALTERNATE(struct_type, struct_type, varname)
 Defines a new element for an iterable section.
 
#define STRUCT_SECTION_ITERABLE_ARRAY(struct_type, varname, size)
 Defines an array of elements for an iterable section.
 
#define STRUCT_SECTION_ITERABLE_NAMED(struct_type, name, varname)    TYPE_SECTION_ITERABLE(struct struct_type, varname, struct_type, name)
 Defines a new element for an iterable section with a custom name.
 
#define STRUCT_SECTION_ITERABLE_NAMED_ALTERNATE(struct_type, secname, name, varname)    TYPE_SECTION_ITERABLE(struct struct_type, varname, secname, name)
 Defines a new element for an iterable section with a custom name, placed in a custom section.
 
#define STRUCT_SECTION_FOREACH_ALTERNATE(secname, struct_type, iterator)    TYPE_SECTION_FOREACH(struct struct_type, secname, iterator)
 Iterate over a specified iterable section (alternate).
 
#define STRUCT_SECTION_FOREACH(struct_type, iterator)    STRUCT_SECTION_FOREACH_ALTERNATE(struct_type, struct_type, iterator)
 Iterate over a specified iterable section.
 
#define STRUCT_SECTION_GET(struct_type, i, dst)    TYPE_SECTION_GET(struct struct_type, struct_type, i, dst)
 Get element from section.
 
#define STRUCT_SECTION_COUNT(struct_type, dst)    TYPE_SECTION_COUNT(struct struct_type, struct_type, dst);
 Count elements in a section.