+/* 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 LTT_H
#define LTT_H
-#include <ltt/LTTTypes.h>
+#include <ltt/time.h>
+#include <glib.h>
/* 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
typedef struct _LttEvent LttEvent;
+typedef struct _LttSystemDescription LttSystemDescription;
/* Checksums are used to differentiate facilities which have the same name
but differ. */
/* 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 timespec 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,
{ LTT_LITTLE_ENDIAN, LTT_BIG_ENDIAN
} LttArchEndian;
-
-
-#include <ltt/ltt-private.h>
+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