/* Stack-copy compound types */
side_ptr_t(const struct side_arg_vec) side_struct;
- side_ptr_t(const struct side_arg_variant) side_variant;
+ side_ptr_t(struct side_arg_variant) side_variant;
side_ptr_t(const struct side_arg_vec) side_array;
side_ptr_t(const struct side_arg_vec) side_vla;
void *side_vla_app_visitor_ctx;
side_check_size(union side_arg_static, 32);
struct side_arg_dynamic_vla {
- side_ptr_t(const struct side_arg) sav;
+ side_ptr_t(struct side_arg) sav;
side_ptr_t(const struct side_attr) attr;
uint32_t len;
uint32_t nr_attr;
side_check_size(struct side_arg_dynamic_vla, 40);
struct side_arg_dynamic_struct {
- side_ptr_t(const struct side_arg_dynamic_field) fields;
+ side_ptr_t(struct side_arg_dynamic_field) fields;
side_ptr_t(const struct side_attr) attr;
uint32_t len;
uint32_t nr_attr;
side_check_size(struct side_arg_variant, 128);
struct side_arg_vec {
- side_ptr_t(const struct side_arg) sav;
+ side_ptr_t(struct side_arg) sav;
uint32_t len;
} SIDE_PACKED;
side_check_size(struct side_arg_vec, 20);
struct side_arg_dynamic_field {
side_ptr_t(const char) field_name;
- const struct side_arg elem;
+ struct side_arg elem;
} SIDE_PACKED;
side_check_size(struct side_arg_dynamic_field, 16 + sizeof(const struct side_arg));
#define side_arg_struct(_side_type) { .type = SIDE_ENUM_INIT(SIDE_TYPE_STRUCT), .u = { .side_static = { .side_struct = SIDE_PTR_INIT(_side_type) } } }
#define side_arg_define_variant(_identifier, _selector_val, _option) \
- const struct side_arg_variant _identifier = { \
+ struct side_arg_variant _identifier = { \
.selector = _selector_val, \
.option = _option, \
}
}
#define side_arg_dynamic_define_vec(_identifier, _sav, _attr...) \
- const struct side_arg _identifier##_vec[] = { _sav }; \
+ struct side_arg _identifier##_vec[] = { _sav }; \
const struct side_arg_dynamic_vla _identifier = { \
.sav = SIDE_PTR_INIT(_identifier##_vec), \
.attr = SIDE_PTR_INIT(SIDE_PARAM_SELECT_ARG1(_, ##_attr, side_attr_list())), \
}
#define side_arg_dynamic_define_struct(_identifier, _struct_fields, _attr...) \
- const struct side_arg_dynamic_field _identifier##_fields[] = { _struct_fields }; \
+ struct side_arg_dynamic_field _identifier##_fields[] = { _struct_fields }; \
const struct side_arg_dynamic_struct _identifier = { \
.fields = SIDE_PTR_INIT(_identifier##_fields), \
.attr = SIDE_PTR_INIT(SIDE_PARAM_SELECT_ARG1(_, ##_attr, side_attr_list())), \
}
#define side_arg_define_vec(_identifier, _sav) \
- const struct side_arg _identifier##_vec[] = { _sav }; \
+ struct side_arg _identifier##_vec[] = { _sav }; \
const struct side_arg_vec _identifier = { \
.sav = SIDE_PTR_INIT(_identifier##_vec), \
.len = SIDE_ARRAY_SIZE(_identifier##_vec), \
#define side_event_call(_identifier, _sav) \
{ \
- const struct side_arg side_sav[] = { _sav }; \
+ struct side_arg side_sav[] = { _sav }; \
const struct side_arg_vec side_arg_vec = { \
.sav = SIDE_PTR_INIT(side_sav), \
.len = SIDE_ARRAY_SIZE(side_sav), \
#define side_event_call_variadic(_identifier, _sav, _var_fields, _attr...) \
{ \
- const struct side_arg side_sav[] = { _sav }; \
+ struct side_arg side_sav[] = { _sav }; \
const struct side_arg_vec side_arg_vec = { \
.sav = SIDE_PTR_INIT(side_sav), \
.len = SIDE_ARRAY_SIZE(side_sav), \
}; \
- const struct side_arg_dynamic_field side_fields[] = { _var_fields }; \
+ struct side_arg_dynamic_field side_fields[] = { _var_fields }; \
const struct side_arg_dynamic_struct var_struct = { \
.fields = SIDE_PTR_INIT(side_fields), \
.attr = SIDE_PTR_INIT(SIDE_PARAM_SELECT_ARG1(_, ##_attr, side_attr_list())), \