X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=include%2Fbabeltrace%2Fctf%2Ftypes.h;h=94231555c10dad3763a785b837040d08f410d52e;hp=43afaef78e182277e70c4edbe14c517333765471;hb=474150688a81e2bc487aaa9932af6a0585e5fb79;hpb=f7bbd50246fde81a4ef90fa6bd78e441fccdbb40 diff --git a/include/babeltrace/ctf/types.h b/include/babeltrace/ctf/types.h index 43afaef7..94231555 100644 --- a/include/babeltrace/ctf/types.h +++ b/include/babeltrace/ctf/types.h @@ -59,6 +59,7 @@ struct ctf_stream_pos { /* Current position */ off_t mmap_offset; /* mmap offset in the file, in bytes */ + off_t mmap_base_offset; /* offset of start of packet in mmap, in bytes */ size_t packet_size; /* current packet size, in bits */ size_t content_size; /* current content size, in bits */ uint32_t *content_size_loc; /* pointer to current content size */ @@ -148,7 +149,8 @@ char *ctf_get_pos_addr(struct ctf_stream_pos *pos) { /* Only makes sense to get the address after aligning on CHAR_BIT */ assert(!(pos->offset % CHAR_BIT)); - return mmap_align_addr(pos->base_mma) + (pos->offset / CHAR_BIT); + return mmap_align_addr(pos->base_mma) + + pos->mmap_base_offset + (pos->offset / CHAR_BIT); } static inline