+typedef struct _TimeInterval{
+ LttTime start_time;
+ LttTime end_time;
+} 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,
+ alignment, floating point format and calling conventions. For a
+ packed binary trace, endianess and size matter, assuming that the
+ floating point format is standard (and is seldom used anyway). */
+
+typedef enum _LttArchSize
+{ LTT_LP32, LTT_ILP32, LTT_LP64, LTT_ILP64, LTT_UNKNOWN
+} LttArchSize;
+
+
+typedef enum _LttArchEndian
+{ LTT_LITTLE_ENDIAN, LTT_BIG_ENDIAN
+} LttArchEndian;
+
+typedef enum _LttTypeEnum
+{ LTT_INT_FIXED,
+ LTT_UINT_FIXED,
+ LTT_POINTER,
+ LTT_CHAR,
+ LTT_UCHAR,
+ LTT_SHORT,
+ LTT_USHORT,
+ LTT_INT,
+ LTT_UINT,
+ LTT_LONG,
+ LTT_ULONG,
+ LTT_SIZE_T,
+ LTT_SSIZE_T,
+ LTT_OFF_T,
+ LTT_FLOAT,
+ LTT_STRING,
+ LTT_ENUM,
+ LTT_ARRAY,
+ LTT_SEQUENCE,
+ LTT_STRUCT,
+ LTT_UNION,
+ LTT_NONE
+} LttTypeEnum;
+
+
+/* Architecture types */
+#define LTT_ARCH_TYPE_I386 1
+#define LTT_ARCH_TYPE_PPC 2
+#define LTT_ARCH_TYPE_SH 3
+#define LTT_ARCH_TYPE_S390 4
+#define LTT_ARCH_TYPE_MIPS 5
+#define LTT_ARCH_TYPE_ARM 6
+#define LTT_ARCH_TYPE_PPC64 7
+#define LTT_ARCH_TYPE_X86_64 8
+#define LTT_ARCH_TYPE_C2 9
+#define LTT_ARCH_TYPE_POWERPC 10
+#define LTT_ARCH_TYPE_X86 11
+
+/* Standard definitions for variants */
+#define LTT_ARCH_VARIANT_NONE 0 /* Main architecture implementation */
+
+
+
+#endif // LTT_H