.default_type_size = 1,
.default_type_length = 1,
.attr = {
- .flags_table = eap_aka_sim_flags,
- .flags_table_len = NUM_ELEMENTS(eap_aka_sim_flags),
- .flags_len = sizeof(fr_aka_sim_attr_flags_t)
+ .flags = {
+ .table = eap_aka_sim_flags,
+ .table_len = NUM_ELEMENTS(eap_aka_sim_flags),
+ .len = sizeof(fr_aka_sim_attr_flags_t)
+ }
}
};
* and can either be one of a set of fixed values or a generic type
* like "string".
*/
- fr_dict_flag_parser_t const *flags_table; //!< Flags for this protocol, an array of
- ///< fr_dict_flag_parser_t terminated
- ///< by FR_DICT_PROTOCOL_FLAG_TERMINATOR.
- size_t flags_table_len; //!< Length of protocol_flags table.
+ struct {
+ fr_dict_flag_parser_t const *table; //!< Flags for this protocol, an array of
+ ///< fr_dict_flag_parser_t terminated
+ ///< by FR_DICT_PROTOCOL_FLAG_TERMINATOR.
+ size_t table_len; //!< Length of protocol_flags table.
- size_t flags_len; //!< Length of the flags field in the protocol
- ///< specific structure.
+ size_t len; //!< Length of the flags field in the protocol
+ ///< specific structure.
+
+
+ } flags;
fr_dict_attr_valid_func_t valid; //!< Validation function to ensure that
///< new attributes are valid.
* then the protocol flags table.
*/
if (!fr_dict_attr_flag_to_parser(&parser, dict_common_flags, dict_common_flags_len, key, NULL) &&
- (!ctx->dict->proto->attr.flags_table ||
- !fr_dict_attr_flag_to_parser(&parser, ctx->dict->proto->attr.flags_table,
- ctx->dict->proto->attr.flags_table_len, key, NULL))) {
+ (!ctx->dict->proto->attr.flags.table ||
+ !fr_dict_attr_flag_to_parser(&parser, ctx->dict->proto->attr.flags.table,
+ ctx->dict->proto->attr.flags.table_len, key, NULL))) {
fr_strerror_printf("Unknown flag '%s'", key);
return -1;
}
/*
* Allocate room for the protocol specific flags
*/
- if (proto->attr.flags_len > 0) {
+ if (proto->attr.flags.len > 0) {
if (unlikely(dict_attr_ext_alloc_size(&da, FR_DICT_ATTR_EXT_PROTOCOL_SPECIFIC,
- proto->attr.flags_len) == NULL)) {
+ proto->attr.flags.len) == NULL)) {
talloc_free(da);
return NULL;
}
.default_type_size = 1,
.default_type_length = 1,
.attr = {
- .flags_table = dhcpv4_flags,
- .flags_table_len = NUM_ELEMENTS(dhcpv4_flags),
- .flags_len = sizeof(fr_dhcpv4_attr_flags_t),
+ .flags = {
+ .table = dhcpv4_flags,
+ .table_len = NUM_ELEMENTS(dhcpv4_flags),
+ .len = sizeof(fr_dhcpv4_attr_flags_t)
+ },
.valid = attr_valid
},
.attr = {
.valid = attr_valid,
- .flags_table = dhcpv6_flags,
- .flags_table_len = NUM_ELEMENTS(dhcpv6_flags),
- .flags_len = sizeof(fr_dhcpv6_attr_flags_t)
+ .flags = {
+ .table = dhcpv6_flags,
+ .table_len = NUM_ELEMENTS(dhcpv6_flags),
+ .len = sizeof(fr_dhcpv6_attr_flags_t)
+ }
},
.init = fr_dhcpv6_global_init,
.default_type_size = 2,
.default_type_length = 2,
.attr = {
- .flags_table = dns_flags,
- .flags_table_len = NUM_ELEMENTS(dns_flags),
- .flags_len = sizeof(fr_dns_attr_flags_t),
+ .flags = {
+ .table = dns_flags,
+ .table_len = NUM_ELEMENTS(dns_flags),
+ .len = sizeof(fr_dns_attr_flags_t)
+ },
.valid = attr_valid
},
.default_type_size = 1,
.default_type_length = 1,
.attr = {
- .flags_table = radius_flags,
- .flags_table_len = NUM_ELEMENTS(radius_flags),
- .flags_len = sizeof(fr_radius_attr_flags_t),
+ .flags = {
+ .table = radius_flags,
+ .table_len = NUM_ELEMENTS(radius_flags),
+ .len = sizeof(fr_radius_attr_flags_t),
+ },
.valid = attr_valid,
},