use realpath to get the absolute pathname, fixes some forgotten cases, especially...
[lttv.git] / ltt / branches / poly / include / ltt / event.h
index b8ffea10ebe669aaefe1375fbde329a1239fcd96..4cee97133a0106767817540f0b8791657c6c83e5 100644 (file)
@@ -1,3 +1,21 @@
+/* This file is part of the Linux Trace Toolkit trace reading library
+ * Copyright (C) 2003-2004 Michel Dagenais
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License Version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
 #ifndef EVENT_H
 #define EVENT_H
 
@@ -34,6 +52,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 +81,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 +93,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. */
 
This page took 0.024023 seconds and 4 git commands to generate.