X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=include%2Fbabeltrace%2Fcontext.h;h=f29ccf083f034c5e73a36132b42103668a3dfa19;hp=591c9cad029757951dc642d1631d9914fd8ef22a;hb=148656722777eff147bd9f2e00f44111377f4b39;hpb=31265d844034f20986b37670beca678b81be0741 diff --git a/include/babeltrace/context.h b/include/babeltrace/context.h index 591c9cad..f29ccf08 100644 --- a/include/babeltrace/context.h +++ b/include/babeltrace/context.h @@ -21,14 +21,27 @@ * * 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 +#ifdef __cplusplus +extern "C" { +#endif + /* struct bt_context is opaque to the user */ struct bt_context; struct stream_pos; +struct bt_ctf_event; /* * bt_context_create : create a Babeltrace context @@ -59,7 +72,7 @@ struct bt_context *bt_context_create(void); * * stream_list is a linked list of streams, it is used to open a trace where * the trace data is located in memory mapped areas instead of trace files, - * this argument should be set to NULL when path is not NULL. + * this argument should be non-NULL when path is NULL. * * The metadata parameter acts as a metadata override when not NULL, otherwise * the format handles the metadata opening. @@ -77,9 +90,10 @@ int bt_context_add_trace(struct bt_context *ctx, const char *path, /* * bt_context_remove_trace: Remove a trace from the context. * - * Effectively closing the trace. + * Effectively closing the trace. Return negative error value if trace + * is not in context. */ -void bt_context_remove_trace(struct bt_context *ctx, int trace_id); +int bt_context_remove_trace(struct bt_context *ctx, int trace_id); /* * bt_context_get and bt_context_put : increments and decrement the @@ -96,4 +110,15 @@ void bt_context_remove_trace(struct bt_context *ctx, int trace_id); void bt_context_get(struct bt_context *ctx); void bt_context_put(struct bt_context *ctx); +/* + * bt_ctf_get_context : get the context associated with an event + * + * Returns NULL on error + */ +struct bt_context *bt_ctf_event_get_context(const struct bt_ctf_event *event); + +#ifdef __cplusplus +} +#endif + #endif /* _BABELTRACE_CONTEXT_H */