X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fctf-ir%2Ftrace.h;h=ba6b28cdce3cb3f4e31a90b07600c698773adc80;hb=cab3f160369bcc2536e536fa88ea76dd7bc586b4;hp=6cae6d6fd3f676f2b4c95bf6c358beb77b36293b;hpb=2c1c33a46b0842b5fcce20fe8a58de184ca865a4;p=babeltrace.git diff --git a/include/babeltrace/ctf-ir/trace.h b/include/babeltrace/ctf-ir/trace.h index 6cae6d6f..ba6b28cd 100644 --- a/include/babeltrace/ctf-ir/trace.h +++ b/include/babeltrace/ctf-ir/trace.h @@ -45,6 +45,10 @@ extern "C" { @ingroup ctfir @brief CTF IR trace class. +@code +#include +@endcode + A CTF IR trace class is a descriptor of traces. @@ -474,10 +478,13 @@ extern int bt_ctf_trace_set_environment_field_string( @param[in] trace_class Trace class of which to get the packet header field type. @returns Packet header field type of \p trace_class, - or \c NULL on error. + or \c NULL if \p trace_class has no packet header field + type or on error. @prenotnull{trace_class} -@postsuccessrefcountretinc +@postrefcountsame{trace_class} +@post On success, if the return value is a field type, its + reference count is incremented. @sa bt_ctf_trace_set_packet_header_type(): Sets the packet header field type of a given trace class. @@ -487,22 +494,29 @@ extern struct bt_ctf_field_type *bt_ctf_trace_get_packet_header_type( /** @brief Sets the packet header field type of the CTF IR trace class - \p trace_class to \p packet_context_type. + \p trace_class to \p packet_header_type, or unsets the current packet + header field type from \p trace_class. -As of Babeltrace \btversion, \p packet_context_type \em must be a -CTF IR structure field type object. +If \p packet_header_type is \c NULL, then this function unsets the current +packet header field type from \p trace_class, effectively making \p trace_class +a trace without a packet header field type. + +As of Babeltrace \btversion, if \p packet_header_type is not \c NULL, +\p packet_header_type \em must be a CTF IR structure field type object. @param[in] trace_class Trace class of which to set the packet header field type. -@param[in] packet_header_type Packet header field type. +@param[in] packet_header_type Packet header field type, or \c NULL to unset + the current packet header field type. @returns 0 on success, or a negative value on error. @prenotnull{trace_class} -@prenotnull{packet_header_type} @prehot{trace_class} -@preisstructft{packet_header_type} +@pre \p packet_header_type, if not \c NULL, is a CTF IR + structure field type. @postrefcountsame{trace_class} -@postsuccessrefcountinc{packet_header_type} +@post On success, if \p packet_header_type is not \c NULL, + the reference count of \p packet_header_type is incremented. @sa bt_ctf_trace_get_packet_header_type(): Returns the packet header field type of a given trace class. @@ -591,7 +605,7 @@ You can call this function even if \p trace_class is frozen. @prenotnull{clock_class} @postrefcountsame{trace_class} @postsuccessrefcountinc{clock_class} -@post On success, if \p trace_class is frozen, +@post On success, if \p trace_class is frozen, \p clock_class is frozen. @sa bt_ctf_trace_get_clock(): Returns the clock class contained in a @@ -675,6 +689,13 @@ You can only add a given stream class to one trace class. You can call this function even if \p trace_class is frozen. +This function tries to resolve the needed +\link ctfirfieldtypes CTF IR field type\endlink of the dynamic field +types that are found anywhere in the root field types of +\p stream_class and of all its currently contained +\link ctfireventclass CTF IR event classes\endlink. If any automatic +resolving fails, then this function fails. + @param[in] trace_class Trace class to which to add \p stream_class. @param[in] stream_class Stream class to add to \p trace_class. @returns 0 on success, or a negative value on error. @@ -725,6 +746,7 @@ is modified, \p listener is called with the new element and with @prenotnull{trace_class} @prenotnull{listener} +@postrefcountsame{trace_class} */ extern int bt_ctf_trace_add_listener(struct bt_ctf_trace *trace_class, bt_ctf_listener_cb listener, void *data);