From d6425aaf6026d168a695268c4aa7539956c0d0ca Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Fri, 17 Feb 2012 12:15:49 -0500 Subject: [PATCH] Fix: do not use ctf-specific struct in format.h Signed-off-by: Julien Desfossez Signed-off-by: Mathieu Desnoyers --- formats/bt-dummy/bt-dummy.c | 2 +- formats/ctf-text/ctf-text.c | 4 ++-- formats/ctf/ctf.c | 26 ++++++++++++++------------ include/babeltrace/ctf/types.h | 8 ++++---- include/babeltrace/format.h | 12 +++++++----- lib/iterator.c | 10 ++++++---- 6 files changed, 34 insertions(+), 28 deletions(-) diff --git a/formats/bt-dummy/bt-dummy.c b/formats/bt-dummy/bt-dummy.c index d7f75fb1..8bc6a9bb 100644 --- a/formats/bt-dummy/bt-dummy.c +++ b/formats/bt-dummy/bt-dummy.c @@ -40,7 +40,7 @@ int bt_dummy_write_event(struct stream_pos *ppos, static struct trace_descriptor *bt_dummy_open_trace(const char *path, int flags, - void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset, + void (*move_pos_slow)(struct stream_pos *pos, size_t offset, int whence), FILE *metadata_fp) { struct ctf_text_stream_pos *pos; diff --git a/formats/ctf-text/ctf-text.c b/formats/ctf-text/ctf-text.c index 3ad9dfc0..85644a6b 100644 --- a/formats/ctf-text/ctf-text.c +++ b/formats/ctf-text/ctf-text.c @@ -76,7 +76,7 @@ enum bt_loglevel { struct trace_descriptor *ctf_text_open_trace(const char *path, int flags, - void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset, + void (*move_pos_slow)(struct stream_pos *pos, size_t offset, int whence), FILE *metadata_fp); void ctf_text_close_trace(struct trace_descriptor *descriptor); @@ -459,7 +459,7 @@ error: struct trace_descriptor *ctf_text_open_trace(const char *path, int flags, - void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset, + void (*move_pos_slow)(struct stream_pos *pos, size_t offset, int whence), FILE *metadata_fp) { struct ctf_text_stream_pos *pos; diff --git a/formats/ctf/ctf.c b/formats/ctf/ctf.c index fd9f4960..8d617bcd 100644 --- a/formats/ctf/ctf.c +++ b/formats/ctf/ctf.c @@ -65,12 +65,12 @@ extern int yydebug; static struct trace_descriptor *ctf_open_trace(const char *path, int flags, - void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset, + void (*move_pos_slow)(struct stream_pos *pos, size_t offset, int whence), FILE *metadata_fp); static struct trace_descriptor *ctf_open_mmap_trace( struct mmap_stream_list *mmap_list, - void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset, int whence), + void (*move_pos_slow)(struct stream_pos *pos, size_t offset, int whence), FILE *metadata_fp); static @@ -411,7 +411,7 @@ void ctf_init_pos(struct ctf_stream_pos *pos, int fd, int open_flags) pos->parent.rw_table = write_dispatch_table; pos->parent.event_cb = ctf_write_event; if (fd >= 0) - ctf_move_pos_slow(pos, 0, SEEK_SET); /* position for write */ + ctf_move_pos_slow(&pos->parent, 0, SEEK_SET); /* position for write */ break; default: assert(0); @@ -436,8 +436,10 @@ void ctf_fini_pos(struct ctf_stream_pos *pos) (void) g_array_free(pos->packet_index, TRUE); } -void ctf_move_pos_slow(struct ctf_stream_pos *pos, size_t offset, int whence) +void ctf_move_pos_slow(struct stream_pos *stream_pos, size_t offset, int whence) { + struct ctf_stream_pos *pos = + container_of(stream_pos, struct ctf_stream_pos, parent); struct ctf_file_stream *file_stream = container_of(pos, struct ctf_file_stream, pos); int ret; @@ -768,7 +770,7 @@ int ctf_open_trace_metadata_stream_read(struct ctf_trace *td, FILE **fp, static int ctf_open_trace_metadata_read(struct ctf_trace *td, - void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset, + void (*move_pos_slow)(struct stream_pos *pos, size_t offset, int whence), FILE *metadata_fp) { struct ctf_scanner *scanner; @@ -1206,7 +1208,7 @@ int create_stream_packet_index(struct ctf_trace *td, } /* Move pos back to beginning of file */ - ctf_move_pos_slow(pos, 0, SEEK_SET); /* position for write */ + ctf_move_pos_slow(&pos->parent, 0, SEEK_SET); /* position for write */ return 0; } @@ -1241,7 +1243,7 @@ error: */ static int ctf_open_file_stream_read(struct ctf_trace *td, const char *path, int flags, - void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset, + void (*move_pos_slow)(struct stream_pos *pos, size_t offset, int whence)) { int ret; @@ -1292,7 +1294,7 @@ error: static int ctf_open_trace_read(struct ctf_trace *td, const char *path, int flags, - void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset, + void (*move_pos_slow)(struct stream_pos *pos, size_t offset, int whence), FILE *metadata_fp) { int ret; @@ -1375,7 +1377,7 @@ error: static struct trace_descriptor *ctf_open_trace(const char *path, int flags, - void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset, + void (*move_pos_slow)(struct stream_pos *pos, size_t offset, int whence), FILE *metadata_fp) { struct ctf_trace *td; @@ -1458,7 +1460,7 @@ end: static int ctf_open_mmap_stream_read(struct ctf_trace *td, struct mmap_stream *mmap_info, - void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset, + void (*move_pos_slow)(struct stream_pos *pos, size_t offset, int whence)) { int ret; @@ -1493,7 +1495,7 @@ error_def: int ctf_open_mmap_trace_read(struct ctf_trace *td, struct mmap_stream_list *mmap_list, - void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset, + void (*move_pos_slow)(struct stream_pos *pos, size_t offset, int whence), FILE *metadata_fp) { @@ -1526,7 +1528,7 @@ error: static struct trace_descriptor *ctf_open_mmap_trace( struct mmap_stream_list *mmap_list, - void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset, int whence), + void (*move_pos_slow)(struct stream_pos *pos, size_t offset, int whence), FILE *metadata_fp) { struct ctf_trace *td; diff --git a/include/babeltrace/ctf/types.h b/include/babeltrace/ctf/types.h index 9cbb3387..05a026e7 100644 --- a/include/babeltrace/ctf/types.h +++ b/include/babeltrace/ctf/types.h @@ -62,7 +62,7 @@ struct ctf_stream_pos { ssize_t offset; /* offset from base, in bits. EOF for end of file. */ ssize_t last_offset; /* offset before the last read_event */ size_t cur_index; /* current index in packet index */ - void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset, + void (*move_pos_slow)(struct stream_pos *pos, size_t offset, int whence); /* function called to switch packet */ int dummy; /* dummy position, for length calculation */ @@ -90,7 +90,7 @@ int ctf_array_write(struct stream_pos *pos, struct definition *definition); int ctf_sequence_read(struct stream_pos *pos, struct definition *definition); int ctf_sequence_write(struct stream_pos *pos, struct definition *definition); -void ctf_move_pos_slow(struct ctf_stream_pos *pos, size_t offset, int whence); +void ctf_move_pos_slow(struct stream_pos *pos, size_t offset, int whence); void ctf_init_pos(struct ctf_stream_pos *pos, int fd, int open_flags); void ctf_fini_pos(struct ctf_stream_pos *pos); @@ -118,7 +118,7 @@ void ctf_move_pos(struct ctf_stream_pos *pos, size_t bit_offset) && (unlikely(pos->offset + bit_offset >= pos->packet_size))) { printf_debug("ctf_move_pos_slow (before call): %zd\n", pos->offset); - ctf_move_pos_slow(pos, bit_offset, SEEK_CUR); + ctf_move_pos_slow(&pos->parent, bit_offset, SEEK_CUR); printf_debug("ctf_move_pos_slow (after call): %zd\n", pos->offset); return; @@ -194,7 +194,7 @@ void ctf_pos_get_event(struct ctf_stream_pos *pos) if (pos->offset == pos->content_size) { printf_debug("ctf_move_pos_slow (before call): %zd\n", pos->offset); - pos->move_pos_slow(pos, 0, SEEK_CUR); + pos->move_pos_slow(&pos->parent, 0, SEEK_CUR); printf_debug("ctf_move_pos_slow (after call): %zd\n", pos->offset); } diff --git a/include/babeltrace/format.h b/include/babeltrace/format.h index f680dfa7..d30db9c5 100644 --- a/include/babeltrace/format.h +++ b/include/babeltrace/format.h @@ -28,7 +28,7 @@ typedef int bt_intern_str; /* forward declaration */ -struct ctf_stream_pos; +struct stream_pos; /* Parent trace descriptor */ struct trace_descriptor { @@ -47,12 +47,14 @@ struct format { bt_intern_str name; struct trace_descriptor *(*open_trace)(const char *path, int flags, - void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset, - int whence), FILE *metadata_fp); + void (*move_pos_slow)(struct stream_pos *pos, + size_t offset, int whence), + FILE *metadata_fp); struct trace_descriptor *(*open_mmap_trace)( struct mmap_stream_list *mmap_list, - void (*move_pos_slow)(struct ctf_stream_pos *pos, size_t offset, - int whence), FILE *metadata_fp); + void (*move_pos_slow)(struct stream_pos *pos, + size_t offset, int whence), + FILE *metadata_fp); void (*close_trace)(struct trace_descriptor *descriptor); }; diff --git a/lib/iterator.c b/lib/iterator.c index 16b8f930..d595e761 100644 --- a/lib/iterator.c +++ b/lib/iterator.c @@ -116,7 +116,8 @@ static int seek_file_stream_by_timestamp(struct ctf_file_stream *cfs, continue; stream_pos->cur_index = i; - stream_pos->move_pos_slow(stream_pos, index->offset, SEEK_SET); + stream_pos->move_pos_slow(&stream_pos->parent, + index->offset, SEEK_SET); while (cfs->parent.timestamp < timestamp) { ret = stream_read_event(cfs); if (ret < 0) @@ -203,8 +204,8 @@ int bt_iter_set_pos(struct bt_iter *iter, const struct bt_iter_pos *iter_pos) saved_pos->cur_index); stream_pos->cur_index = saved_pos->cur_index; - stream_pos->move_pos_slow(stream_pos, index->offset, - SEEK_SET); + stream_pos->move_pos_slow(&stream_pos->parent, + index->offset, SEEK_SET); /* * the timestamp needs to be restored after @@ -386,7 +387,8 @@ static int babeltrace_filestream_seek(struct ctf_file_stream *file_stream, */ break; case BT_SEEK_BEGIN: - file_stream->pos.move_pos_slow(&file_stream->pos, 0, SEEK_SET); + file_stream->pos.move_pos_slow(&file_stream->pos.parent, + 0, SEEK_SET); ret = stream_read_event(file_stream); break; case BT_SEEK_TIME: -- 2.34.1