int of_list_uint8_first(of_list_uint8_t *list, of_uint8_t *obj) { int rv; of_uint8_init(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_UINT8, list->length); if (obj->length == 0) { return OF_ERROR_PARSE; } return rv; }
of_uint8_t * of_uint8_new(of_version_t version) { of_uint8_t *obj; int bytes; bytes = of_object_fixed_len[version][OF_UINT8] + of_object_extra_len[version][OF_UINT8]; /* Allocate a maximum-length wire buffer assuming we'll be appending to it. */ if ((obj = (of_uint8_t *)of_object_new(OF_WIRE_BUFFER_MAX_LENGTH)) == NULL) { return NULL; } of_uint8_init(obj, version, bytes, 0); if (of_uint8_push_wire_values(obj) < 0) { FREE(obj); return NULL; } return obj; }