Split CTF IR and CTF writer APIs and implementations
[babeltrace.git] / include / babeltrace / ctf-writer / writer-internal.h
index 388ff0d1a9893cc5b7a853ed33d64cb813c03f80..55ad145d8b88b22419472f73c6fade795196218b 100644 (file)
  * SOFTWARE.
  */
 
-#include <babeltrace/ctf-writer/ref-internal.h>
 #include <babeltrace/ctf-writer/writer.h>
 #include <babeltrace/babeltrace-internal.h>
 #include <glib.h>
 #include <dirent.h>
 #include <sys/types.h>
 #include <babeltrace/ctf-ir/trace.h>
+#include <babeltrace/object-internal.h>
+
+struct metadata_context {
+       GString *string;
+       GString *field_name;
+       unsigned int current_indentation_level;
+};
 
 struct bt_ctf_writer {
-       struct bt_ctf_ref ref_count;
+       struct bt_object base;
        int frozen; /* Protects attributes that can't be changed mid-trace */
        struct bt_ctf_trace *trace;
        GString *path;
-       int trace_dir_fd;
        int metadata_fd;
 };
 
+enum field_type_alias {
+       FIELD_TYPE_ALIAS_UINT5_T = 0,
+       FIELD_TYPE_ALIAS_UINT8_T,
+       FIELD_TYPE_ALIAS_UINT16_T,
+       FIELD_TYPE_ALIAS_UINT27_T,
+       FIELD_TYPE_ALIAS_UINT32_T,
+       FIELD_TYPE_ALIAS_UINT64_T,
+       NR_FIELD_TYPE_ALIAS,
+};
+
+BT_HIDDEN
+struct bt_ctf_field_type *get_field_type(enum field_type_alias alias);
+
+BT_HIDDEN
+const char *get_byte_order_string(enum bt_byte_order byte_order);
+
+BT_HIDDEN
+void bt_ctf_writer_freeze(struct bt_ctf_writer *writer);
+
 #endif /* BABELTRACE_CTF_WRITER_WRITER_INTERNAL_H */
This page took 0.024964 seconds and 4 git commands to generate.