From 6204d33cac1f29ec4dab146fd139caba7acc3363 Mon Sep 17 00:00:00 2001 From: Julien Desfossez Date: Wed, 25 Jan 2012 15:29:47 -0500 Subject: [PATCH] API : split iterator headers from babeltrace.h Removed the iterator specific prototypes from babeltrace.h No change in functionnality. Signed-off-by: Julien Desfossez Signed-off-by: Mathieu Desnoyers --- converter/babeltrace.c | 1 + include/Makefile.am | 3 +- include/babeltrace/babeltrace.h | 83 ------------------------ include/babeltrace/iterator.h | 109 ++++++++++++++++++++++++++++++++ lib/iterator.c | 1 + 5 files changed, 113 insertions(+), 84 deletions(-) create mode 100644 include/babeltrace/iterator.h diff --git a/converter/babeltrace.c b/converter/babeltrace.c index 269ed463..fbdc9ed7 100644 --- a/converter/babeltrace.c +++ b/converter/babeltrace.c @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include diff --git a/include/Makefile.am b/include/Makefile.am index 72770427..b5d26808 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -1,7 +1,8 @@ babeltraceinclude_HEADERS = \ babeltrace/babeltrace.h \ babeltrace/format.h \ - babeltrace/context.h + babeltrace/context.h \ + babeltrace/iterator.h noinst_HEADERS = \ diff --git a/include/babeltrace/babeltrace.h b/include/babeltrace/babeltrace.h index 792eeab0..c37e846b 100644 --- a/include/babeltrace/babeltrace.h +++ b/include/babeltrace/babeltrace.h @@ -18,20 +18,15 @@ */ #include -#include #include -#include typedef GQuark bt_event_name; /* Forward declarations */ struct babeltrace_iter; -struct trace_collection; struct ctf_stream_event; struct ctf_stream; -struct babeltrace_saved_pos; struct bt_dependencies; -struct bt_context; enum bt_cb_ret { BT_CB_OK = 0, @@ -40,89 +35,11 @@ enum bt_cb_ret { BT_CB_ERROR_CONTINUE = 3, }; -struct trace_collection_pos { - enum { - BT_SEEK_TIME, /* uses u.seek_time */ - BT_SEEK_RESTORE, /* uses u.restore */ - BT_SEEK_CUR, - BT_SEEK_BEGIN, - BT_SEEK_END, - } type; - union { - uint64_t seek_time; - struct babeltrace_saved_pos *restore; - } u; -}; - struct bt_ctf_data { struct ctf_stream_event *event; struct ctf_stream *stream; }; -/* - * babeltrace_iter_create - Allocate a trace collection iterator. - * - * begin_pos and end_pos are optional parameters to specify the position - * at which the trace collection should be seeked upon iterator - * creation, and the position at which iteration will start returning - * "EOF". - * - * By default, if begin_pos is NULL, a BT_SEEK_CUR is performed at - * creation. By default, if end_pos is NULL, a BT_SEEK_END (end of - * trace) is the EOF criterion. - */ -struct babeltrace_iter *babeltrace_iter_create(struct bt_context *ctx, - struct trace_collection_pos *begin_pos, - struct trace_collection_pos *end_pos); - -/* - * babeltrace_iter_destroy - Free a trace collection iterator. - */ -void babeltrace_iter_destroy(struct babeltrace_iter *iter); - -/* - * babeltrace_iter_next: Move trace collection position to the next event. - * - * Returns 0 on success, a negative value on error - */ -int babeltrace_iter_next(struct babeltrace_iter *iter); - -/* - * babeltrace_iter_save_pos - Save the current trace collection position. - * - * The position returned by this function needs to be freed by - * babeltrace_iter_free_pos after use. - */ -struct trace_collection_pos * - babeltrace_iter_save_pos(struct babeltrace_iter *iter); - -/* - * babeltrace_iter_free_pos - Free the position. - */ -void babeltrace_iter_free_pos(struct trace_collection_pos *pos); - -/* - * babeltrace_iter_seek: seek iterator to given position. - * - * Return EOF if position is after the last event of the trace collection. - * Return other negative value for other errors. - * Return 0 for success. - */ -int babeltrace_iter_seek(struct babeltrace_iter *iter, - const struct trace_collection_pos *pos); - -/* - * babeltrace_iter_read_event: Read the iterator's current event data. - * - * @iter: trace collection iterator (input) - * @stream: stream containing event at current position (output) - * @event: current event (output) - * Return 0 on success, negative error value on error. - */ -int babeltrace_iter_read_event(struct babeltrace_iter *iter, - struct ctf_stream **stream, - struct ctf_stream_event **event); - /* * Receives a variable number of strings as parameter, ended with NULL. */ diff --git a/include/babeltrace/iterator.h b/include/babeltrace/iterator.h new file mode 100644 index 00000000..923d2e17 --- /dev/null +++ b/include/babeltrace/iterator.h @@ -0,0 +1,109 @@ +#ifndef _BABELTRACE_ITERATOR_H +#define _BABELTRACE_ITERATOR_H + +/* + * BabelTrace API Iterators + * + * Copyright 2010-2011 - Mathieu Desnoyers + * + * 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. + */ + +#include +#include + +typedef GQuark bt_event_name; + +/* Forward declarations */ +struct babeltrace_iter; +struct ctf_stream_event; +struct ctf_stream; +struct babeltrace_saved_pos; + +struct trace_collection_pos { + enum { + BT_SEEK_TIME, /* uses u.seek_time */ + BT_SEEK_RESTORE, /* uses u.restore */ + BT_SEEK_CUR, + BT_SEEK_BEGIN, + BT_SEEK_END, + } type; + union { + uint64_t seek_time; + struct babeltrace_saved_pos *restore; + } u; +}; + +/* + * babeltrace_iter_create - Allocate a trace collection iterator. + * + * begin_pos and end_pos are optional parameters to specify the position + * at which the trace collection should be seeked upon iterator + * creation, and the position at which iteration will start returning + * "EOF". + * + * By default, if begin_pos is NULL, a BT_SEEK_CUR is performed at + * creation. By default, if end_pos is NULL, a BT_SEEK_END (end of + * trace) is the EOF criterion. + */ +struct babeltrace_iter *babeltrace_iter_create(struct bt_context *ctx, + struct trace_collection_pos *begin_pos, + struct trace_collection_pos *end_pos); + +/* + * babeltrace_iter_destroy - Free a trace collection iterator. + */ +void babeltrace_iter_destroy(struct babeltrace_iter *iter); + +/* + * babeltrace_iter_next: Move trace collection position to the next event. + * + * Returns 0 on success, a negative value on error + */ +int babeltrace_iter_next(struct babeltrace_iter *iter); + +/* + * babeltrace_iter_save_pos - Save the current trace collection position. + * + * The position returned by this function needs to be freed by + * babeltrace_iter_free_pos after use. + */ +struct trace_collection_pos * + babeltrace_iter_save_pos(struct babeltrace_iter *iter); + +/* + * babeltrace_iter_free_pos - Free the position. + */ +void babeltrace_iter_free_pos(struct trace_collection_pos *pos); + +/* + * babeltrace_iter_seek: seek iterator to given position. + * + * Return EOF if position is after the last event of the trace collection. + * Return other negative value for other errors. + * Return 0 for success. + */ +int babeltrace_iter_seek(struct babeltrace_iter *iter, + const struct trace_collection_pos *pos); + +/* + * babeltrace_iter_read_event: Read the iterator's current event data. + * + * @iter: trace collection iterator (input) + * @stream: stream containing event at current position (output) + * @event: current event (output) + * Return 0 on success, negative error value on error. + */ +int babeltrace_iter_read_event(struct babeltrace_iter *iter, + struct ctf_stream **stream, + struct ctf_stream_event **event); + +#endif /* _BABELTRACE_ITERATOR_H */ diff --git a/lib/iterator.c b/lib/iterator.c index 82cd4297..f8232ede 100644 --- a/lib/iterator.c +++ b/lib/iterator.c @@ -24,6 +24,7 @@ #include #include #include +#include #include struct stream_saved_pos { -- 2.34.1