Move bt_message_type_string to common
[babeltrace.git] / src / common / common.h
index 1abe37ec11b094bf80713ad212a462f6e6f32f93..46e6a1a1b293e330b18c3eaf22b336021310a1db 100644 (file)
@@ -1,29 +1,13 @@
-#ifndef BABELTRACE_COMMON_INTERNAL_H
-#define BABELTRACE_COMMON_INTERNAL_H
-
 /*
+ * SPDX-License-Identifier: MIT
+ *
  * Copyright (c) 2018 EfficiOS Inc. and Linux Foundation
  * Copyright (c) 2018 Philippe Proulx <pproulx@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
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
  */
 
+#ifndef BABELTRACE_COMMON_INTERNAL_H
+#define BABELTRACE_COMMON_INTERNAL_H
+
 #include <errno.h>
 #include <glib.h>
 #include <inttypes.h>
 #include "common/macros.h"
 #include "common/safe.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #define BT_COMMON_COLOR_RESET                  "\033[0m"
 #define BT_COMMON_COLOR_BOLD                   "\033[1m"
 #define BT_COMMON_COLOR_FG_DEFAULT             "\033[39m"
@@ -454,7 +442,7 @@ ssize_t bt_common_read(int fd, void *buf, size_t count, int log_level)
        BT_ASSERT_DBG(count <= SSIZE_MAX);
 
        do {
-               ret = read(fd, buf + i, count - i);
+               ret = read(fd, ((char *) buf) + i, count - i);
                if (ret < 0) {
                        if (errno == EINTR) {
 #ifdef BT_LOG_WRITE_CUR_LVL
@@ -497,14 +485,20 @@ const char *bt_common_field_class_type_string(enum bt_field_class_type class_typ
                return "BOOL";
        case BT_FIELD_CLASS_TYPE_BIT_ARRAY:
                return "BIT_ARRAY";
+       case BT_FIELD_CLASS_TYPE_INTEGER:
+               return "INTEGER";
        case BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER:
                return "UNSIGNED_INTEGER";
        case BT_FIELD_CLASS_TYPE_SIGNED_INTEGER:
                return "SIGNED_INTEGER";
+       case BT_FIELD_CLASS_TYPE_ENUMERATION:
+               return "ENUMERATION";
        case BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION:
                return "UNSIGNED_ENUMERATION";
        case BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION:
                return "SIGNED_ENUMERATION";
+       case BT_FIELD_CLASS_TYPE_REAL:
+               return "REAL";
        case BT_FIELD_CLASS_TYPE_SINGLE_PRECISION_REAL:
                return "SINGLE_PRECISION_REAL";
        case BT_FIELD_CLASS_TYPE_DOUBLE_PRECISION_REAL:
@@ -513,29 +507,47 @@ const char *bt_common_field_class_type_string(enum bt_field_class_type class_typ
                return "STRING";
        case BT_FIELD_CLASS_TYPE_STRUCTURE:
                return "STRUCTURE";
+       case BT_FIELD_CLASS_TYPE_ARRAY:
+               return "ARRAY";
        case BT_FIELD_CLASS_TYPE_STATIC_ARRAY:
                return "STATIC_ARRAY";
+       case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY:
+               return "DYNAMIC_ARRAY";
        case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITHOUT_LENGTH_FIELD:
                return "DYNAMIC_ARRAY_WITHOUT_LENGTH_FIELD";
        case BT_FIELD_CLASS_TYPE_DYNAMIC_ARRAY_WITH_LENGTH_FIELD:
                return "DYNAMIC_ARRAY_WITH_LENGTH_FIELD";
+       case BT_FIELD_CLASS_TYPE_OPTION:
+               return "OPTION";
        case BT_FIELD_CLASS_TYPE_OPTION_WITHOUT_SELECTOR_FIELD:
                return "OPTION_WITHOUT_SELECTOR_FIELD";
+       case BT_FIELD_CLASS_TYPE_OPTION_WITH_SELECTOR_FIELD:
+               return "OPTION_WITH_SELECTOR_FIELD";
        case BT_FIELD_CLASS_TYPE_OPTION_WITH_BOOL_SELECTOR_FIELD:
                return "OPTION_WITH_BOOL_SELECTOR_FIELD";
+       case BT_FIELD_CLASS_TYPE_OPTION_WITH_INTEGER_SELECTOR_FIELD:
+               return "OPTION_WITH_INTEGER_SELECTOR_FIELD";
        case BT_FIELD_CLASS_TYPE_OPTION_WITH_UNSIGNED_INTEGER_SELECTOR_FIELD:
                return "OPTION_WITH_UNSIGNED_INTEGER_SELECTOR_FIELD";
        case BT_FIELD_CLASS_TYPE_OPTION_WITH_SIGNED_INTEGER_SELECTOR_FIELD:
                return "OPTION_WITH_SIGNED_INTEGER_SELECTOR_FIELD";
+       case BT_FIELD_CLASS_TYPE_VARIANT:
+               return "VARIANT";
        case BT_FIELD_CLASS_TYPE_VARIANT_WITHOUT_SELECTOR_FIELD:
                return "VARIANT_WITHOUT_SELECTOR_FIELD";
+       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_SELECTOR_FIELD:
+               return "VARIANT_WITH_SELECTOR_FIELD";
+       case BT_FIELD_CLASS_TYPE_VARIANT_WITH_INTEGER_SELECTOR_FIELD:
+               return "VARIANT_WITH_INTEGER_SELECTOR_FIELD";
        case BT_FIELD_CLASS_TYPE_VARIANT_WITH_UNSIGNED_INTEGER_SELECTOR_FIELD:
                return "VARIANT_WITH_UNSIGNED_INTEGER_SELECTOR_FIELD";
        case BT_FIELD_CLASS_TYPE_VARIANT_WITH_SIGNED_INTEGER_SELECTOR_FIELD:
                return "VARIANT_WITH_SIGNED_INTEGER_SELECTOR_FIELD";
-       default:
-               return "(unknown)";
+       case __BT_FIELD_CLASS_TYPE_BIG_VALUE:
+               bt_common_abort ();
        }
+
+       bt_common_abort();
 };
 
 static inline
@@ -550,9 +562,9 @@ const char *bt_common_field_class_integer_preferred_display_base_string(enum bt_
                return "DECIMAL";
        case BT_FIELD_CLASS_INTEGER_PREFERRED_DISPLAY_BASE_HEXADECIMAL:
                return "HEXADECIMAL";
-       default:
-               return "(unknown)";
        }
+
+       bt_common_abort();
 }
 
 static inline
@@ -567,9 +579,9 @@ const char *bt_common_scope_string(enum bt_field_path_scope scope)
                return "EVENT_SPECIFIC_CONTEXT";
        case BT_FIELD_PATH_SCOPE_EVENT_PAYLOAD:
                return "EVENT_PAYLOAD";
-       default:
-               return "(unknown)";
        }
+
+       bt_common_abort();
 }
 
 static inline
