X-Git-Url: https://git.lttng.org/?p=lttv.git;a=blobdiff_plain;f=ltt%2Fevent.h;fp=ltt%2Fevent.h;h=0000000000000000000000000000000000000000;hp=ab73ed925c05a274d6fe99f84a20626514b46962;hb=1aab1adee7a14dbb1ae2b296380e1861a91b54e0;hpb=7c3c01d14690eee4d3c262f300a888680ae7a053 diff --git a/ltt/event.h b/ltt/event.h deleted file mode 100644 index ab73ed92..00000000 --- a/ltt/event.h +++ /dev/null @@ -1,122 +0,0 @@ -#ifndef _LTT_EVENT_H -#define _LTT_EVENT_H - -#include -#include -#include -#include -#include -#include - -struct marker_field; - -struct LttField { - int offset; - int size; -}; - -/* - * Structure LttEvent and LttEventPosition must begin with the _exact_ same - * fields in the exact same order. LttEventPosition is a parent of LttEvent. - */ -struct LttEvent { - /* Begin of LttEventPosition fields */ - LttTracefile *tracefile; - unsigned int block; - unsigned int offset; - - /* Timekeeping */ - uint64_t tsc; /* Current timestamp counter */ - - /* End of LttEventPosition fields */ - guint32 timestamp; /* truncated timestamp */ - - guint16 event_id; - - LttTime event_time; - - void *data; /* event data */ - GArray *fields_offsets; /* current field offsets table */ - guint data_size; - guint event_size; /* event_size field of the header : - used to verify data_size from marker. */ - int count; /* the number of overflow of cycle count */ - gint64 overflow_nsec; /* precalculated nsec for overflows */ -}; - -struct LttEventPosition { - LttTracefile *tracefile; - unsigned int block; - unsigned int offset; - - /* Timekeeping */ - uint64_t tsc; /* Current timestamp counter */ -}; - -static inline guint16 ltt_event_id(const struct LttEvent *event) -{ - return event->event_id; -} - -static inline LttTime ltt_event_time(const struct LttEvent *event) -{ - return event->event_time; -} - -/* 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(const LttEvent *e, LttEventPosition *ep); - -LttEventPosition * ltt_event_position_new(); - -void ltt_event_position_get(LttEventPosition *ep, LttTracefile **tf, - guint *block, guint *offset, guint64 *tsc); - -void ltt_event_position_set(LttEventPosition *ep, LttTracefile *tf, - guint block, guint offset, guint64 tsc); - -gint ltt_event_position_compare(const LttEventPosition *ep1, - const LttEventPosition *ep2); - -void ltt_event_position_copy(LttEventPosition *dest, - const LttEventPosition *src); - -LttTracefile *ltt_event_position_tracefile(LttEventPosition *ep); - -/* These functions extract data from an event after architecture specific - * conversions. */ - -guint32 ltt_event_get_unsigned(LttEvent *e, struct marker_field *f); - -gint32 ltt_event_get_int(LttEvent *e, struct marker_field *f); - -guint64 ltt_event_get_long_unsigned(LttEvent *e, struct marker_field *f); - -gint64 ltt_event_get_long_int(LttEvent *e, struct marker_field *f); - -float ltt_event_get_float(LttEvent *e, struct marker_field *f); - -double ltt_event_get_double(LttEvent *e, struct marker_field *f); - - -/* The string obtained is only valid until the next read from - * the same tracefile. */ - -gchar *ltt_event_get_string(LttEvent *e, struct marker_field *f); - -static inline LttCycleCount ltt_event_cycle_count(const LttEvent *e) -{ - return e->tsc; -} - -static inline struct LttField *ltt_event_field(const LttEvent *e, int index) -{ - return &g_array_index(e->fields_offsets, struct LttField, index); -} - -#endif //_LTT_EVENT_H