X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fctf-ir%2Fstream.h;h=eb7d57fe84438816f30c607c1c9c6708fbdd4fa9;hb=56e18c4ce186892c36d7f2cb5078087425e60134;hp=75e34d48bbd7c2a0c2bf3f5d633951b4e7cab69f;hpb=c2f29fb98a1e9088434fe8872d68695afd8e9dd3;p=babeltrace.git diff --git a/include/babeltrace/ctf-ir/stream.h b/include/babeltrace/ctf-ir/stream.h index 75e34d48..eb7d57fe 100644 --- a/include/babeltrace/ctf-ir/stream.h +++ b/include/babeltrace/ctf-ir/stream.h @@ -1,170 +1,2 @@ -#ifndef BABELTRACE_CTF_IR_STREAM_H -#define BABELTRACE_CTF_IR_STREAM_H - -/* - * BabelTrace - CTF IR: Stream - * - * Copyright 2013, 2014 Jérémie Galarneau - * - * Author: Jérémie Galarneau - * - * 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. - * - * The Common Trace Format (CTF) Specification is available at - * http://www.efficios.com/ctf - */ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** -@defgroup ctfirstream CTF IR stream -@ingroup ctfir -@brief CTF IR stream. - -@code -#include -@endcode - -@note -See \ref ctfirwriterstream which documents additional CTF IR stream -functions exclusive to the CTF IR writer mode. - -A CTF IR stream is an instance of a -\link ctfirstreamclass CTF IR stream class\endlink. - -You can obtain a CTF IR stream object in two different modes: - -- Normal mode: use bt_ctf_stream_create() with a stream - class having a \link ctfirtraceclass CTF IR trace class\endlink parent - \em not created by a \link ctfirwriter CTF IR writer\endlink object to - create a default stream. -- CTF IR writer mode: use bt_ctf_stream_create() with - a stream class having a trace class parent created by a CTF IR writer - object, or use bt_ctf_writer_create_stream(). - -A CTF IR stream object represents a CTF stream, that is, a sequence of -packets containing events: - -@imgtracestructure - -A CTF IR stream does not contain, however, actual \link ctfirpacket CTF -IR packet\endlink objects: it only acts as a common parent to identify -the original CTF stream of packet objects. - -As with any Babeltrace object, CTF IR stream objects have -reference -counts. See \ref refs to learn more about the reference counting -management of Babeltrace objects. - -@sa ctfirstreamclass -@sa ctfirpacket -@sa ctfirwriterstream - -@file -@brief CTF IR stream type and functions. -@sa ctfirstream - -@addtogroup ctfirstream -@{ -*/ - -/** -@struct bt_ctf_stream -@brief A CTF IR stream. -@sa ctfirstream -@sa ctfirwriterstream -*/ -struct bt_ctf_stream; -struct bt_ctf_event; - -/** -@brief Creates a default CTF IR stream named \p name from the CTF IR - stream class \p stream_class. - -\p stream_class \em must have a parent -\link ctfirtraceclass CTF IR trace class\endlink. - -If the parent \link ctfirtraceclass trace class\endlink of -\p stream_class was created by a \link ctfirwriter CTF IR writer\endlink -object, then the stream object is created in CTF IR writer mode, and -you can use the functions of \ref ctfirwriterstream on it. -Otherwise it is created in normal mode: you should only use the -functions documented in this module on it. - -\p name can be \c NULL to create an unnamed stream object. - -@param[in] stream_class CTF IR stream class to use to create the - CTF IR stream. -@param[in] name Name of the stream object to create (copied on - success) or \c NULL to create an unnamed stream. -@returns Created stream object, or \c NULL on error. - -@prenotnull{stream_class} -@pre \p stream_class has a parent trace class. -@postsuccessrefcountret1 -*/ -extern struct bt_ctf_stream *bt_ctf_stream_create( - struct bt_ctf_stream_class *stream_class, - const char *name); - -/** -@brief Returns the name of the CTF IR stream \p stream. - -On success, \p stream remains the sole owner of the returned string. - -@param[in] stream Stream object of which to get the name. -@returns Name of stream \p stream, or \c NULL if - \p stream is unnamed or on error. - -@prenotnull{stream} -@postrefcountsame{stream} -*/ -extern const char *bt_ctf_stream_get_name(struct bt_ctf_stream *stream); - -/** -@brief Returns the parent CTF IR stream class of the CTF IR - stream \p stream. - -This function returns a reference to the stream class which was used -to create the stream object in the first place with -bt_ctf_stream_create(). - -@param[in] stream Stream of which to get the parent stream class. -@returns Parent stream class of \p stream, - or \c NULL on error. - -@prenotnull{stream} -@postrefcountsame{stream} -@postsuccessrefcountretinc -*/ -extern struct bt_ctf_stream_class *bt_ctf_stream_get_class( - struct bt_ctf_stream *stream); - -/** @} */ - -#ifdef __cplusplus -} -#endif - -#endif /* BABELTRACE_CTF_IR_STREAM_H */ +/* Pre-2.0 CTF writer backward compatibility */ +#include