-#define side_field_struct_sg(_name, _struct_sg) \
- _side_field(_name, side_type_struct_sg(SIDE_PARAM(_struct_sg)))
-
-#define _side_type_struct_sg_define(_fields_sg, _attr) \
- { \
- .nr_fields = SIDE_ARRAY_SIZE(SIDE_PARAM(_fields_sg)), \
- .nr_attr = SIDE_ARRAY_SIZE(SIDE_PARAM(_attr)), \
- .fields_sg = _fields_sg, \
- .attr = _attr, \
- }
-
-#define side_define_struct_sg(_identifier, _fields_sg, _attr) \
- const struct side_type_struct_sg _identifier = _side_type_struct_sg_define(SIDE_PARAM(_fields_sg), SIDE_PARAM(_attr))
-
-#define side_struct_sg_literal(_fields_sg, _attr) \
- SIDE_COMPOUND_LITERAL(const struct side_type_struct_sg, \
- _side_type_struct_sg_define(SIDE_PARAM(_fields_sg), SIDE_PARAM(_attr)))
+#define side_field_struct_sg(_name, _struct_sg, _offset) \
+ _side_field(_name, side_type_struct_sg(SIDE_PARAM(_struct_sg), _offset))