/**
@page ctfirexamples CTF IR examples
List of CTF IR examples:
- @subpage ctfirfieldtypesexamples CTF IR field types examples
@sa ctfir (API reference)
@page ctfirfieldtypesexamples CTF IR field types examples
This page contains usage examples of the \ref ctfirfieldtypes API.
@noteexamplesassert
@section ctfirfieldtypesexamples_intfieldtype Integer field type
@sa ctfirintfieldtype
@subsection ctfirfieldtypesexamples_intfieldtype0 Create a default, 16-bit integer field type
@code{.c}
#include
#include
struct bt_field_type *create_int_field_type(void)
{
struct bt_field_type *field_type;
field_type = bt_field_type_integer_create(16);
assert(field_type);
return field_type;
}
@endcode
@subsection ctfirfieldtypesexamples_intfieldtype1 Create a 23-bit, signed, big-endian integer field type
@code{.c}
#include
#include
struct bt_field_type *create_int_field_type(void)
{
int ret;
struct bt_field_type *field_type;
field_type = bt_field_type_integer_create(23);
assert(field_type);
ret = bt_field_type_set_byte_order(field_type,
BT_BYTE_ORDER_BIG_ENDIAN);
assert(ret == 0);
ret = bt_field_type_integer_set_signed(field_type, 1);
assert(ret == 0);
return field_type;
}
@endcode
@subsection ctfirfieldtypesexamples_intfieldtype2 Create an 8-bit integer field type, displayed in hexadecimal, mapped to a CTF IR clock class
@code{.c}
#include
#include
struct bt_field_type *create_int_field_type(
struct bt_clock_class *clock_class)
{
int ret;
struct bt_field_type *field_type;
field_type = bt_field_type_integer_create(8);
assert(field_type);
ret = bt_field_type_integer_set_base(field_type,
BT_INTEGER_BASE_HEXADECIMAL);
assert(ret == 0);
ret = bt_field_type_integer_set_mapped_clock(field_type, clock_class);
assert(ret == 0);
return field_type;
}
@endcode
@section ctfirfieldtypesexamples_floatfieldtype Floating point number field type
@sa ctfirfloatfieldtype
@subsection ctfirfieldtypesexamples_floatfieldtype0 Create a default floating point number field type
@code{.c}
#include
#include
struct bt_field_type *create_float_field_type(void)
{
struct bt_field_type *field_type;
field_type = bt_field_type_floating_point_create();
assert(field_type);
return field_type;
}
@endcode
@subsection ctfirfieldtypesexamples_floatfieldtype1 Create a "double", little-endian floating point number field type
@code{.c}
#include
#include
struct bt_field_type *create_float_field_type(void)
{
int ret;
struct bt_field_type *field_type;
field_type = bt_field_type_floating_point_create();
assert(field_type);
ret = bt_field_type_set_byte_order(field_type,
BT_BYTE_ORDER_LITTLE_ENDIAN);
assert(ret == 0);
ret = bt_field_type_floating_point_set_exponent_digits(field_type, 11);
assert(ret == 0);
ret = bt_field_type_floating_point_set_mantissa_digits(field_type, 53);
assert(ret == 0);
return field_type;
}
@endcode
*/