Remove unneeded declaration "name", work in progress for gen io struct
[babeltrace.git] / formats / ctf / metadata / ctf-ast.h
index 54ad14d5b5f21c0cf9be7f65edf9d99544eccc09..6ee937b6e44ec7597a39c6d34217ab9bc4f1bf89 100644 (file)
@@ -152,6 +152,7 @@ struct ctf_node {
                                TYPESPEC_UNSIGNED,
                                TYPESPEC_BOOL,
                                TYPESPEC_COMPLEX,
+                               TYPESPEC_IMAGINARY,
                                TYPESPEC_CONST,
                                TYPESPEC_ID_TYPE,
                        } type;
@@ -194,7 +195,10 @@ struct ctf_node {
                } string;
                struct {
                        char *id;
-                       /* range list or single value node */
+                       /*
+                        * Range list or single value node. Contains unary
+                        * expressions.
+                        */
                        struct cds_list_head values;
                } enumerator;
                struct {
@@ -202,6 +206,7 @@ struct ctf_node {
                        /* NULL, value or declaration specifier */
                        struct ctf_node *container_type;
                        struct cds_list_head enumerator_list;
+                       int has_body;
                } _enum;
                struct {
                        struct cds_list_head declaration_specifier;
@@ -212,11 +217,13 @@ struct ctf_node {
                        char *choice;
                        /* list of typedef, typealias and declarations */
                        struct cds_list_head declaration_list;
+                       int has_body;
                } variant;
                struct {
                        char *name;
                        /* list of typedef, typealias and declarations */
                        struct cds_list_head declaration_list;
+                       int has_body;
                } _struct;
        } u;
 };
@@ -226,6 +233,14 @@ struct ctf_ast {
        struct cds_list_head allocated_nodes;
 };
 
+const char *node_type(struct ctf_node *node);
+
+struct ctf_trace;
+
 int ctf_visitor_print_xml(FILE *fd, int depth, struct ctf_node *node);
+int ctf_visitor_semantic_check(FILE *fd, int depth, struct ctf_node *node);
+int ctf_visitor_parent_links(FILE *fd, int depth, struct ctf_node *node);
+int ctf_visitor_construct_metadata(FILE *fd, int depth, struct ctf_node *node,
+                       struct ctf_trace *trace, int byte_order);
 
 #endif /* _CTF_PARSER_H */
This page took 0.023517 seconds and 4 git commands to generate.