fix API : deal with the optional underscore
[babeltrace.git] / include / babeltrace / types.h
index 0cedb337b03d389dfdda9199c8a2477986c33c46..dd116f10ed49be0f42f32ccfcece918d20731502 100644 (file)
@@ -120,13 +120,6 @@ int generic_rw(struct stream_pos *pos, struct definition *definition)
        return call(pos, definition);
 }
 
-enum ctf_string_encoding {
-       CTF_STRING_NONE = 0,
-       CTF_STRING_UTF8,
-       CTF_STRING_ASCII,
-       CTF_STRING_UNKNOWN,
-};
-
 /*
  * Because we address in bits, bitfields end up being exactly the same as
  * integers, except that their read/write functions must be able to deal with
@@ -373,8 +366,12 @@ struct declaration_integer *integer_declaration_new(size_t len, int byte_order,
                                  int signedness, size_t alignment,
                                  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);
+uint64_t get_unsigned_int(const struct definition *field);
+int64_t get_signed_int(const struct definition *field);
+int get_int_signedness(const struct definition *field);
+int get_int_byte_order(const struct definition *field);
+int get_int_base(const struct definition *field);
+enum ctf_string_encoding get_int_encoding(const struct definition *field);
 
 /*
  * mantissa_len is the length of the number of bytes represented by the mantissa
@@ -421,7 +418,8 @@ struct declaration_enum *
 
 struct declaration_string *
        string_declaration_new(enum ctf_string_encoding encoding);
-char *get_string(struct definition *field);
+char *get_string(const struct definition *field);
+enum ctf_string_encoding get_string_encoding(const struct definition *field);
 
 struct declaration_struct *
        struct_declaration_new(struct declaration_scope *parent_scope,
@@ -486,7 +484,8 @@ 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);
+GString *get_char_array(const struct definition *field);
+int get_array_len(const struct definition *field);
 
 /*
  * int_declaration and elem_declaration passed as parameter now belong
@@ -519,4 +518,13 @@ struct definition_enum *lookup_enum(struct definition *definition,
 struct definition *lookup_variant(struct definition *definition,
                                  const char *field_name);
 
+static inline
+const char *rem_(const char *str)
+{
+       if (str[0] == '_')
+               return &str[1];
+       else
+               return str;
+}
+
 #endif /* _BABELTRACE_TYPES_H */
This page took 0.038652 seconds and 4 git commands to generate.