API doc: add int/float field type examples
[babeltrace.git] / doc / api / dox / examples-ctfir.dox
diff --git a/doc/api/dox/examples-ctfir.dox b/doc/api/dox/examples-ctfir.dox
new file mode 100644 (file)
index 0000000..1dc632f
--- /dev/null
@@ -0,0 +1,139 @@
+/**
+@page ctfirexamples CTF IR examples
+
+<strong>List of CTF IR examples</strong>:
+
+- @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 <assert.h>
+#include <babeltrace/ctf-ir/field-types.h>
+
+struct bt_ctf_field_type *create_int_field_type(void)
+{
+    struct bt_ctf_field_type *field_type;
+
+    field_type = bt_ctf_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 <assert.h>
+#include <babeltrace/ctf-ir/field-types.h>
+
+struct bt_ctf_field_type *create_int_field_type(void)
+{
+    int ret;
+    struct bt_ctf_field_type *field_type;
+
+    field_type = bt_ctf_field_type_integer_create(23);
+    assert(field_type);
+
+    ret = bt_ctf_field_type_set_byte_order(field_type,
+                                           BT_CTF_BYTE_ORDER_BIG_ENDIAN);
+    assert(ret == 0);
+
+    ret = bt_ctf_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 <assert.h>
+#include <babeltrace/ctf-ir/field-types.h>
+
+struct bt_ctf_field_type *create_int_field_type(
+        struct bt_ctf_clock_class *clock_class)
+{
+    int ret;
+    struct bt_ctf_field_type *field_type;
+
+    field_type = bt_ctf_field_type_integer_create(8);
+    assert(field_type);
+
+    ret = bt_ctf_field_type_integer_set_base(field_type,
+                                             BT_CTF_INTEGER_BASE_HEXADECIMAL);
+    assert(ret == 0);
+
+    ret = bt_ctf_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 <assert.h>
+#include <babeltrace/ctf-ir/field-types.h>
+
+struct bt_ctf_field_type *create_float_field_type(void)
+{
+    struct bt_ctf_field_type *field_type;
+
+    field_type = bt_ctf_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 <assert.h>
+#include <babeltrace/ctf-ir/field-types.h>
+
+struct bt_ctf_field_type *create_float_field_type(void)
+{
+    int ret;
+    struct bt_ctf_field_type *field_type;
+
+    field_type = bt_ctf_field_type_floating_point_create();
+    assert(field_type);
+
+    ret = bt_ctf_field_type_set_byte_order(field_type,
+                                           BT_CTF_BYTE_ORDER_LITTLE_ENDIAN);
+    assert(ret == 0);
+
+    ret = bt_ctf_field_type_floating_point_set_exponent_digits(field_type, 11);
+    assert(ret == 0);
+
+    ret = bt_ctf_field_type_floating_point_set_mantissa_digits(field_type, 53);
+    assert(ret == 0);
+
+    return field_type;
+}
+@endcode
+*/
This page took 0.024313 seconds and 4 git commands to generate.