Implement clock mapping within integer type
[babeltrace.git] / include / babeltrace / types.h
index 5523eb42987adcc7af24a6e3fe2702109f835269..b4d2d4a7dc8b423a5bf1f7ebea971f381384ef2f 100644 (file)
@@ -6,7 +6,9 @@
  *
  * Type Header
  *
- * Copyright 2010, 2011 - Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ * Copyright 2010-2011 EfficiOS Inc. and Linux Foundation
+ *
+ * Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -35,6 +37,7 @@ struct ctf_stream;
 struct stream_pos;
 struct format;
 struct definition;
+struct ctf_clock;
 
 /* type scope */
 struct declaration_scope {
@@ -149,6 +152,7 @@ struct declaration_integer {
        int signedness;
        int base;               /* Base for pretty-printing: 2, 8, 10, 16 */
        enum ctf_string_encoding encoding;
+       struct ctf_clock *clock;
 };
 
 struct definition_integer {
@@ -177,7 +181,7 @@ struct definition_float {
        struct definition_integer *mantissa;
        struct definition_integer *exp;
        /* Last values read */
-       long double value;
+       double value;
 };
 
 /*
@@ -380,7 +384,10 @@ void definition_unref(struct definition *definition);
 
 struct declaration_integer *integer_declaration_new(size_t len, int byte_order,
                                  int signedness, size_t alignment,
-                                 int base, enum ctf_string_encoding encoding);
+                                 int base, enum ctf_string_encoding encoding,
+                                 struct ctf_clock *clock);
+uint64_t get_unsigned_int(struct definition *field);
+int64_t get_signed_int(struct definition *field);
 
 /*
  * mantissa_len is the length of the number of bytes represented by the mantissa
@@ -427,6 +434,7 @@ struct declaration_enum *
 
 struct declaration_string *
        string_declaration_new(enum ctf_string_encoding encoding);
+char *get_string(struct definition *field);
 
 struct declaration_struct *
        struct_declaration_new(struct declaration_scope *parent_scope,
@@ -491,6 +499,7 @@ struct declaration_array *
 uint64_t array_len(struct definition_array *array);
 struct definition *array_index(struct definition_array *array, uint64_t i);
 int array_rw(struct stream_pos *pos, struct definition *definition);
+GString *get_char_array(struct definition *field);
 
 /*
  * int_declaration and elem_declaration passed as parameter now belong
This page took 0.023562 seconds and 4 git commands to generate.