X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Finclude%2Fltt%2Fevent.h;h=7c231ccc2312f28d960545120ea59bc2c57e3174;hb=a5dcde2f975b43a9c6069c4a346528588bf1f8c8;hp=b8ffea10ebe669aaefe1375fbde329a1239fcd96;hpb=290dfc8c6f0882260a7a1c39b87873016d678d0b;p=lttv.git diff --git a/ltt/branches/poly/include/ltt/event.h b/ltt/branches/poly/include/ltt/event.h index b8ffea10..7c231ccc 100644 --- a/ltt/branches/poly/include/ltt/event.h +++ b/ltt/branches/poly/include/ltt/event.h @@ -34,6 +34,24 @@ LttTime ltt_event_time(LttEvent *e); LttCycleCount ltt_event_cycle_count(LttEvent *e); +/* Obtain the position of the event within the tracefile. This + is used to seek back to this position later or to seek to another + position, computed relative to this position. The event position + structure is opaque and contains several fields, only two + of which are user accessible: block number and event index + within the block. */ + +void ltt_event_position(LttEvent *e, LttEventPosition *ep); + +LttEventPosition * ltt_event_position_new(); + +void ltt_event_position_get(LttEventPosition *ep, + unsigned *block_number, unsigned *index_in_block, LttTracefile ** tf); + +void ltt_event_position_set(LttEventPosition *ep, + unsigned block_number, unsigned index_in_block); + + /* CPU id of the event */ unsigned ltt_event_cpu_id(LttEvent *e); @@ -45,9 +63,9 @@ unsigned ltt_event_cpu_id(LttEvent *e); void *ltt_event_data(LttEvent *e); -/* The number of elements in a sequence field is specific to each event. - This function returns the number of elements for an array or sequence - field in an event. */ +/* The number of elements in a sequence field is specific to each event + instance. This function returns the number of elements for an array or + sequence field in an event. */ unsigned ltt_event_field_element_number(LttEvent *e, LttField *f); @@ -57,6 +75,13 @@ unsigned ltt_event_field_element_number(LttEvent *e, LttField *f); void ltt_event_field_element_select(LttEvent *e, LttField *f, unsigned i); +/* A union is like a structure except that only a single member at a time + is present depending on the specific event instance. This function tells + the active member for a union field in an event. */ + +unsigned ltt_event_field_union_member(LttEvent *e, LttField *f); + + /* These functions extract data from an event after architecture specific conversions. */