#define BABELTRACE_TRACE_IR_FIELD_CLASSES_INTERNAL_H
/*
+ * Copyright 2017-2018 Philippe Proulx <pproulx@efficios.com>
* Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*
- * Author: Jérémie Galarneau <jeremie.galarneau@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
/* Owned by this */
struct bt_field_class *fc;
+
+ bool frozen;
};
+struct bt_field_class_structure_member;
+struct bt_field_class_variant_option;
+
/*
* This is the base field class for a container of named field classes.
* Structure and variant field classes inherit this.
# define bt_field_class_freeze(_fc)
#endif
+BT_HIDDEN
+void _bt_named_field_class_freeze(const struct bt_named_field_class *named_fc);
+
+#ifdef BT_DEV_MODE
+# define bt_named_field_class_freeze _bt_named_field_class_freeze
+#else
+# define bt_named_field_class_freeze(_named_fc)
+#endif
+
/*
* This function recursively marks `field_class` and its children as
* being part of a trace. This is used to validate that all field classes