move ltt-private.h from public directroy into private directroy
[lttv.git] / ltt / branches / poly / include / ltt / event.h
index d525cbb552f0b148e903659fcf5b96aedb339241..7c231ccc2312f28d960545120ea59bc2c57e3174 100644 (file)
@@ -9,71 +9,98 @@
    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);
+
+
+/* Root field for the event */
+
+LttField *ltt_event_field(LttEvent *e);
 
-ltt_field *ltt_event_field(ltt_event *e);
 
 /* Time and cycle count for the event */
 
-ltt_time ltt_event_time(ltt_event *e);
+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. */
 
-ltt_cycle_count ltt_event_cycle_count(ltt_event *e);
+void ltt_event_position(LttEvent *e, LttEventPosition *ep);
 
+LttEventPosition * ltt_event_position_new();
 
-/* CPU id and system name of the event */
+void ltt_event_position_get(LttEventPosition *ep,
+    unsigned *block_number, unsigned *index_in_block, LttTracefile ** tf);
 
-unsigned ltt_event_cpu_id(ltt_event *e);
+void ltt_event_position_set(LttEventPosition *ep,
+    unsigned block_number, unsigned index_in_block);
 
-char *ltt_event_system_name(ltt_event *e);
+
+/* CPU id of the event */
+
+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
This page took 0.026505 seconds and 4 git commands to generate.