Babeltrace 2 C API  2.0.4
Open-source trace manipulation framework
field-class.h
1 #ifndef BABELTRACE2_TRACE_IR_FIELD_CLASS_H
2 #define BABELTRACE2_TRACE_IR_FIELD_CLASS_H
3 
4 /*
5  * Copyright (c) 2010-2019 EfficiOS Inc. and Linux Foundation
6  *
7  * Permission is hereby granted, free of charge, to any person obtaining a copy
8  * of this software and associated documentation files (the "Software"), to deal
9  * in the Software without restriction, including without limitation the rights
10  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11  * copies of the Software, and to permit persons to whom the Software is
12  * furnished to do so, subject to the following conditions:
13  *
14  * The above copyright notice and this permission notice shall be included in
15  * all copies or substantial portions of the Software.
16  *
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23  * SOFTWARE.
24  */
25 
26 #ifndef __BT_IN_BABELTRACE_H
27 # error "Please include <babeltrace2/babeltrace.h> instead."
28 #endif
29 
30 #include <stdint.h>
31 #include <stddef.h>
32 
33 #include <babeltrace2/types.h>
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
1216 typedef enum bt_field_class_type {
1222 
1228 
1237 
1245 
1253 
1264 
1273 
1282 
1291 
1299 
1307 
1313 
1319 
1328 
1336 
1347 
1356 
1365 
1374 
1380 
1391 
1400 
1412 
1421 
1430 
1439 
1445 
1457 
1469 
1478 
1487 
1488  /*
1489  * Make sure the enumeration type is a 64-bit integer in case
1490  * the project needs field class types in the future.
1491  *
1492  * This is not part of the API.
1493  */
1494  __BT_FIELD_CLASS_TYPE_BIG_VALUE = 1ULL << 62,
1496 
1514  const bt_field_class *field_class);
1515 
1541 static inline
1543  const bt_field_class_type other_type)
1544 {
1545  return (type & other_type) == other_type;
1546 }
1547 
1584  bt_field_class *field_class, const bt_value *user_attributes);
1585 
1611  bt_field_class *field_class);
1612 
1621  const bt_field_class *field_class);
1622 
1655  bt_trace_class *trace_class);
1656 
1700  bt_trace_class *trace_class, uint64_t length);
1701 
1717 extern uint64_t bt_field_class_bit_array_get_length(
1718  const bt_field_class *field_class);
1719 
1762  bt_field_class *field_class, uint64_t n);
1763 
1793  const bt_field_class *field_class);
1794 
1805 
1811 
1817 
1824 
1846  bt_field_class *field_class,
1847  bt_field_class_integer_preferred_display_base preferred_display_base);
1848 
1876  const bt_field_class *field_class);
1877 
1916  bt_trace_class *trace_class);
1917 
1956  bt_trace_class *trace_class);
1957 
1993  bt_trace_class *trace_class);
1994 
2030  bt_trace_class *trace_class);
2031 
2047 
2061 
2068 
2080 
2087 
2120  const bt_field_class *field_class);
2121 
2141  const bt_field_class_enumeration_mapping *mapping);
2142 
2186  bt_trace_class *trace_class);
2187 
2221  bt_field_class *field_class, const char *label,
2222  const bt_integer_range_set_unsigned *ranges);
2223 
2259  const bt_field_class *field_class, uint64_t index);
2260 
2293  const bt_field_class *field_class, const char *label);
2294 
2344  const bt_field_class *field_class, uint64_t value,
2345  bt_field_class_enumeration_mapping_label_array *labels,
2346  uint64_t *count);
2347 
2378 extern const bt_integer_range_set_unsigned *
2381 
2400 static inline
2404 {
2405  return __BT_UPCAST_CONST(bt_field_class_enumeration_mapping, mapping);
2406 }
2407 
2451  bt_trace_class *trace_class);
2452 
2486  bt_field_class *field_class, const char *label,
2487  const bt_integer_range_set_signed *ranges);
2488 
2524  const bt_field_class *field_class, uint64_t index);
2525 
2558  const bt_field_class *field_class, const char *label);
2559 
2609  const bt_field_class *field_class, int64_t value,
2610  bt_field_class_enumeration_mapping_label_array *labels,
2611  uint64_t *count);
2612 
2643 extern const bt_integer_range_set_signed *
2646 
2665 static inline
2669 {
2670  return __BT_UPCAST_CONST(bt_field_class_enumeration_mapping, mapping);
2671 }
2672 
2705  bt_trace_class *trace_class);
2706 
2735  bt_field_class *field_class);
2736 
2744 extern const bt_field_class *
2746  const bt_field_class *field_class);
2747 
2797  bt_trace_class *trace_class,
2798  bt_field_class *element_field_class, uint64_t length);
2799 
2816  const bt_field_class *field_class);
2817 
2884  bt_trace_class *trace_class,
2885  bt_field_class *element_field_class,
2886  bt_field_class *length_field_class);
2887 
2922 extern const bt_field_path *
2924  const bt_field_class *field_class);
2925 
2961  bt_trace_class *trace_class);
2962 
2973 
2980 
3014  bt_field_class *field_class,
3015  const char *name, bt_field_class *member_field_class);
3016 
3035  const bt_field_class *field_class);
3036 
3073  bt_field_class *field_class, uint64_t index);
3074 
3082 extern const bt_field_class_structure_member *
3084  const bt_field_class *field_class, uint64_t index);
3085 
3121  bt_field_class *field_class, const char *name);
3122 
3130 extern const bt_field_class_structure_member *
3132  const bt_field_class *field_class, const char *name);
3133 
3166 extern const char *bt_field_class_structure_member_get_name(
3167  const bt_field_class_structure_member *member);
3168 
3187 extern bt_field_class *
3190 
3198 extern const bt_field_class *
3200  const bt_field_class_structure_member *member);
3201 
3233  const bt_value *user_attributes);
3234 
3261 extern bt_value *
3264 
3272 extern const bt_value *
3274  const bt_field_class_structure_member *member);
3275 
3303  bt_field_class *field_class);
3304 
3312 extern const bt_field_class *
3314  const bt_field_class *field_class);
3315 
3360  bt_trace_class *trace_class,
3361  bt_field_class *optional_field_class);
3362 
3396 extern const bt_field_path *
3398  const bt_field_class *field_class);
3399 
3458  bt_trace_class *trace_class,
3459  bt_field_class *optional_field_class,
3460  bt_field_class *selector_field_class);
3461 
3484 extern void
3486  bt_field_class *field_class, bt_bool selector_is_reversed);
3487 
3510 extern bt_bool
3512  const bt_field_class *field_class);
3513 
3578 extern bt_field_class *
3580  bt_trace_class *trace_class,
3581  bt_field_class *optional_field_class,
3582  bt_field_class *selector_field_class,
3583  const bt_integer_range_set_unsigned *ranges);
3584 
3603 extern const bt_integer_range_set_unsigned *
3605  const bt_field_class *field_class);
3606 
3671 extern bt_field_class *
3673  bt_trace_class *trace_class,
3674  bt_field_class *optional_field_class,
3675  bt_field_class *selector_field_class,
3676  const bt_integer_range_set_signed *ranges);
3677 
3696 extern const bt_integer_range_set_signed *
3698  const bt_field_class *field_class);
3699 
3759  bt_trace_class *trace_class,
3760  bt_field_class *selector_field_class);
3761 
3780  const bt_field_class *field_class);
3781 
3818  bt_field_class *field_class, uint64_t index);
3819 
3827 extern const bt_field_class_variant_option *
3829  const bt_field_class *field_class, uint64_t index);
3830 
3866  bt_field_class *field_class, const char *name);
3867 
3875 extern const bt_field_class_variant_option *
3877  const bt_field_class *field_class, const char *name);
3878 
3911 extern const char *bt_field_class_variant_option_get_name(
3912  const bt_field_class_variant_option *option);
3913 
3934 
3942 extern const bt_field_class *
3944  const bt_field_class_variant_option *option);
3945 
3980  const bt_value *user_attributes);
3981 
4012 
4021  const bt_field_class_variant_option *option);
4022 
4041 
4048 
4083  bt_field_class *field_class, const char *name,
4084  bt_field_class *option_field_class);
4085 
4106 
4113 
4140 extern const bt_field_path *
4142  const bt_field_class *field_class);
4143 
4197  bt_field_class *field_class, const char *name,
4198  bt_field_class *option_field_class,
4199  const bt_integer_range_set_unsigned *ranges);
4200 
4236  const bt_field_class *field_class, uint64_t index);
4237 
4274  const bt_field_class *field_class, const char *name);
4275 
4306 extern const bt_integer_range_set_unsigned *
4309 
4328 static inline
4332 {
4333  return __BT_UPCAST_CONST(bt_field_class_variant_option, option);
4334 }
4335 
4389  bt_field_class *field_class, const char *name,
4390  bt_field_class *option_field_class,
4391  const bt_integer_range_set_signed *ranges);
4392 
4428  const bt_field_class *field_class, uint64_t index);
4429 
4466  const bt_field_class *field_class, const char *name);
4467 
4498 extern const bt_integer_range_set_signed *
4501 
4520 static inline
4524 {
4525  return __BT_UPCAST_CONST(bt_field_class_variant_option, option);
4526 }
4527 
4550 extern void bt_field_class_get_ref(const bt_field_class *field_class);
4551 
4567 extern void bt_field_class_put_ref(const bt_field_class *field_class);
4568 
4583 #define BT_FIELD_CLASS_PUT_REF_AND_RESET(_field_class) \
4584  do { \
4585  bt_field_class_put_ref(_field_class); \
4586  (_field_class) = NULL; \
4587  } while (0)
4588 
4614 #define BT_FIELD_CLASS_MOVE_REF(_dst, _src) \
4615  do { \
4616  bt_field_class_put_ref(_dst); \
4617  (_dst) = (_src); \
4618  (_src) = NULL; \
4619  } while (0)
4620 
4625 #ifdef __cplusplus
4626 }
4627 #endif
4628 
4629 #endif /* BABELTRACE2_TRACE_IR_FIELD_CLASS_H */
void bt_field_class_get_ref(const bt_field_class *field_class)
Increments the reference count of the field class field_class.
bt_field_class * bt_field_class_option_without_selector_create(bt_trace_class *trace_class, bt_field_class *optional_field_class)
Creates an option field class (without a selector field) having the optional field class optional_fie...
const bt_field_path * bt_field_class_array_dynamic_with_length_field_borrow_length_field_path_const(const bt_field_class *field_class)
Borrows the length field path from the dynamic array field class (with a length field) field_class...
bt_field_class_enumeration_add_mapping_status bt_field_class_enumeration_unsigned_add_mapping(bt_field_class *field_class, const char *label, const bt_integer_range_set_unsigned *ranges)
Adds a mapping to the unsigned enumeration field class field_class having the label label and the uns...
const bt_field_class_variant_option * bt_field_class_variant_borrow_option_by_index_const(const bt_field_class *field_class, uint64_t index)
Borrows the option at index index from the variant field class field_class (const version)...
bt_value * bt_field_class_structure_member_borrow_user_attributes(bt_field_class_structure_member *member)
Borrows the user attributes of the structure field class member member.
void bt_field_class_structure_member_set_user_attributes(bt_field_class_structure_member *member, const bt_value *user_attributes)
Sets the user attributes of the structure field class member member to user_attributes.
struct bt_integer_range_set_unsigned bt_integer_range_set_unsigned
Set of unsigned 64-bit integer ranges.
Definition: types.h:67
bt_field_class * bt_field_class_integer_signed_create(bt_trace_class *trace_class)
Creates an signed integer field class from the trace class trace_class.
Variant field class.
Definition: field-class.h:1438
Binary (2).
Definition: field-class.h:1804
bt_field_class_integer_preferred_display_base
Integer field class preferred display bases.
Definition: field-class.h:1799
const bt_field_class_variant_with_selector_field_integer_signed_option * bt_field_class_variant_with_selector_field_integer_signed_borrow_option_by_index_const(const bt_field_class *field_class, uint64_t index)
Borrows the option at index index from the variant field class (with a signed integer selector field)...
const bt_value * bt_field_class_borrow_user_attributes_const(const bt_field_class *field_class)
Borrows the user attributes of the field class field_class (const version).
Boolean field class.
Definition: field-class.h:1221
bt_field_class_enumeration_get_mapping_labels_for_value_status bt_field_class_enumeration_unsigned_get_mapping_labels_for_value(const bt_field_class *field_class, uint64_t value, bt_field_class_enumeration_mapping_label_array *labels, uint64_t *count)
Returns an array of all the labels of the mappings of the unsigned enumeration field class field_clas...
static const bt_field_class_variant_option * bt_field_class_variant_with_selector_field_integer_unsigned_option_as_option_const(const bt_field_class_variant_with_selector_field_integer_unsigned_option *option)
Upcasts the variant field class (with an unsigned integer selector field) option option to the common...
Definition: field-class.h:4330
Signed enumeration field class.
Definition: field-class.h:1281
struct bt_field_class_variant_with_selector_field_integer_signed_option bt_field_class_variant_with_selector_field_integer_signed_option
Variant field class (with a signed integer selector field) option.
Definition: types.h:60
const bt_field_class * bt_field_class_option_borrow_field_class_const(const bt_field_class *field_class)
Borrows the optional field class from the option field class field_class (const version).
const char * bt_field_class_structure_member_get_name(const bt_field_class_structure_member *member)
Returns the name of the structure field class member member.
const bt_integer_range_set_unsigned * bt_field_class_option_with_selector_field_integer_unsigned_borrow_selector_ranges_const(const bt_field_class *field_class)
Borrows the unsigned integer ranges from the option field class (with an unsigned integer selector fi...
const char * bt_field_class_enumeration_mapping_get_label(const bt_field_class_enumeration_mapping *mapping)
Returns the label of the enumeration field class mapping mapping.
bt_field_class_variant_without_selector_append_option_status
Status codes for bt_field_class_variant_without_selector_append_option().
Definition: field-class.h:4035
Signed integer field class.
Definition: field-class.h:1252
const bt_field_class_enumeration_unsigned_mapping * bt_field_class_enumeration_unsigned_borrow_mapping_by_index_const(const bt_field_class *field_class, uint64_t index)
Borrows the mapping at index index from the unsigned enumeration field class field_class.
struct bt_field_path bt_field_path
Field path.
Definition: types.h:62
Real field class.
Definition: field-class.h:1290
bt_field_class_enumeration_add_mapping_status bt_field_class_enumeration_signed_add_mapping(bt_field_class *field_class, const char *label, const bt_integer_range_set_signed *ranges)
Adds a mapping to the signed enumeration field class field_class having the label label and the signe...
const bt_integer_range_set_unsigned * bt_field_class_variant_with_selector_field_integer_unsigned_option_borrow_ranges_const(const bt_field_class_variant_with_selector_field_integer_unsigned_option *option)
Borrows the unsigned integer ranges from the variant field class (with an unsigned integer selector f...
uint64_t bt_field_class_bit_array_get_length(const bt_field_class *field_class)
Returns the length of the bit array field class field_class.
bt_field_class_type bt_field_class_get_type(const bt_field_class *field_class)
Returns the type enumerator of the field class field_class.
uint64_t bt_field_class_variant_get_option_count(const bt_field_class *field_class)
Returns the number of options contained in the variant field class field_class.
Double-precision real field class.
Definition: field-class.h:1306
const bt_field_class * bt_field_class_variant_option_borrow_field_class_const(const bt_field_class_variant_option *option)
Borrows the field class from the variant field class option option (const version).
void bt_field_class_integer_set_field_value_range(bt_field_class *field_class, uint64_t n)
Sets the field value range of the integer field class field_class to n.
bt_field_class_variant_option * bt_field_class_variant_borrow_option_by_name(bt_field_class *field_class, const char *name)
Borrows the option having the name name from the variant field class field_class. ...
const char * bt_field_class_variant_option_get_name(const bt_field_class_variant_option *option)
Returns the name of the variant field class option option.
Array field class.
Definition: field-class.h:1327
const bt_integer_range_set_signed * bt_field_class_variant_with_selector_field_integer_signed_option_borrow_ranges_const(const bt_field_class_variant_with_selector_field_integer_signed_option *option)
Borrows the signed integer ranges from the variant field class (with a signed integer selector field)...
Success.
Definition: field-class.h:2972
struct bt_field_class bt_field_class
Field class.
Definition: types.h:54
bt_field_class * bt_field_class_array_static_create(bt_trace_class *trace_class, bt_field_class *element_field_class, uint64_t length)
Creates a static array field class having the element field class element_field_class and the length ...
Structure field class.
Definition: field-class.h:1318
Variant field class (with an integer selector field).
Definition: field-class.h:1468
uint64_t bt_field_class_enumeration_get_mapping_count(const bt_field_class *field_class)
Returns the number of mappings contained in the enumeration field class field_class.
Static array field class.
Definition: field-class.h:1335
Unsigned enumeration field class.
Definition: field-class.h:1272
bt_field_class_integer_preferred_display_base bt_field_class_integer_get_preferred_display_base(const bt_field_class *field_class)
Returns the preferred display base of the integer field class field_class.
Integer field class.
Definition: field-class.h:1236
const bt_integer_range_set_signed * bt_field_class_enumeration_signed_mapping_borrow_ranges_const(const bt_field_class_enumeration_signed_mapping *mapping)
Borrows the signed integer ranges from the signed enumeration field class mapping mapping...
const bt_integer_range_set_unsigned * bt_field_class_enumeration_unsigned_mapping_borrow_ranges_const(const bt_field_class_enumeration_unsigned_mapping *mapping)
Borrows the unsigned integer ranges from the unsigned enumeration field class mapping mapping...
bt_field_class * bt_field_class_option_with_selector_field_integer_unsigned_create(bt_trace_class *trace_class, bt_field_class *optional_field_class, bt_field_class *selector_field_class, const bt_integer_range_set_unsigned *ranges)
Creates an option field class (with an unsigned integer selector field) having the optional field cla...
const bt_field_class * bt_field_class_array_borrow_element_field_class_const(const bt_field_class *field_class)
Borrows the element field class from the array field class field_class (const version).
bt_field_class * bt_field_class_option_borrow_field_class(bt_field_class *field_class)
Borrows the optional field class from the option field class field_class.
const bt_field_class_enumeration_signed_mapping * bt_field_class_enumeration_signed_borrow_mapping_by_index_const(const bt_field_class *field_class, uint64_t index)
Borrows the mapping at index index from the signed enumeration field class field_class.
Dynamic array field class (without a length field).
Definition: field-class.h:1355
void bt_field_class_option_with_selector_field_bool_set_selector_is_reversed(bt_field_class *field_class, bt_bool selector_is_reversed)
Sets whether or not the selector of the option field class (with a boolean selector field) field_clas...
Option field class (with an unsigned integer selector field).
Definition: field-class.h:1420
bt_field_class_structure_member * bt_field_class_structure_borrow_member_by_index(bt_field_class *field_class, uint64_t index)
Borrows the member at index index from the structure field class field_class.
bt_field_class_variant_with_selector_field_integer_append_option_status bt_field_class_variant_with_selector_field_integer_unsigned_append_option(bt_field_class *field_class, const char *name, bt_field_class *option_field_class, const bt_integer_range_set_unsigned *ranges)
Appends an option to the variant field class (with an unsigned integer selector field) field_class ha...
Option field class (with a boolean selector field).
Definition: field-class.h:1399
const bt_field_class_enumeration_signed_mapping * bt_field_class_enumeration_signed_borrow_mapping_by_label_const(const bt_field_class *field_class, const char *label)
Borrows the mapping having the label label from the signed enumeration field class field_class...
void bt_field_class_set_user_attributes(bt_field_class *field_class, const bt_value *user_attributes)
Sets the user attributes of the field class field_class to user_attributes.
bt_field_class_type
Field class type enumerators.
Definition: field-class.h:1216
struct bt_field_class_structure_member bt_field_class_structure_member
Structure field class member.
Definition: types.h:58
const bt_field_class_structure_member * bt_field_class_structure_borrow_member_by_name_const(const bt_field_class *field_class, const char *name)
Borrows the member having the name name from the structure field class field_class (const version)...
Unsigned integer field class.
Definition: field-class.h:1244
bt_field_class_variant_with_selector_field_integer_append_option_status bt_field_class_variant_with_selector_field_integer_signed_append_option(bt_field_class *field_class, const char *name, bt_field_class *option_field_class, const bt_integer_range_set_signed *ranges)
Appends an option to the variant field class (with a signed integer selector field) field_class havin...
bt_field_class_variant_option * bt_field_class_variant_borrow_option_by_index(bt_field_class *field_class, uint64_t index)
Borrows the option at index index from the variant field class field_class.
static bt_bool bt_field_class_type_is(const bt_field_class_type type, const bt_field_class_type other_type)
Returns whether or not the field class type type conceptually is the field class type other_type...
Definition: field-class.h:1542
bt_value * bt_field_class_borrow_user_attributes(bt_field_class *field_class)
Borrows the user attributes of the field class field_class.
Option field class.
Definition: field-class.h:1373
Option field class (without a selector field).
Definition: field-class.h:1379
bt_value * bt_field_class_variant_option_borrow_user_attributes(bt_field_class_variant_option *option)
Borrows the user attributes of the variant field class option option.
Option field class (with a selector field).
Definition: field-class.h:1390
Decimal (10).
Definition: field-class.h:1816
uint64_t bt_field_class_integer_get_field_value_range(const bt_field_class *field_class)
Returns the field value range of the integer field class field_class.
Option field class (with an integer selector field).
Definition: field-class.h:1411
bt_field_class_variant_with_selector_field_integer_append_option_status
Status codes for bt_field_class_variant_with_selector_field_integer_unsigned_append_option() and bt_f...
Definition: field-class.h:4100
struct bt_field_class_variant_option bt_field_class_variant_option
Variant field class option.
Definition: types.h:59
const bt_field_class_variant_with_selector_field_integer_unsigned_option * bt_field_class_variant_with_selector_field_integer_unsigned_borrow_option_by_name_const(const bt_field_class *field_class, const char *name)
Borrows the option having the name name from the variant field class (with an unsigned integer select...
const bt_integer_range_set_signed * bt_field_class_option_with_selector_field_integer_signed_borrow_selector_ranges_const(const bt_field_class *field_class)
Borrows the signed integer ranges from the option field class (with a signed integer selector field) ...
static const bt_field_class_enumeration_mapping * bt_field_class_enumeration_signed_mapping_as_mapping_const(const bt_field_class_enumeration_signed_mapping *mapping)
Upcasts the signed enumeration field class mapping mapping to the common bt_field_class_enumeration_m...
Definition: field-class.h:2667
Hexadecimal (16).
Definition: field-class.h:1822
bt_bool bt_field_class_option_with_selector_field_bool_selector_is_reversed(const bt_field_class *field_class)
Returns whether or not the selector of the option field class (with a boolean selector field) is reve...
bt_field_class * bt_field_class_real_single_precision_create(bt_trace_class *trace_class)
Creates a single-precision real field class from the trace class trace_class.
struct bt_value bt_value
Value.
Definition: types.h:107
bt_field_class_enumeration_get_mapping_labels_for_value_status
Status codes for bt_field_class_enumeration_unsigned_get_mapping_labels_for_value() and bt_field_clas...
Definition: field-class.h:2055
Out of memory.
Definition: field-class.h:2978
bt_field_class_structure_append_member_status
Status codes for bt_field_class_structure_append_member().
Definition: field-class.h:2967
bt_field_class * bt_field_class_string_create(bt_trace_class *trace_class)
Creates a string field class from the trace class trace_class.
Option field class (with an unsigned integer selector field).
Definition: field-class.h:1477
Option field class (with a signed integer selector field).
Definition: field-class.h:1429
const bt_field_class_enumeration_unsigned_mapping * bt_field_class_enumeration_unsigned_borrow_mapping_by_label_const(const bt_field_class *field_class, const char *label)
Borrows the mapping having the label label from the unsigned enumeration field class field_class...
Variant field class (with a selector field).
Definition: field-class.h:1456
const bt_field_path * bt_field_class_variant_with_selector_field_borrow_selector_field_path_const(const bt_field_class *field_class)
Borrows the selector field path from the variant field class (with a selector field) field_class...
bt_field_class * bt_field_class_structure_member_borrow_field_class(bt_field_class_structure_member *member)
Borrows the field class from the structure field class member member.
int bt_bool
Babeltrace 2 boolean type.
Definition: types.h:140
Variant field class (without a selector field).
Definition: field-class.h:1444
struct bt_integer_range_set_signed bt_integer_range_set_signed
Set of signed 64-bit integer ranges.
Definition: types.h:66
Octal (8).
Definition: field-class.h:1810
const bt_value * bt_field_class_structure_member_borrow_user_attributes_const(const bt_field_class_structure_member *member)
Borrows the user attributes of the structure field class member member (const version).
bt_field_class * bt_field_class_enumeration_signed_create(bt_trace_class *trace_class)
Creates a signed enumeration field class from the trace class trace_class.
const bt_field_class_variant_option * bt_field_class_variant_borrow_option_by_name_const(const bt_field_class *field_class, const char *name)
Borrows the option having the name name from the variant field class field_class (const version)...
struct bt_field_class_enumeration_signed_mapping bt_field_class_enumeration_signed_mapping
Signed enumeration field class mapping.
Definition: types.h:56
Single-precision real field class.
Definition: field-class.h:1298
const bt_field_class_structure_member * bt_field_class_structure_borrow_member_by_index_const(const bt_field_class *field_class, uint64_t index)
Borrows the member at index index from the structure field class field_class (const version)...
struct bt_trace_class bt_trace_class
Trace class.
Definition: types.h:106
bt_field_class_enumeration_add_mapping_status
Status codes for bt_field_class_enumeration_unsigned_add_mapping() and bt_field_class_enumeration_sig...
Definition: field-class.h:2074
bt_field_class * bt_field_class_array_dynamic_create(bt_trace_class *trace_class, bt_field_class *element_field_class, bt_field_class *length_field_class)
Creates a dynamic array field class having the element field class element_field_class from the trace...
void bt_field_class_put_ref(const bt_field_class *field_class)
Decrements the reference count of the field class field_class.
struct bt_field_class_enumeration_mapping bt_field_class_enumeration_mapping
Enumeration field class mapping.
Definition: types.h:55
char const *const * bt_field_class_enumeration_mapping_label_array
Array of const enumeration field class labels.
Definition: field-class.h:2046
struct bt_field_class_variant_with_selector_field_integer_unsigned_option bt_field_class_variant_with_selector_field_integer_unsigned_option
Variant field class (with an unsigned integer selector field) option.
Definition: types.h:61
Success.
Definition: field-class.h:2079
bt_field_class_structure_member * bt_field_class_structure_borrow_member_by_name(bt_field_class *field_class, const char *name)
Borrows the member having the name name from the structure field class field_class.
uint64_t bt_field_class_structure_get_member_count(const bt_field_class *field_class)
Returns the number of members contained in the structure field class field_class. ...
Bit array field class.
Definition: field-class.h:1227
static const bt_field_class_variant_option * bt_field_class_variant_with_selector_field_integer_signed_option_as_option_const(const bt_field_class_variant_with_selector_field_integer_signed_option *option)
Upcasts the variant field class (with a signed integer selector field) option option to the common bt...
Definition: field-class.h:4522
bt_field_class_enumeration_get_mapping_labels_for_value_status bt_field_class_enumeration_signed_get_mapping_labels_for_value(const bt_field_class *field_class, int64_t value, bt_field_class_enumeration_mapping_label_array *labels, uint64_t *count)
Returns an array of all the labels of the mappings of the signed enumeration field class field_class ...
bt_field_class * bt_field_class_array_borrow_element_field_class(bt_field_class *field_class)
Borrows the element field class from the array field class field_class.
uint64_t bt_field_class_array_static_get_length(const bt_field_class *field_class)
Returns the length of the static array field class field_class.
Dynamic array field class (with a length field).
Definition: field-class.h:1364
Out of memory.
Definition: field-class.h:2085
const bt_field_class_variant_with_selector_field_integer_unsigned_option * bt_field_class_variant_with_selector_field_integer_unsigned_borrow_option_by_index_const(const bt_field_class *field_class, uint64_t index)
Borrows the option at index index from the variant field class (with an unsigned integer selector fie...
bt_field_class * bt_field_class_variant_create(bt_trace_class *trace_class, bt_field_class *selector_field_class)
Creates a variant field class from the trace class trace_class.
void bt_field_class_variant_option_set_user_attributes(bt_field_class_variant_option *option, const bt_value *user_attributes)
Sets the user attributes of the variant field class option option to user_attributes.
const bt_field_class * bt_field_class_structure_member_borrow_field_class_const(const bt_field_class_structure_member *member)
Borrows the field class from the structure field class member member (const version).
Option field class (with a signed integer selector field).
Definition: field-class.h:1486
String field class..
Definition: field-class.h:1312
const bt_field_path * bt_field_class_option_with_selector_field_borrow_selector_field_path_const(const bt_field_class *field_class)
Borrows the selector field path from the option field class (with a selector field) field_class...
bt_field_class * bt_field_class_bit_array_create(bt_trace_class *trace_class, uint64_t length)
Creates a bit array field class with the length length from the trace class trace_class.
bt_field_class * bt_field_class_enumeration_unsigned_create(bt_trace_class *trace_class)
Creates an unsigned enumeration field class from the trace class trace_class.
bt_field_class * bt_field_class_bool_create(bt_trace_class *trace_class)
Creates a boolean field class from the trace class trace_class.
Enumeration field class.
Definition: field-class.h:1263
bt_field_class * bt_field_class_real_double_precision_create(bt_trace_class *trace_class)
Creates a double-precision real field class from the trace class trace_class.
struct bt_field_class_enumeration_unsigned_mapping bt_field_class_enumeration_unsigned_mapping
Unsigned enumeration field class mapping.
Definition: types.h:57
const bt_field_class_variant_with_selector_field_integer_signed_option * bt_field_class_variant_with_selector_field_integer_signed_borrow_option_by_name_const(const bt_field_class *field_class, const char *name)
Borrows the option having the name name from the variant field class (with a signed integer selector ...
bt_field_class * bt_field_class_integer_unsigned_create(bt_trace_class *trace_class)
Creates an unsigned integer field class from the trace class trace_class.
bt_field_class * bt_field_class_option_with_selector_field_bool_create(bt_trace_class *trace_class, bt_field_class *optional_field_class, bt_field_class *selector_field_class)
Creates an option field class (with a boolean selector field) having the optional field class optiona...
static const bt_field_class_enumeration_mapping * bt_field_class_enumeration_unsigned_mapping_as_mapping_const(const bt_field_class_enumeration_unsigned_mapping *mapping)
Upcasts the unsigned enumeration field class mapping mapping to the common bt_field_class_enumeration...
Definition: field-class.h:2402
bt_field_class * bt_field_class_variant_option_borrow_field_class(bt_field_class_variant_option *option)
Borrows the field class from the variant field class option option.
Dynamic array field class.
Definition: field-class.h:1346
bt_field_class * bt_field_class_option_with_selector_field_integer_signed_create(bt_trace_class *trace_class, bt_field_class *optional_field_class, bt_field_class *selector_field_class, const bt_integer_range_set_signed *ranges)
Creates an option field class (with a signed integer selector field) having the optional field class ...
const bt_value * bt_field_class_variant_option_borrow_user_attributes_const(const bt_field_class_variant_option *option)
Borrows the user attributes of the variant field class option option (const version).
bt_field_class * bt_field_class_structure_create(bt_trace_class *trace_class)
Creates a structure field class from the trace class trace_class.
void bt_field_class_integer_set_preferred_display_base(bt_field_class *field_class, bt_field_class_integer_preferred_display_base preferred_display_base)
Sets the preferred display base of the integer field class field_class to preferred_display_base.
bt_field_class_structure_append_member_status bt_field_class_structure_append_member(bt_field_class *field_class, const char *name, bt_field_class *member_field_class)
Appends a member to the structure field class field_class having the name name and the field class me...
bt_field_class_variant_without_selector_append_option_status bt_field_class_variant_without_selector_append_option(bt_field_class *field_class, const char *name, bt_field_class *option_field_class)
Appends an option to the variant field class (without a selector field) field_class having the name n...