X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=include%2Fbabeltrace%2Fbabeltrace.h;h=cd910280777577f8f879f35c0f8f1b6ce6c79124;hp=4d94a5628117b596d361fddb128bd9673aef6ebf;hb=312c056ae3d374b253fa0cfe5ed576c0b0e5e569;hpb=34861b9ddd0eb8040ac54e51f9352c4d7ff6fead diff --git a/include/babeltrace/babeltrace.h b/include/babeltrace/babeltrace.h index 4d94a562..cd910280 100644 --- a/include/babeltrace/babeltrace.h +++ b/include/babeltrace/babeltrace.h @@ -1,10 +1,10 @@ -#ifndef _BABELTRACE_H -#define _BABELTRACE_H +#ifndef BABELTRACE_BABELTRACE_H +#define BABELTRACE_BABELTRACE_H /* - * BabelTrace API + * Babeltrace API * - * Copyright 2010-2011 - Mathieu Desnoyers + * Copyright 2010-2017 EfficiOS Inc. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -15,92 +15,94 @@ * * 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. */ -#include -#include -#include -#include -#include -#include - -/* Forward declarations */ -struct bt_iter; -struct ctf_stream_event; -struct ctf_stream; -struct bt_dependencies; - -enum bt_cb_ret { - BT_CB_OK = 0, - BT_CB_OK_STOP = 1, - BT_CB_ERROR_STOP = 2, - BT_CB_ERROR_CONTINUE = 3, -}; +/* Core API */ +#include +#include +#include +#include +#include -struct bt_ctf_data { - struct ctf_stream_event *event; - struct ctf_stream *stream; -}; +/* Legacy API (for CTF writer) */ +#include -/* - * Receives a variable number of strings as parameter, ended with NULL. - */ -struct bt_dependencies *babeltrace_dependencies_create(const char *first, ...); +/* CTF writer API */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include -/* - * struct bt_dependencies must be destroyed explicitly if not passed as - * parameter to a bt_iter_add_callback(). - */ -void babeltrace_dependencies_destroy(struct bt_dependencies *dep); +/* CTF IR API */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include -/* - * bt_iter_add_callback: Add a callback to iterator. - * - * @iter: trace collection iterator (input) - * @event: event to target. 0 for all events. - * @private_data: private data pointer to pass to the callback - * @flags: specific flags controlling the behavior of this callback - * (or'd). - * - * @callback: function pointer to call - * @depends: struct bt_dependency detailing the required computation results. - * Ends with 0. - * @weak_depends: struct bt_dependency detailing the optional computation - * results that can be optionally consumed by this - * callback. - * @provides: struct bt_dependency detailing the computation results - * provided by this callback. - * Ends with 0. - * - * "depends", "weak_depends" and "provides" memory is handled by the - * babeltrace library after this call succeeds or fails. These objects - * can still be used by the caller until the babeltrace iterator is - * destroyed, but they belong to the babeltrace library. - * - * (note to implementor: we need to keep a gptrarray of struct - * bt_dependencies to "garbage collect" in struct bt_iter, and - * dependencies need to have a refcount to handle the case where they - * would be passed to more than one iterator. Upon iterator detroy, we - * iterate on all the gc ptrarray and decrement the refcounts, freeing - * if we reach 0.) - * (note to implementor: we calculate the dependency graph when - * bt_iter_read_event() is executed after a - * bt_iter_add_callback(). Beware that it is valid to create/add - * callbacks/read/add more callbacks/read some more.) - */ -int bt_iter_add_callback(struct bt_iter *iter, - bt_intern_str event, void *private_data, int flags, - enum bt_cb_ret (*callback)(struct bt_ctf_data *ctf_data, - void *caller_data), - struct bt_dependencies *depends, - struct bt_dependencies *weak_depends, - struct bt_dependencies *provides); +/* Plugin and plugin development API */ +#include +#include -/* - * For flags parameter above. - */ -enum { - BT_FLAGS_FREE_PRIVATE_DATA = (1 << 0), -}; +/* Graph, component, and notification API */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include -#endif /* _BABELTRACE_H */ +#endif /* BABELTRACE_BABELTRACE_H */