X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fctf-writer%2Fwriter-internal.h;h=3a885dee8334b2d3536bfe8ae3bca7086bc05171;hb=7e69c04f557e46fb50e5a888a3bc3451afbd3b8e;hp=5c682dd857dac84ec577cd31852c7ec0364c0f03;hpb=550461940505dbeae425d1b87d145549800a5341;p=babeltrace.git diff --git a/include/babeltrace/ctf-writer/writer-internal.h b/include/babeltrace/ctf-writer/writer-internal.h index 5c682dd8..3a885dee 100644 --- a/include/babeltrace/ctf-writer/writer-internal.h +++ b/include/babeltrace/ctf-writer/writer-internal.h @@ -2,9 +2,7 @@ #define BABELTRACE_CTF_WRITER_WRITER_INTERNAL_H /* - * BabelTrace - CTF Writer: Writer internal - * - * Copyright 2013 EfficiOS Inc. + * Copyright 2013, 2014 Jérémie Galarneau * * Author: Jérémie Galarneau * @@ -27,61 +25,45 @@ * SOFTWARE. */ -#include #include -#include -#include #include #include #include #include -#include +#include +#include -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, +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_ctf_object base; int frozen; /* Protects attributes that can't be changed mid-trace */ + struct bt_ctf_trace *trace; GString *path; - uuid_t uuid; - int byte_order; - int trace_dir_fd; int metadata_fd; - GPtrArray *environment; /* Array of pointers to environment_variable */ - GPtrArray *clocks; /* Array of pointers to bt_ctf_clock */ - GPtrArray *stream_classes; /* Array of pointers to bt_ctf_stream_class */ - GPtrArray *streams; /* Array of pointers to bt_ctf_stream */ - struct bt_ctf_field_type *trace_packet_header_type; - struct bt_ctf_field *trace_packet_header; - uint32_t next_stream_id; -}; - -struct environment_variable { - GString *name, *value; }; -struct metadata_context { - GString *string; - GString *field_name; - unsigned int current_indentation_level; +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, }; -/* Checks that the string does not contain a reserved keyword */ BT_HIDDEN -int validate_identifier(const char *string); +struct bt_ctf_field_type *get_field_type(enum field_type_alias alias); BT_HIDDEN -const char *get_byte_order_string(int byte_order); +const char *bt_ctf_get_byte_order_string(enum bt_ctf_byte_order byte_order); BT_HIDDEN -struct bt_ctf_field_type *get_field_type(enum field_type_alias alias); +void bt_ctf_writer_freeze(struct bt_ctf_writer *writer); #endif /* BABELTRACE_CTF_WRITER_WRITER_INTERNAL_H */