X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;ds=sidebyside;f=include%2Fbabeltrace%2Ftrace-ir%2Ffield-class.h;h=985eecd9e9c598566e3f2857e50ba0e78cc6f57e;hb=23b19ebef2bf6e3f038ac7c10cb721e5868d0ce5;hp=c770f81ab3e7fd4b406639b6a1363987e30968a6;hpb=b7c5b62e2921b337eb4984eedb523e34e94e453b;p=deliverable%2Fbabeltrace.git diff --git a/include/babeltrace/trace-ir/field-class.h b/include/babeltrace/trace-ir/field-class.h index c770f81ab..985eecd9e 100644 --- a/include/babeltrace/trace-ir/field-class.h +++ b/include/babeltrace/trace-ir/field-class.h @@ -27,7 +27,7 @@ * http://www.efficios.com/ctf */ -/* For bt_bool, bt_field_class */ +/* For bt_bool, bt_field_class, bt_trace_class */ #include /* @@ -43,9 +43,11 @@ extern "C" { #endif -extern bt_field_class *bt_field_class_unsigned_integer_create(void); +extern bt_field_class *bt_field_class_unsigned_integer_create( + bt_trace_class *trace_class); -extern bt_field_class *bt_field_class_signed_integer_create(void); +extern bt_field_class *bt_field_class_signed_integer_create( + bt_trace_class *trace_class); extern void bt_field_class_integer_set_field_value_range( bt_field_class *field_class, uint64_t size); @@ -54,15 +56,17 @@ extern void bt_field_class_integer_set_preferred_display_base( bt_field_class *field_class, bt_field_class_integer_preferred_display_base base); -extern bt_field_class *bt_field_class_real_create(void); +extern bt_field_class *bt_field_class_real_create(bt_trace_class *trace_class); extern void bt_field_class_real_set_is_single_precision( bt_field_class *field_class, bt_bool is_single_precision); -extern bt_field_class *bt_field_class_unsigned_enumeration_create(void); +extern bt_field_class *bt_field_class_unsigned_enumeration_create( + bt_trace_class *trace_class); -extern bt_field_class *bt_field_class_signed_enumeration_create(void); +extern bt_field_class *bt_field_class_signed_enumeration_create( + bt_trace_class *trace_class); extern bt_field_class_status bt_field_class_unsigned_enumeration_map_range( bt_field_class *field_class, const char *label, @@ -72,26 +76,42 @@ extern bt_field_class_status bt_field_class_signed_enumeration_map_range( bt_field_class *field_class, const char *label, int64_t range_lower, int64_t range_upper); -extern bt_field_class *bt_field_class_string_create(void); +extern bt_field_class *bt_field_class_string_create( + bt_trace_class *trace_class); -extern bt_field_class *bt_field_class_structure_create(void); +extern bt_field_class *bt_field_class_structure_create( + bt_trace_class *trace_class); extern bt_field_class_status bt_field_class_structure_append_member( bt_field_class *struct_field_class, const char *name, bt_field_class *field_class); +extern bt_field_class_structure_member * +bt_field_class_structure_borrow_member_by_index( + bt_field_class *field_class, uint64_t index); + +extern bt_field_class_structure_member * +bt_field_class_structure_borrow_member_by_name( + bt_field_class *field_class, const char *name); + extern bt_field_class *bt_field_class_static_array_create( + bt_trace_class *trace_class, bt_field_class *elem_field_class, uint64_t length); extern bt_field_class *bt_field_class_dynamic_array_create( + bt_trace_class *trace_class, bt_field_class *elem_field_class); +extern bt_field_class *bt_field_class_array_borrow_element_field_class( + bt_field_class *field_class); + extern bt_field_class_status bt_field_class_dynamic_array_set_length_field_class( bt_field_class *field_class, bt_field_class *length_field_class); -extern bt_field_class *bt_field_class_variant_create(void); +extern bt_field_class *bt_field_class_variant_create( + bt_trace_class *trace_class); extern bt_field_class_status bt_field_class_variant_set_selector_field_class(bt_field_class *field_class, @@ -101,6 +121,17 @@ extern bt_field_class_status bt_field_class_variant_append_option( bt_field_class *var_field_class, const char *name, bt_field_class *field_class); +extern bt_field_class_variant_option * +bt_field_class_variant_borrow_option_by_index( + bt_field_class *field_class, uint64_t index); + +extern bt_field_class_variant_option * +bt_field_class_variant_borrow_option_by_name( + bt_field_class *field_class, const char *name); + +extern bt_field_class *bt_field_class_variant_option_borrow_field_class( + bt_field_class_variant_option *option); + #ifdef __cplusplus } #endif