+/**
+@defgroup ctfireventclass CTF IR event class
+@ingroup ctfir
+@brief CTF IR event class.
+
+A CTF IR <strong><em>event class</em></strong> is a template that you
+can use to create concrete \link ctfirevent CTF IR events\endlink.
+
+An event class has the following properties, both of which \em must
+be unique amongst all the event classes contained in the same
+\link ctfirstreamclass CTF IR stream class\endlink:
+
+- A \b name.
+- A numeric \b ID.
+
+A CTF IR event class owns two
+\link ctfirfieldtypes field types\endlink:
+
+- An optional <strong>event context</strong> field type, which
+ represents the \c event.context CTF scope.
+- A mandatory <strong>event payload</strong> field type, which
+ represents the \c event.fields CTF scope.
+
+Both field types \em must be structure field types as of
+Babeltrace \btversion.
+The event payload field type <em>must not</em> be empty.
+
+As a reminder, here's the structure of a CTF packet:
+
+@imgpacketstructure
+
+In the Babeltrace CTF IR system, a \link ctfirtraceclass trace
+class\endlink contains zero or more \link ctfirstreamclass stream
+classes\endlink, and a stream class contains zero or more event classes.
+
+Before you can create an event from an event class with
+bt_ctf_event_create(), you \em must add the prepared event class to a
+stream class by calling bt_ctf_stream_class_add_event_class(). This
+function, when successful, \em freezes the event class, disallowing any
+future modification of its properties and field types by the user.
+
+As with any Babeltrace object, CTF IR event class objects have
+<a href="https://en.wikipedia.org/wiki/Reference_counting">reference
+counts</a>. See \ref refs to learn more about the reference counting
+management of Babeltrace objects.
+
+bt_ctf_stream_class_add_event_class() \em freezes its event class
+parameter on success. You cannot modify a frozen event class: it is
+considered immutable, except for \link refs reference counting\endlink.
+
+@sa ctfirevent
+@sa ctfirstreamclass
+
+@file
+@brief CTF IR event class type and functions.
+@sa ctfireventclass
+
+@addtogroup ctfireventclass
+@{
+*/
+
+/**
+@struct bt_ctf_event_class
+@brief A CTF IR event class.
+@sa ctfireventclass
+*/