update scripts
[lttv.git] / ltt-usertrace / ltt / ltt-usertrace-fast.h
index 4d7c56ba808872a18596e38e19c44a7636d14f31..b90a100629b43d221f156cb1ef061a1eaeaaad23 100644 (file)
 #ifdef LTT_TRACE_FAST
 
 #include <errno.h>
-#include <asm/atomic.h>
 #include <pthread.h>
 #include <stdint.h>
 #include <syscall.h>
-#include <asm/timex.h>
 #include <semaphore.h>
 #include <signal.h>
 
 #include <ltt/ltt-facility-id-user_generic.h>
-#include <ltt/ltt-generic.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 #ifndef        LTT_N_SUBBUFS
 #define LTT_N_SUBBUFS 2
@@ -58,8 +59,6 @@
 #define atomic_cmpxchg(v, old, new) ((int)cmpxchg(&((v)->counter), old, new))
 #endif //atomic_cmpxchg
 
-typedef unsigned int ltt_facility_t;
-       
 struct ltt_trace_header {
        uint32_t                                magic_number;
        uint32_t                                arch_type;
@@ -353,7 +352,7 @@ static inline void * __attribute__((no_instrument_function)) ltt_reserve_slot(
                                                                                                                        struct ltt_trace_info *trace,
                                                                                                                        struct ltt_buf *ltt_buf,
                                                                                                                        unsigned int data_size,
-                                                                                                                       unsigned int *slot_size,
+                                                                                                                       size_t *slot_size,
                                                                                                                        uint64_t *tsc,
                                                                                                                        size_t *before_hdr_pad,
                                                                                                                        size_t *after_hdr_pad,
@@ -479,7 +478,7 @@ static inline void * __attribute__((no_instrument_function)) ltt_reserve_slot(
                         index in the buffer being the one which will win this loop. */
                /* If the buffer is not in overwrite mode, pushing the reader only
                         happen if a sub-buffer is corrupted */
-               if((SUBBUF_TRUNC(offset_end, ltt_buf) 
+               if((SUBBUF_TRUNC(offset_end-1, ltt_buf) 
                                        - SUBBUF_TRUNC(consumed_old, ltt_buf)) 
                                                        >= ltt_buf->alloc_size)
                        consumed_new = SUBBUF_ALIGN(consumed_old, ltt_buf);
@@ -627,7 +626,10 @@ static inline void __attribute__((no_instrument_function)) ltt_commit_slot(
                ltt_deliver_callback(ltt_buf, SUBBUF_INDEX(offset_begin, ltt_buf), NULL);
        }
 }
-       
+
+#ifdef __cplusplus
+} /* end of extern "C" */
+#endif
 
 #endif //LTT_TRACE_FAST
 #endif //LTT_TRACE
This page took 0.024495 seconds and 4 git commands to generate.