BT_HIDDEN int bt_ctf_event_class_set_stream_id(struct bt_ctf_event_class *event_class, uint32_t stream_id) { int ret = 0; struct bt_value *obj; obj = bt_value_integer_create_init(stream_id); if (!obj) { ret = -1; goto end; } ret = bt_ctf_attributes_set_field_value(event_class->attributes, "stream_id", obj); if (event_class->frozen) { bt_ctf_attributes_freeze(event_class->attributes); } end: BT_PUT(obj); return ret; }
static struct bt_value *bt_value_integer_copy( const struct bt_value *integer_obj) { return bt_value_integer_create_init(integer_obj->type, BT_VALUE_TO_INTEGER(integer_obj)->value.u); }
struct bt_ctf_event_class *bt_ctf_event_class_create(const char *name) { int ret; struct bt_value *obj = NULL; struct bt_ctf_event_class *event_class = NULL; if (bt_ctf_validate_identifier(name)) { goto error; } event_class = g_new0(struct bt_ctf_event_class, 1); if (!event_class) { goto error; } bt_object_init(event_class, bt_ctf_event_class_destroy); event_class->fields = bt_ctf_field_type_structure_create(); if (!event_class->fields) { goto error; } event_class->attributes = bt_ctf_attributes_create(); if (!event_class->attributes) { goto error; } obj = bt_value_integer_create_init(-1); if (!obj) { goto error; } ret = bt_ctf_attributes_set_field_value(event_class->attributes, "id", obj); if (ret) { goto error; } BT_PUT(obj); obj = bt_value_string_create_init(name); if (!obj) { goto error; } ret = bt_ctf_attributes_set_field_value(event_class->attributes, "name", obj); if (ret) { goto error; } BT_PUT(obj); return event_class; error: BT_PUT(event_class); BT_PUT(obj); return event_class; }
int bt_ctf_trace_set_environment_field_integer(struct bt_ctf_trace *trace, const char *name, int64_t value) { int ret = 0; struct bt_value *env_value_integer_obj = NULL; if (!trace || !name) { ret = -1; goto end; } if (trace->frozen) { /* * New environment fields may be added to a frozen trace, * but existing fields may not be changed. */ struct bt_value *attribute = bt_ctf_attributes_get_field_value_by_name( trace->environment, name); if (attribute) { BT_PUT(attribute); ret = -1; goto end; } } env_value_integer_obj = bt_value_integer_create_init(value); if (!env_value_integer_obj) { ret = -1; goto end; } ret = bt_ctf_trace_set_environment_field(trace, name, env_value_integer_obj); if (trace->frozen) { bt_value_freeze(env_value_integer_obj); } end: BT_PUT(env_value_integer_obj); return ret; }
struct bt_value *bt_value_signed_integer_create_init(int64_t val) { return bt_value_integer_create_init(BT_VALUE_TYPE_SIGNED_INTEGER, (uint64_t) val); }
struct bt_value *bt_value_unsigned_integer_create_init(uint64_t val) { return bt_value_integer_create_init(BT_VALUE_TYPE_UNSIGNED_INTEGER, val); }