Lines Matching refs:secname

42 #define TYPE_SECTION_ITERABLE(type, varname, secname, section_postfix) \  argument
44 __in_section(_##secname, static, _CONCAT(section_postfix, _)) __used __noasan
55 #define TYPE_SECTION_START(secname) _CONCAT(_##secname, _list_start) argument
65 #define TYPE_SECTION_END(secname) _CONCAT(_##secname, _list_end) argument
78 #define TYPE_SECTION_START_EXTERN(type, secname) \ argument
79 extern type TYPE_SECTION_START(secname)[]
92 #define TYPE_SECTION_END_EXTERN(type, secname) \ argument
93 extern type TYPE_SECTION_END(secname)[]
105 #define TYPE_SECTION_FOREACH(type, secname, iterator) \ argument
106 TYPE_SECTION_START_EXTERN(type, secname); \
107 TYPE_SECTION_END_EXTERN(type, secname); \
108 for (type * iterator = TYPE_SECTION_START(secname); ({ \
109 __ASSERT(iterator <= TYPE_SECTION_END(secname),\
111 iterator < TYPE_SECTION_END(secname); \
125 #define TYPE_SECTION_GET(type, secname, i, dst) do { \ argument
126 TYPE_SECTION_START_EXTERN(type, secname); \
127 *(dst) = &TYPE_SECTION_START(secname)[i]; \
137 #define TYPE_SECTION_COUNT(type, secname, dst) do { \ argument
138 TYPE_SECTION_START_EXTERN(type, secname); \
139 TYPE_SECTION_END_EXTERN(type, secname); \
140 *(dst) = ((uintptr_t)TYPE_SECTION_END(secname) - \
141 (uintptr_t)TYPE_SECTION_START(secname)) / sizeof(type); \
188 #define STRUCT_SECTION_ITERABLE_ALTERNATE(secname, struct_type, varname) \ argument
189 TYPE_SECTION_ITERABLE(struct struct_type, varname, secname, varname)
197 #define STRUCT_SECTION_ITERABLE_ARRAY_ALTERNATE(secname, struct_type, varname, \ argument
199 TYPE_SECTION_ITERABLE(struct struct_type, varname[size], secname, \
244 #define STRUCT_SECTION_ITERABLE_NAMED_ALTERNATE(struct_type, secname, name, varname) \ argument
245 TYPE_SECTION_ITERABLE(struct struct_type, varname, secname, name)
257 #define STRUCT_SECTION_FOREACH_ALTERNATE(secname, struct_type, iterator) \ argument
258 TYPE_SECTION_FOREACH(struct struct_type, secname, iterator)