X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Finclude%2Fltt%2Fltt.h;h=74cbacebacbf6d3686e0117e179b421cb6d0473a;hb=b9f095dbe5986f50ca4665d976735bbb8c639c12;hp=1da397f365d7f8e816fa87a363fd242008139764;hpb=1762589d19573fdfef4dc0fe7303b7e9f42b11d6;p=lttv.git diff --git a/ltt/branches/poly/include/ltt/ltt.h b/ltt/branches/poly/include/ltt/ltt.h index 1da397f3..74cbaceb 100644 --- a/ltt/branches/poly/include/ltt/ltt.h +++ b/ltt/branches/poly/include/ltt/ltt.h @@ -82,6 +82,13 @@ typedef struct _LttTime { typedef uint64_t LttCycleCount; +#define NANSECOND_CONST 1000000000 + +/* 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 @@ -103,11 +110,14 @@ typedef enum _LttArchEndian do \ {\ (T3).tv_sec = (T2).tv_sec - (T1).tv_sec; \ - (T3).tv_nsec = (T2).tv_nsec - (T1).tv_nsec; \ - if((T3).tv_nsec < 0)\ + if((T2).tv_nsec < (T1).tv_nsec)\ {\ (T3).tv_sec--;\ - (T3).tv_nsec += 1000000000;\ + (T3).tv_nsec = NANSECOND_CONST - (T1).tv_nsec + (T2).tv_nsec;\ + }\ + else\ + {\ + (T3).tv_nsec = (T2).tv_nsec - (T1).tv_nsec;\ }\ } while(0) @@ -117,10 +127,10 @@ do \ {\ (T3).tv_sec = (T2).tv_sec + (T1).tv_sec; \ (T3).tv_nsec = (T2).tv_nsec + (T1).tv_nsec; \ - if((T3).tv_nsec >= 1000000000)\ + if((T3).tv_nsec >= NANSECOND_CONST)\ {\ - (T3).tv_sec += (T3).tv_nsec / 1000000000;\ - (T3).tv_nsec = (T3).tv_nsec % 1000000000;\ + (T3).tv_sec += (T3).tv_nsec / NANSECOND_CONST;\ + (T3).tv_nsec = (T3).tv_nsec % NANSECOND_CONST;\ }\ } while(0) @@ -133,10 +143,10 @@ do \ {\ (T2).tv_sec = (T1).tv_sec * (FLOAT); \ (T2).tv_nsec = (T1).tv_nsec * (FLOAT); \ - if((T2).tv_nsec >= 1000000000)\ + if((T2).tv_nsec >= NANSECOND_CONST)\ {\ - (T2).tv_sec += (T2).tv_nsec / 1000000000;\ - (T2).tv_nsec = (T2).tv_nsec % 1000000000;\ + (T2).tv_sec += (T2).tv_nsec / NANSECOND_CONST;\ + (T2).tv_nsec = (T2).tv_nsec % NANSECOND_CONST;\ }\ } while(0)