/** @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 */