Disable use of SEEK_LAST until it is integrated in babeltrace
[lttv.git] / ltt / ltt-private.h
index 797c57ca183e1c8b403ccd2ccc08115255b26843..593ce4413b44cf6e98ed930275a208f0711a95bf 100644 (file)
@@ -66,7 +66,7 @@ typedef guint32 uint32_t;
 typedef guint64 uint64_t;
 
 /* Subbuffer header */
-struct ltt_subbuffer_header_2_3 {
+struct ltt_subbuffer_header_2_6 {
        uint64_t cycle_count_begin;     /* Cycle count at subbuffer start */
        uint64_t cycle_count_end;       /* Cycle count at subbuffer end */
        uint32_t magic_number;          /*
@@ -84,8 +84,8 @@ struct ltt_subbuffer_header_2_3 {
                                         * used all along the trace.
                                         */
        uint32_t freq_scale;            /* Frequency scaling (divide freq) */
-       uint32_t lost_size;             /* Size unused at end of subbuffer */
-       uint32_t buf_size;              /* Size of this subbuffer */
+       uint32_t data_size;             /* Size of data in subbuffer */
+       uint32_t sb_size;               /* Subbuffer size (page aligned) */
        uint32_t events_lost;           /*
                                         * Events lost in this subbuffer since
                                         * the beginning of the trace.
@@ -99,7 +99,7 @@ struct ltt_subbuffer_header_2_3 {
        char header_end[0];             /* End of header */
 };
 
-typedef struct ltt_subbuffer_header_2_3 ltt_subbuffer_header_t;
+typedef struct ltt_subbuffer_header_2_6 ltt_subbuffer_header_t;
 
 /*
  * Return header size without padding after the structure. Don't use packed
@@ -115,7 +115,10 @@ enum field_status { FIELD_UNKNOWN, FIELD_VARIABLE, FIELD_FIXED };
 
 typedef struct _LttBuffer {
   void * head;
+  guint64 offset;                /* Offset of the current subbuffer */
+  guint32 size;                  /* The size of the current subbuffer */
   unsigned int index;
+  uint32_t data_size;            /* Size of data in the subbuffer */
 
   struct {
     LttTime                 timestamp;
@@ -127,7 +130,6 @@ typedef struct _LttBuffer {
     uint64_t                cycle_count;
     uint64_t                freq; /* Frequency in khz */
   } end;
-  uint32_t                lost_size; /* Size unused at the end of the buffer */
 
   /* Timekeeping */
   uint64_t                tsc;       /* Current timestamp counter */
@@ -162,12 +164,13 @@ struct LttTracefile {
   uint32_t  events_lost;
   uint32_t  subbuf_corrupt;
 
+  GArray *buf_index;                 /* index mapping buffer index to offset */
+       uint64_t end_timestamp; /* Last timestamp of file */
   /* Current event */
   LttEvent event;                    //Event currently accessible in the trace
 
   /* Current block */
   LttBuffer buffer;                  //current buffer
-  guint32 buf_size;                  /* The size of blocks */
 };
 
 /* The characteristics of the system on which the trace was obtained
@@ -191,11 +194,15 @@ struct LttSystemDescription {
   LttTime trace_end;
 };
 
-/* Calculate the offset needed to align the type.
- * If alignment is 0, alignment is disactivated.
+/*
+ * Calculate the offset needed to align the type.
+ * If alignment is 0, alignment is deactivated.
  * else, the function returns the offset needed to
+ * align align_drift on the alignment value.
+ *
  * align align_drift on the alignment value (should be
- * the size of the architecture). */
+ * the size of the architecture).
+ */
 static inline unsigned int ltt_align(size_t align_drift,
           size_t size_of_type,
           size_t alignment)
This page took 0.022828 seconds and 4 git commands to generate.