X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Finclude%2Fltt%2Fltt.h;h=ed86a5db8c394e5b5e89a535116ea56fbad546f5;hb=a5dcde2f975b43a9c6069c4a346528588bf1f8c8;hp=d177e946d331e6b61c552efd230eb0f8e06df912;hpb=5fb21f61ee24f176205d0bd798564d8137e2ce60;p=lttv.git diff --git a/ltt/branches/poly/include/ltt/ltt.h b/ltt/branches/poly/include/ltt/ltt.h index d177e946..ed86a5db 100644 --- a/ltt/branches/poly/include/ltt/ltt.h +++ b/ltt/branches/poly/include/ltt/ltt.h @@ -1,7 +1,8 @@ #ifndef LTT_H #define LTT_H -#include +#include +#include /* A trace is associated with a tracing session run on a single, possibly multi-cpu, system. It is defined as a pathname to a directory containing @@ -70,17 +71,25 @@ typedef unsigned long LttChecksum; /* Events are usually stored with the easily obtained CPU clock cycle count, - ltt_cycle_count. This can be converted to the real time value, ltt_time, + ltt_cycle_count. This can be converted to the real time value, LttTime, using linear interpolation between regularly sampled values (e.g. a few times per second) of the real time clock with their corresponding cycle count values. */ -typedef struct _LttTime { - unsigned long tv_sec; - unsigned long tv_nsec; -} LttTime; -typedef uint64_t LttCycleCount; +typedef struct _TimeInterval{ + LttTime startTime; + LttTime endTime; +} TimeInterval; + + +typedef guint64 LttCycleCount; + + +/* Event positions are used to seek within a tracefile based on + the block number and event position within the block. */ + +typedef struct _LttEventPosition LttEventPosition; /* Differences between architectures include word sizes, endianess, @@ -97,36 +106,10 @@ typedef enum _LttArchEndian { LTT_LITTLE_ENDIAN, LTT_BIG_ENDIAN } LttArchEndian; -/* Time operation macros for LttTime (struct timespec) */ -/* (T3 = T2 - T1) */ -#define TimeSub(T3, T2, T1) \ -do \ -{\ - (T3).tv_sec = (T2).tv_sec - (T1).tv_sec; \ - (T3).tv_nsec = (T2).tv_nsec - (T1).tv_nsec; \ - if((T3).tv_nsec < 0)\ - {\ - (T3).tv_sec--;\ - (T3).tv_nsec += 1000000000;\ - }\ -} while(0) - -/* (T3 = T2 + T1) */ -#define TimeAdd(T3, T2, T1) \ -do \ -{\ - (T3).tv_sec = (T2).tv_sec + (T1).tv_sec; \ - (T3).tv_nsec = (T2).tv_nsec + (T1).tv_nsec; \ - if((T3).tv_nsec >= 1000000000)\ - {\ - (T3).tv_sec += (T3).tv_nsec / 1000000000;\ - (T3).tv_nsec = (T3).tv_nsec % 1000000000;\ - }\ -} while(0) - - - -#include +typedef enum _LttTypeEnum +{ LTT_INT, LTT_UINT, LTT_FLOAT, LTT_STRING, LTT_ENUM, LTT_ARRAY, + LTT_SEQUENCE, LTT_STRUCT, LTT_UNION +} LttTypeEnum; #endif // LTT_H