X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace2%2Ftrace-ir%2Ffield.h;h=f95298deec5f75c748e1c130a1485fc4173a290a;hb=7b4311c13e6c335ae193fafed8060ef5bcec635e;hp=d336faf313203d1694820d0494efc3984851e77b;hpb=3fadfbc0c91f82c46bd36e6e0657ea93570c9db1;p=babeltrace.git diff --git a/include/babeltrace2/trace-ir/field.h b/include/babeltrace2/trace-ir/field.h index d336faf3..f95298de 100644 --- a/include/babeltrace2/trace-ir/field.h +++ b/include/babeltrace2/trace-ir/field.h @@ -1,9 +1,8 @@ -#ifndef BABELTRACE_TRACE_IR_FIELDS_H -#define BABELTRACE_TRACE_IR_FIELDS_H +#ifndef BABELTRACE2_TRACE_IR_FIELD_H +#define BABELTRACE2_TRACE_IR_FIELD_H /* - * Copyright 2017-2018 Philippe Proulx - * Copyright 2013, 2014 Jérémie Galarneau + * Copyright (c) 2010-2019 EfficiOS Inc. and Linux Foundation * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -22,41 +21,59 @@ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. - * - * The Common Trace Format (CTF) Specification is available at - * http://www.efficios.com/ctf */ +#ifndef __BT_IN_BABELTRACE_H +# error "Please include instead." +#endif + #include -/* For bt_field, bt_field_class */ #include -/* For bt_field_status */ -#include - #ifdef __cplusplus extern "C" { #endif -extern void bt_field_signed_integer_set_value(bt_field *field, +extern bt_field_class *bt_field_borrow_class(bt_field *field); + +extern void bt_field_bool_set_value(bt_field *field, bt_bool value); + +extern void bt_field_bit_array_set_value_as_integer(bt_field *field, + uint64_t value); + +extern void bt_field_integer_signed_set_value(bt_field *field, int64_t value); -extern void bt_field_unsigned_integer_set_value(bt_field *field, +extern void bt_field_integer_unsigned_set_value(bt_field *field, uint64_t value); -extern void bt_field_real_set_value(bt_field *field, double value); +extern void bt_field_real_single_precision_set_value(bt_field *field, + float value); -extern bt_field_status bt_field_string_set_value(bt_field *field, - const char *value); +extern void bt_field_real_double_precision_set_value(bt_field *field, + double value); -extern bt_field_status bt_field_string_append(bt_field *field, - const char *value); +typedef enum bt_field_string_set_value_status { + BT_FIELD_STRING_SET_VALUE_STATUS_MEMORY_ERROR = __BT_FUNC_STATUS_MEMORY_ERROR, + BT_FIELD_STRING_SET_VALUE_STATUS_OK = __BT_FUNC_STATUS_OK, +} bt_field_string_set_value_status; -extern bt_field_status bt_field_string_append_with_length(bt_field *field, - const char *value, uint64_t length); +extern bt_field_string_set_value_status bt_field_string_set_value( + bt_field *field, const char *value); -extern bt_field_status bt_field_string_clear(bt_field *field); +typedef enum bt_field_string_append_status { + BT_FIELD_STRING_APPEND_STATUS_MEMORY_ERROR = __BT_FUNC_STATUS_MEMORY_ERROR, + BT_FIELD_STRING_APPEND_STATUS_OK = __BT_FUNC_STATUS_OK, +} bt_field_string_append_status; + +extern bt_field_string_append_status bt_field_string_append( + bt_field *field, const char *value); + +extern bt_field_string_append_status bt_field_string_append_with_length( + bt_field *field, const char *value, uint64_t length); + +extern void bt_field_string_clear(bt_field *field); extern bt_field *bt_field_structure_borrow_member_field_by_index( bt_field *field, uint64_t index); @@ -67,10 +84,25 @@ extern bt_field *bt_field_structure_borrow_member_field_by_name( extern bt_field *bt_field_array_borrow_element_field_by_index( bt_field *field, uint64_t index); -extern bt_field_status bt_field_dynamic_array_set_length(bt_field *field, - uint64_t length); +typedef enum bt_field_array_dynamic_set_length_status { + BT_FIELD_DYNAMIC_ARRAY_SET_LENGTH_STATUS_MEMORY_ERROR = __BT_FUNC_STATUS_MEMORY_ERROR, + BT_FIELD_DYNAMIC_ARRAY_SET_LENGTH_STATUS_OK = __BT_FUNC_STATUS_OK, +} bt_field_array_dynamic_set_length_status; + +extern bt_field_array_dynamic_set_length_status +bt_field_array_dynamic_set_length( + bt_field *field, uint64_t length); + +extern void bt_field_option_set_has_field(bt_field *field, bt_bool has_field); + +extern bt_field *bt_field_option_borrow_field(bt_field *field); + +typedef enum bt_field_variant_select_option_by_index_status { + BT_FIELD_VARIANT_SELECT_OPTION_STATUS_OK = __BT_FUNC_STATUS_OK, +} bt_field_variant_select_option_by_index_status; -extern bt_field_status bt_field_variant_select_option_field( +extern bt_field_variant_select_option_by_index_status +bt_field_variant_select_option_by_index( bt_field *field, uint64_t index); extern bt_field *bt_field_variant_borrow_selected_option_field( @@ -80,4 +112,4 @@ extern bt_field *bt_field_variant_borrow_selected_option_field( } #endif -#endif /* BABELTRACE_TRACE_IR_FIELDS_H */ +#endif /* BABELTRACE2_TRACE_IR_FIELD_H */