X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Finclude%2Fltt%2Fevent.h;h=96c71ce7b49865cbd1d1599eb4c7cddce1fc2f94;hb=e969fd8ead1ce0d34c839d8598a24f3af768d42e;hp=5570ec46964e83c26b5ed3631768ac9c21134b06;hpb=66f52ff0ba9c55af63cb0b30d94a57fb1030a292;p=lttv.git diff --git a/ltt/branches/poly/include/ltt/event.h b/ltt/branches/poly/include/ltt/event.h index 5570ec46..96c71ce7 100644 --- a/ltt/branches/poly/include/ltt/event.h +++ b/ltt/branches/poly/include/ltt/event.h @@ -1,3 +1,7 @@ +#ifndef EVENT_H +#define EVENT_H + +#include /* Events and their content, including the raw data, are only valid until reading another event from the same tracefile. @@ -5,69 +9,80 @@ the memory associated with an event may be reused at each read. */ -/* Obtain the tracefile unique integer id associated with the type of +/* Obtain the trace unique integer id associated with the type of this event */ -unsigned ltt_event_eventtype_id(ltt_event *e); +unsigned ltt_event_eventtype_id(LttEvent *e); /* Facility and type for the event */ -ltt_facility *ltt_event_facility(ltt_event *e); +LttFacility *ltt_event_facility(LttEvent *e); -ltt_eventtype *ltt_event_eventtype(ltt_event *e); +LttEventType *ltt_event_eventtype(LttEvent *e); -ltt_field *ltt_event_field(ltt_event *e); -/* Time and cycle count for the event */ +/* Root field for the event */ + +LttField *ltt_event_field(LttEvent *e); -ltt_time ltt_event_time(ltt_event *e); -ltt_cycle_count ltt_event_cycle_count(ltt_event *e); +/* Time and cycle count for the event */ + +LttTime ltt_event_time(LttEvent *e); +LttCycleCount ltt_event_cycle_count(LttEvent *e); -/* CPU id and system name of the event */ -unsigned ltt_event_cpu_id(ltt_event *e); +/* CPU id of the event */ -char *ltt_event_system_name(ltt_event *e); +unsigned ltt_event_cpu_id(LttEvent *e); /* Pointer to the raw data for the event. This should not be used directly unless prepared to do all the architecture specific conversions. */ -void *ltt_event_data(ltt_event *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(ltt_event *e, ltt_field *f); +unsigned ltt_event_field_element_number(LttEvent *e, LttField *f); /* Set the currently selected element for a sequence or array field. */ -int ltt_event_field_element_select(ltt_event *e, ltt_field *f, unsigned i); +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. */ -unsigned ltt_event_get_unsigned(ltt_event *e, ltt_field *f); +unsigned ltt_event_get_unsigned(LttEvent *e, LttField *f); -int ltt_event_get_int(ltt_event *e, ltt_field *f); +int ltt_event_get_int(LttEvent *e, LttField *f); -unsigned long ltt_event_get_long_unsigned(ltt_event *e, ltt_field *f); +unsigned long ltt_event_get_long_unsigned(LttEvent *e, LttField *f); -long int ltt_event_get_long_int(ltt_event *e, ltt_field *f); +long int ltt_event_get_long_int(LttEvent *e, LttField *f); -float ltt_event_get_float(ltt_event *e, ltt_field *f); +float ltt_event_get_float(LttEvent *e, LttField *f); -double ltt_event_get_double(ltt_event *e, ltt_field *f); +double ltt_event_get_double(LttEvent *e, LttField *f); /* The string obtained is only valid until the next read from the same tracefile. */ -char *ltt_event_get_string(ltt_event *e, ltt_field *f); +char *ltt_event_get_string(LttEvent *e, LttField *f); + +#endif // EVENT_H