of_table_feature_prop_header_t * of_table_feature_prop_header_new(of_version_t version) { of_table_feature_prop_header_t *obj; int bytes; bytes = of_object_fixed_len[version][OF_TABLE_FEATURE_PROP_HEADER] + of_object_extra_len[version][OF_TABLE_FEATURE_PROP_HEADER]; if ((obj = (of_table_feature_prop_header_t *)of_object_new(OF_WIRE_BUFFER_MAX_LENGTH)) == NULL) { return NULL; } of_table_feature_prop_header_init(obj, version, bytes, 0); return obj; }
of_table_feature_prop_header_t * of_table_feature_prop_header_new(of_version_t version) { of_table_feature_prop_header_t *obj; int bytes; bytes = of_object_fixed_len[version][OF_TABLE_FEATURE_PROP_HEADER] + of_object_extra_len[version][OF_TABLE_FEATURE_PROP_HEADER]; /* Allocate a maximum-length wire buffer assuming we'll be appending to it. */ if ((obj = (of_table_feature_prop_header_t *)of_object_new(OF_WIRE_BUFFER_MAX_LENGTH)) == NULL) { return NULL; } of_table_feature_prop_header_init(obj, version, bytes, 0); return obj; }
int of_list_table_feature_prop_first(of_list_table_feature_prop_t *list, of_table_feature_prop_t *obj) { int rv; of_table_feature_prop_header_init((of_table_feature_prop_header_t *)obj, list->version, 0, 1); if ((rv = of_list_first((of_object_t *)list, (of_object_t *)obj)) < 0) { return rv; } of_object_wire_init((of_object_t *) obj, OF_TABLE_FEATURE_PROP, list->length); if (obj->header.length == 0) { return OF_ERROR_PARSE; } return rv; }