non-alignment fix
[lttv.git] / ltt / branches / poly / ltt / ltt-private.h
index 7327ca79291d861a291ce8b509c35b8238d885d7..89c5e6ce297dc6f9b1e4b9ce4cfaf87d2ad78f6e 100644 (file)
@@ -179,9 +179,9 @@ struct ltt_trace_header_0_3 {
        uint8_t                          has_tsc;
 } LTT_PACKED_STRUCT;
 
-/* For version 0.4 */
+/* For version 0.6 */
 
-struct ltt_trace_header_0_4 {
+struct ltt_trace_header_0_6 {
   uint32_t        magic_number;
   uint32_t        arch_type;
   uint32_t        arch_variant;
@@ -192,22 +192,28 @@ struct ltt_trace_header_0_4 {
   uint8_t         flight_recorder;
   uint8_t         has_heartbeat;
   uint8_t         has_alignment;  /* Event header alignment */
-       uint8_t         has_tsc;
+  uint8_t         has_tsc;
   uint64_t        start_freq;
   uint64_t        start_tsc;
   uint64_t        start_monotonic;
-  struct timeval       start_time;
+  //struct timespec start_time; // not portable
+  uint64_t        start_time_sec;
+  uint64_t        start_time_usec;
 } LTT_PACKED_STRUCT;
 
 
 struct ltt_block_start_header {
   struct { 
-    struct timeval          timestamp;
+    //struct timeval          timestamp;
+    uint64_t                timestamp_sec;
+    uint64_t                timestamp_usec;
     uint64_t                cycle_count;
     uint64_t                freq;
   } begin;
   struct {
-    struct timeval          timestamp;
+    //struct timeval          timestamp;
+    uint64_t                timestamp_sec;
+    uint64_t                timestamp_usec;
     uint64_t                cycle_count;
     uint64_t                freq;
   } end;
@@ -450,11 +456,11 @@ static inline unsigned int ltt_align(size_t align_drift,
                                                                                                                                                 size_t has_alignment)
 {
        size_t alignment = min(has_alignment, size_of_type);
-
+       
+       if(!has_alignement) return 0;
+       
        return ((alignment - align_drift) & (alignment-1));
 }
 
-off_t field_align(LttTracefile *tf, LttField *field, off_t offset);
-
 
 #endif /* LTT_PRIVATE_H */
This page took 0.023988 seconds and 4 git commands to generate.