@@ -607,9 +619,9 @@ const char *bt_common_event_class_log_level_string(
                return "DEBUG_LINE";
        case BT_EVENT_CLASS_LOG_LEVEL_DEBUG:
                return "DEBUG";
-       default:
-               return "(unknown)";
        }
+
+       bt_common_abort();
 };
 
 static inline
@@ -620,6 +632,8 @@ const char *bt_common_value_type_string(enum bt_value_type type)
                return "NULL";
        case BT_VALUE_TYPE_BOOL:
                return "BOOL";
+       case BT_VALUE_TYPE_INTEGER:
+               return "INTEGER";
        case BT_VALUE_TYPE_UNSIGNED_INTEGER:
                return "UNSIGNED_INTEGER";
        case BT_VALUE_TYPE_SIGNED_INTEGER:
@@ -632,9 +646,9 @@ const char *bt_common_value_type_string(enum bt_value_type type)
                return "ARRAY";
        case BT_VALUE_TYPE_MAP:
                return "MAP";
-       default:
-               return "(unknown)";
        }
+
+       bt_common_abort();
 };
 
 static inline
@@ -694,9 +708,9 @@ const char *bt_common_logging_level_string(
                return "FATAL";
        case BT_LOGGING_LEVEL_NONE:
                return "NONE";
-       default:
-               return "(unknown)";
        }
+
+       bt_common_abort();
 };
 
 static inline
@@ -723,9 +737,9 @@ const char *bt_common_func_status_string(int status)
                return "AGAIN";
        case __BT_FUNC_STATUS_INTERRUPTED:
                return "INTERRUPTED";
-       default:
-               return "(unknown)";
        }
+
+       bt_common_abort();
 }
 
 #define NS_PER_S_I     INT64_C(1000000000)
@@ -865,4 +879,49 @@ void bt_common_g_string_append_c(GString *str, char c)
        str->str[len + 1] = '\0';
 }
 
+static inline
+const char *bt_common_component_class_type_string(
+               enum bt_component_class_type type)
+{
+       switch (type) {
+       case BT_COMPONENT_CLASS_TYPE_SOURCE:
+               return "SOURCE";
+       case BT_COMPONENT_CLASS_TYPE_SINK:
+               return "SINK";
+       case BT_COMPONENT_CLASS_TYPE_FILTER:
+               return "FILTER";
+       }
+
+       bt_common_abort();
+}
+
+static inline
+const char *bt_common_message_type_string(enum bt_message_type type)
+{
+       switch (type) {
+       case BT_MESSAGE_TYPE_STREAM_BEGINNING:
+               return "STREAM_BEGINNING";
+       case BT_MESSAGE_TYPE_STREAM_END:
+               return "STREAM_END";
+       case BT_MESSAGE_TYPE_EVENT:
+               return "EVENT";
+       case BT_MESSAGE_TYPE_PACKET_BEGINNING:
+               return "PACKET_BEGINNING";
+       case BT_MESSAGE_TYPE_PACKET_END:
+               return "PACKET_END";
+       case BT_MESSAGE_TYPE_DISCARDED_EVENTS:
+               return "DISCARDED_EVENTS";
+       case BT_MESSAGE_TYPE_DISCARDED_PACKETS:
+               return "DISCARDED_PACKETS";
+       case BT_MESSAGE_TYPE_MESSAGE_ITERATOR_INACTIVITY:
+               return "MESSAGE_ITERATOR_INACTIVITY";
+       }
+
+       bt_common_abort();
+}
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* BABELTRACE_COMMON_INTERNAL_H */
This page took 0.026274 seconds and 4 git commands to generate.