Add support for unions in events.
authordagenais <dagenais@04897980-b3bd-0310-b5e0-8ef037075253>
Mon, 30 Jun 2003 21:01:42 +0000 (21:01 +0000)
committerdagenais <dagenais@04897980-b3bd-0310-b5e0-8ef037075253>
Mon, 30 Jun 2003 21:01:42 +0000 (21:01 +0000)
git-svn-id: http://ltt.polymtl.ca/svn@99 04897980-b3bd-0310-b5e0-8ef037075253

ltt/branches/poly/include/ltt/event.h
ltt/branches/poly/include/ltt/type.h

index b8ffea10ebe669aaefe1375fbde329a1239fcd96..96c71ce7b49865cbd1d1599eb4c7cddce1fc2f94 100644 (file)
@@ -45,9 +45,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 +57,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. */
 
index acbd7d6754baf595a8f584a00dd61d5879ab55fd..dd53c09656ab205914eecf827afb8d323ceb75ea 100644 (file)
@@ -8,7 +8,7 @@
 
 typedef enum _LttTypeEnum 
 { LTT_INT, LTT_UINT, LTT_FLOAT, LTT_STRING, LTT_ENUM, LTT_ARRAY, 
-  LTT_SEQUENCE, LTT_STRUCT
+  LTT_SEQUENCE, LTT_STRUCT, LTT_UNION
 } LttTypeEnum;
 
 
@@ -54,7 +54,7 @@ LttType *ltt_type_element_type(LttType *t);
 unsigned ltt_type_element_number(LttType *t);
 
 
-/* The number of data members for structures. */
+/* The number of data members for structures and unions. */
 
 unsigned ltt_type_member_number(LttType *t);
 
This page took 0.026234 seconds and 4 git commands to generate.