Bug #64

Properly separate libctf and libbabeltrace

Added by Mathieu Desnoyers over 8 years ago. Updated over 8 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:


Right now, the "libbabeltrace" and "libctf" parts are one big inter-dependant blob.

Ideally we should separate both of those in distinct libraries, each with their own public API. (.h's and whatnot)
libbabeltrace will probably depend on libctf, since it uses it as IR, but the dependency would be one-way.

This would allow applications to implement CTF parsing without having to import the babeltrace-specific libraries.

Moreover, it will allow LTTngTop to use libbabeltrace, which it cannot do it its current state because of missing open with mmap support.

Related issues

Has duplicate Babeltrace - Feature #56: Properly separate libbabeltrace and libctfInvalid02/16/2012


Updated by Mathieu Desnoyers over 8 years ago

  • Status changed from New to Resolved

Fixed by the following commits (in reverse order):

0d4c669 Fix open_mmap_trace missing support
2f5d314 fix: context.h add missing documentation for packet_seek parameter
5a23202 Cleanup iterator.h
0ba1c5f Fix callback.h documentation
eef72c7 Cleanup: babeltrace.h does not need to include ctf/events.h
634d474 API fix: Move callbacks to CTF plugin
2f851ed Removed unneeded ctf_* forward declarations from babeltrace.h
50cb52a Remove unneeded forward declarations (ctf-specific) from iterator.h
e419579 fix: move read event from iterator to event.h
5c5facc Fix: ctf specific events.c needs to be within CTF plugin
20d0dcf API fix: packet_seek should take an index rather than offset
613f532 Fix API: allow packet_seek override
e1d01c3 Fix: add lib missing includes
2715de3 Fix: packet_seek is local to plugins, but can be overridden
06789ff Fix API: rename unclear move_pos_slow to packet_seek
282e195 Fix: Check for unknown format
d6425aa Fix: do not use ctf-specific struct in format.h
aacd0c6 fix : callback type, doc and links to libbabeltrace
a91196c Fix : callback chain len

Also available in: Atom PDF