Babeltrace 2 C API 2.0.6
Open-source trace manipulation framework
Loading...
Searching...
No Matches
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
36extern "C" {
37#endif
38
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
1541static 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
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
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
2068
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,
2346 uint64_t *count);
2347
2378extern const bt_integer_range_set_unsigned *
2381
2400static inline
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,
2611 uint64_t *count);
2612
2643extern const bt_integer_range_set_signed *
2646
2665static inline
2672
2705 bt_trace_class *trace_class);
2706
2735 bt_field_class *field_class);
2736
2744extern 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
2922extern const bt_field_path *
2924 const bt_field_class *field_class);
2925
2961 bt_trace_class *trace_class);
2962
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
3084 const bt_field_class *field_class, uint64_t index);
3085
3121 bt_field_class *field_class, const char *name);
3122
3132 const bt_field_class *field_class, const char *name);
3133
3167 const bt_field_class_structure_member *member);
3168
3187extern bt_field_class *
3190
3198extern const bt_field_class *
3200 const bt_field_class_structure_member *member);
3201
3233 const bt_value *user_attributes);
3234
3261extern bt_value *
3264
3272extern const bt_value *
3274 const bt_field_class_structure_member *member);
3275
3303 bt_field_class *field_class);
3304
3312extern 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
3396extern 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
3484extern void
3486 bt_field_class *field_class, bt_bool selector_is_reversed);
3487
3510extern bt_bool
3512 const bt_field_class *field_class);
3513
3578extern 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
3603extern const bt_integer_range_set_unsigned *
3605 const bt_field_class *field_class);
3606
3671extern 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
3696extern 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
3827extern 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
3875extern const bt_field_class_variant_option *
3877 const bt_field_class *field_class, const char *name);
3878
3912 const bt_field_class_variant_option *option);
3913
3934
3942extern 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
4048
4083 bt_field_class *field_class, const char *name,
4084 bt_field_class *option_field_class);
4085
4113
4140extern 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
4306extern const bt_integer_range_set_unsigned *
4309
4328static inline
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
4498extern const bt_integer_range_set_signed *
4501
4520static inline
4527
4550extern void bt_field_class_get_ref(const bt_field_class *field_class);
4551
4567extern 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 */
int bt_bool
Babeltrace&#160;2 boolean type.
Definition types.h:140
struct bt_integer_range_set_unsigned bt_integer_range_set_unsigned
Set of unsigned 64-bit integer ranges.
Definition types.h:67
struct bt_integer_range_set_signed bt_integer_range_set_signed
Set of signed 64-bit integer ranges.
Definition types.h:66
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 * 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.
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.
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.
struct bt_field_class_enumeration_signed_mapping bt_field_class_enumeration_signed_mapping
Signed enumeration field class mapping.
Definition types.h:56
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...
struct bt_field_class_enumeration_unsigned_mapping bt_field_class_enumeration_unsigned_mapping
Unsigned enumeration field class mapping.
Definition types.h:57
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
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.
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) ...
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.
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.
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...
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.
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).
char const *const * bt_field_class_enumeration_mapping_label_array
Array of const enumeration field class labels.
Definition field-class.h:2046
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
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).
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_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...
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
bt_field_class_type
Field class type enumerators.
Definition field-class.h:1216
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_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).
struct bt_field_class_variant_option bt_field_class_variant_option
Variant field class option.
Definition types.h:59
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.
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.
void bt_field_class_put_ref(const bt_field_class *field_class)
Decrements the reference count of the field class field_class.
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).
bt_value * bt_field_class_borrow_user_attributes(bt_field_class *field_class)
Borrows the user attributes of the field class field_class.
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_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.
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.
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...
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).
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.
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.
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.
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...
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.
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...
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.
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.
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_variant_without_selector_append_option_status
Status codes for bt_field_class_variant_without_selector_append_option().
Definition field-class.h:4035
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...
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...
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.
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.
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
struct bt_field_class_enumeration_mapping bt_field_class_enumeration_mapping
Enumeration field class mapping.
Definition types.h:55
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.
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).
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.
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)...
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
struct bt_field_class bt_field_class
Field class.
Definition types.h:54
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).
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).
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.
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...
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.
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.
bt_field_class_integer_preferred_display_base
Integer field class preferred display bases.
Definition field-class.h:1799
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.
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 ...
bt_field_class * bt_field_class_structure_create(bt_trace_class *trace_class)
Creates a structure field class from the trace class trace_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...
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
bt_field_class * bt_field_class_bool_create(bt_trace_class *trace_class)
Creates a boolean field class from the trace class trace_class.
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
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_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...
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
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.
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...
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 * 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.
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.
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.
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.
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.
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.
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.
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 ...
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.
bt_field_class * bt_field_class_string_create(bt_trace_class *trace_class)
Creates a string field class from the trace class trace_class.
bt_field_class_structure_append_member_status
Status codes for bt_field_class_structure_append_member().
Definition field-class.h:2967
struct bt_field_class_structure_member bt_field_class_structure_member
Structure field class member.
Definition types.h:58
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_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 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.
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.
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.
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).
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.
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 ...
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...
void bt_field_class_get_ref(const bt_field_class *field_class)
Increments the reference count of the field class field_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...
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_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).
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_ENUMERATION_ADD_MAPPING_STATUS_MEMORY_ERROR
Out of memory.
Definition field-class.h:2085
@ BT_FIELD_CLASS_ENUMERATION_ADD_MAPPING_STATUS_OK
Success.
Definition field-class.h:2079
@ BT_FIELD_CLASS_VARIANT_WITH_SELECTOR_FIELD_APPEND_OPTION_STATUS_OK
Success.
Definition field-class.h:4105
@ BT_FIELD_CLASS_VARIANT_WITH_SELECTOR_FIELD_APPEND_OPTION_STATUS_MEMORY_ERROR
Out of memory.
Definition field-class.h:4111
@ BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER
Unsigned integer field class.
Definition field-class.h:1244
@ BT_FIELD_CLASS_TYPE_DOUBLE_PRECISION_REAL
Double-precision real field class.
Definition field-class.h:1306
@ BT_FIELD_CLASS_TYPE_SIGNED_INTEGER
Signed integer field class.
Definition field-class.h:1252
@ BT_FIELD_CLASS_TYPE_OPTION_WITH_SELECTOR_FIELD
Option field class (with a selector field).
Definition field-class.h:1390
@ BT_FIELD_CLASS_TYPE_VARIANT_WITH_SELECTOR_FIELD
Variant field class (with a selector field).
Definition field-class.h:1456
@ BT_FIELD_CLASS_TYPE_VARIANT_WITH_INTEGER_SELECTOR_FIELD
Variant field class (with an integer selector field).
Definition field-class.h:1468
@ BT_FIELD_CLASS_TYPE_ARRAY
Array field class.
Definition field-class.h:1327
@ BT_FIELD_CLASS_TYPE_OPTION_WITHOUT_SELECTOR_FIELD
Option field class (without a selector field).
Definition field-class.h:1379
@ BT_FIELD_CLASS_TYPE_INTEGER
Integer field class.
Definition field-class.h:1236
@ BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION
Unsigned enumeration field class.
Definition field-class.h:1272
@ BT_FIELD_CLASS_TYPE_STATIC_ARRAY
Static array field class.
Definition field-class.h:1335
@ BT_FIELD_CLASS_TYPE_REAL
Real field class.
Definition field-class.h:1290
@ BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_INTEGER_SELECTOR_FIELD
Option field class (with a signed integer selector field).
Definition field-class.h:1486
@ BT_FIELD_CLASS_TYPE_VARIANT
Variant field class.
Definition field-class.h:1438
@ BT_FIELD_CLASS_TYPE_OPTION
Option field class.
Definition field-class.h:1373
@ BT_FIELD_CLASS_TYPE_OPTION_WITH_BOOL_SELECTOR_FIELD
Option field class (with a boolean selector field).
Definition field-class.h:1399
@ BT_FIELD_CLASS_TYPE_OPTION_WITH_SIGNED_INTEGER_SELECTOR_FIELD
Option field class (with a signed integer selector field).
Definition field-class.h:1429
@ BT_FIELD_CLASS_TYPE_OPTION_WITH_UNSIGNED_INTEGER_SELECTOR_FIELD
Option field class (with an unsigned integer selector field).
Definition field-class.h:1420
@ BT_FIELD_CLASS_TYPE_STRUCTURE
Structure field class.
Definition field-class.h:1318
@ BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_INTEGER_SELECTOR_FIELD
Option field class (with an unsigned integer selector field).
Definition field-class.h:1477
@ BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITH_LENGTH_FIELD
Dynamic array field class (with a length field).
Definition field-class.h:1364
@ BT_FIELD_CLASS_TYPE_VARIANT_WITHOUT_SELECTOR_FIELD
Variant field class (without a selector field).
Definition field-class.h:1444
@ BT_FIELD_CLASS_TYPE_STRING
String field class..
Definition field-class.h:1312
@ BT_FIELD_CLASS_TYPE_BOOL
Boolean field class.
Definition field-class.h:1221
@ BT_FIELD_CLASS_TYPE_BIT_ARRAY
Bit array field class.
Definition field-class.h:1227
@ BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITHOUT_LENGTH_FIELD
Dynamic array field class (without a length field).
Definition field-class.h:1355
@ BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION
Signed enumeration field class.
Definition field-class.h:1281
@ BT_FIELD_CLASS_TYPE_ENUMERATION
Enumeration field class.
Definition field-class.h:1263
@ BT_FIELD_CLASS_TYPE_OPTION_WITH_INTEGER_SELECTOR_FIELD
Option field class (with an integer selector field).
Definition field-class.h:1411
@ BT_FIELD_CLASS_TYPE_SINGLE_PRECISION_REAL
Single-precision real field class.
Definition field-class.h:1298
@ BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY
Dynamic array field class.
Definition field-class.h:1346
@ BT_FIELD_CLASS_VARIANT_WITHOUT_SELECTOR_FIELD_APPEND_OPTION_STATUS_MEMORY_ERROR
Out of memory.
Definition field-class.h:4046
@ BT_FIELD_CLASS_VARIANT_WITHOUT_SELECTOR_FIELD_APPEND_OPTION_STATUS_OK
Success.
Definition field-class.h:4040
@ BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_BINARY
Binary (2).
Definition field-class.h:1804
@ BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_HEXADECIMAL
Hexadecimal (16).
Definition field-class.h:1822
@ BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_DECIMAL
Decimal (10).
Definition field-class.h:1816
@ BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_OCTAL
Octal (8).
Definition field-class.h:1810
@ BT_FIELD_CLASS_ENUMERATION_GET_MAPPING_LABELS_BY_VALUE_STATUS_OK
Success.
Definition field-class.h:2060
@ BT_FIELD_CLASS_ENUMERATION_GET_MAPPING_LABELS_BY_VALUE_STATUS_MEMORY_ERROR
Out of memory.
Definition field-class.h:2066
@ BT_FIELD_CLASS_STRUCTURE_APPEND_MEMBER_STATUS_MEMORY_ERROR
Out of memory.
Definition field-class.h:2978
@ BT_FIELD_CLASS_STRUCTURE_APPEND_MEMBER_STATUS_OK
Success.
Definition field-class.h:2972
struct bt_field_path bt_field_path
Field path.
Definition types.h:62
struct bt_trace_class bt_trace_class
Trace class.
Definition types.h:106
struct bt_value bt_value
Value.
Definition types.h:107