change inline to __inline__ for better compatibility
[ust.git] / libust / tracer.h
index 9275fd0d90deaed14d1d620232b45ce2bc3e030c..b0767543eefbbcd8095a3555d4ae03afc5263a5d 100644 (file)
 #include <sys/types.h>
 #include <stdarg.h>
 //#include "list.h"
-#include "kernelcompat.h"
-#include "buffer.h"
-#include "relay.h"
+#include <ust/kernelcompat.h>
+#include "buffers.h"
 #include "channels.h"
 #include "tracercore.h"
 #include <ust/marker.h>
+#include <ust/probe.h>
 
 /* Number of bytes to log with a read/write event */
 #define LTT_LOG_RW_SIZE                        32L
@@ -56,31 +56,17 @@ struct ltt_active_marker;
 struct ltt_serialize_closure;
 struct ltt_probe_private_data;
 
-/* Serialization callback '%k' */
-typedef size_t (*ltt_serialize_cb)(struct rchan_buf *buf, size_t buf_offset,
-                       struct ltt_serialize_closure *closure,
-                       void *serialize_private, int *largest_align,
-                       const char *fmt, va_list *args);
-
 struct ltt_serialize_closure {
        ltt_serialize_cb *callbacks;
        long cb_args[LTT_NR_CALLBACKS];
        unsigned int cb_idx;
 };
 
-extern size_t ltt_serialize_data(struct rchan_buf *buf, size_t buf_offset,
+extern size_t ltt_serialize_data(struct ust_buffer *buf, size_t buf_offset,
                        struct ltt_serialize_closure *closure,
                        void *serialize_private,
                        int *largest_align, const char *fmt, va_list *args);
 
-struct ltt_available_probe {
-       const char *name;               /* probe name */
-       const char *format;
-       marker_probe_func *probe_func;
-       ltt_serialize_cb callbacks[LTT_NR_CALLBACKS];
-       struct list_head node;          /* registered probes list */
-};
-
 struct ltt_probe_private_data {
        struct ltt_trace_struct *trace; /*
                                         * Target trace, for metadata
@@ -110,9 +96,9 @@ struct ltt_active_marker {
 
 struct marker; //ust//
 extern void ltt_vtrace(const struct marker *mdata, void *probe_data,
-       void *call_data, const char *fmt, va_list *args);
+       struct registers *regs, void *call_data, const char *fmt, va_list *args);
 extern void ltt_trace(const struct marker *mdata, void *probe_data,
-       void *call_data, const char *fmt, ...);
+       struct registers *regs, void *call_data, const char *fmt, ...);
 
 /*
  * Unique ID assigned to each registered probe.
@@ -126,7 +112,7 @@ enum marker_id {
 
 /* static ids 0-1 reserved for internal use. */
 #define MARKER_CORE_IDS                2
-static inline enum marker_id marker_id_type(uint16_t id)
+static __inline__ enum marker_id marker_id_type(uint16_t id)
 {
        if (id < MARKER_CORE_IDS)
                return (enum marker_id)id;
@@ -143,7 +129,7 @@ struct user_dbg_data {
 struct ltt_trace_ops {
        /* First 32 bytes cache-hot cacheline */
        int (*reserve_slot) (struct ltt_trace_struct *trace,
-                               struct ltt_channel_struct *channel,
+                               struct ust_channel *channel,
                                void **transport_data, size_t data_size,
                                size_t *slot_size, long *buf_offset, u64 *tsc,
                                unsigned int *rflags,
@@ -151,24 +137,24 @@ struct ltt_trace_ops {
 //ust//        void (*commit_slot) (struct ltt_channel_struct *channel,
 //ust//                                void **transport_data, long buf_offset,
 //ust//                                size_t slot_size);
-       void (*wakeup_channel) (struct ltt_channel_struct *ltt_channel);
+       void (*wakeup_channel) (struct ust_channel *channel);
        int (*user_blocking) (struct ltt_trace_struct *trace,
                                unsigned int index, size_t data_size,
                                struct user_dbg_data *dbg);
-       /* End of first 32 bytes cacheline */
-       int (*create_dirs) (struct ltt_trace_struct *new_trace);
-       void (*remove_dirs) (struct ltt_trace_struct *new_trace);
-       int (*create_channel) (const char *trace_name,
-                               struct ltt_trace_struct *trace,
-                               struct dentry *dir, const char *channel_name,
-                               struct ltt_channel_struct *ltt_chan,
-                               unsigned int subbuf_size,
-                               unsigned int n_subbufs, int overwrite);
-       void (*finish_channel) (struct ltt_channel_struct *channel);
-       void (*remove_channel) (struct ltt_channel_struct *channel);
-       void (*user_errors) (struct ltt_trace_struct *trace,
-                               unsigned int index, size_t data_size,
-                               struct user_dbg_data *dbg);
+       /* End of first 32 bytes cacheline */
+       int (*create_dirs) (struct ltt_trace_struct *new_trace);
+       void (*remove_dirs) (struct ltt_trace_struct *new_trace);
+       int (*create_channel) (const char *trace_name,
+                               struct ltt_trace_struct *trace,
+                               const char *channel_name,
+                               struct ust_channel *channel,
+                               unsigned int subbuf_size,
+                               unsigned int n_subbufs, int overwrite);
+       void (*finish_channel) (struct ust_channel *channel);
+       void (*remove_channel) (struct ust_channel *channel);
+       void (*user_errors) (struct ltt_trace_struct *trace,
+                               unsigned int index, size_t data_size,
+                               struct user_dbg_data *dbg);
 } ____cacheline_aligned;
 
 struct ltt_transport {
@@ -190,7 +176,7 @@ struct ltt_trace_struct {
        struct ltt_trace_ops *ops;
        int active;
        /* Second 32 bytes cache-hot cacheline */
-       struct ltt_channel_struct *channels;
+       struct ust_channel *channels;
        unsigned int nr_channels;
        u32 freq_scale;
        u64 start_freq;
@@ -293,13 +279,13 @@ struct ltt_subbuffer_header {
  * structure because gcc generates inefficient code on some architectures
  * (powerpc, mips..)
  */
-static inline size_t ltt_subbuffer_header_size(void)
+static __inline__ size_t ltt_subbuffer_header_size(void)
 {
        return offsetof(struct ltt_subbuffer_header, header_end);
 }
 
 /*
- * ltt_get_header_size
+ * ust_get_header_size
  *
  * Calculate alignment offset to 32-bits. This is the alignment offset of the
  * event header.
@@ -317,8 +303,8 @@ static inline size_t ltt_subbuffer_header_size(void)
  * The payload must itself determine its own alignment from the biggest type it
  * contains.
  * */
-static inline unsigned char ltt_get_header_size(
-               struct ltt_channel_struct *channel,
+static __inline__ unsigned char ust_get_header_size(
+               struct ust_channel *channel,
                size_t offset,
                size_t data_size,
                size_t *before_hdr_pad,
@@ -369,9 +355,8 @@ static inline unsigned char ltt_get_header_size(
  *
  * returns : offset where the event data must be written.
  */
-static inline size_t ltt_write_event_header(struct ltt_trace_struct *trace,
-               struct ltt_channel_struct *channel,
-               struct rchan_buf *buf, long buf_offset,
+static __inline__ size_t ltt_write_event_header(struct ltt_trace_struct *trace,
+               struct ust_buffer *buf, long buf_offset,
                u16 eID, size_t event_size,
                u64 tsc, unsigned int rflags)
 {
@@ -393,44 +378,44 @@ static inline size_t ltt_write_event_header(struct ltt_trace_struct *trace,
                break;
        }
        header.id_time |= (u32)tsc & LTT_TSC_MASK;
-       ltt_relay_write(buf, buf_offset, &header, sizeof(header));
+       ust_buffers_write(buf, buf_offset, &header, sizeof(header));
        buf_offset += sizeof(header);
 
        switch (rflags) {
        case LTT_RFLAG_ID_SIZE_TSC:
                small_size = min_t(size_t, event_size, 0xFFFFU);
-               ltt_relay_write(buf, buf_offset,
+               ust_buffers_write(buf, buf_offset,
                        (u16[]){ (u16)eID }, sizeof(u16));
                buf_offset += sizeof(u16);
-               ltt_relay_write(buf, buf_offset,
+               ust_buffers_write(buf, buf_offset,
                        (u16[]){ (u16)small_size }, sizeof(u16));
                buf_offset += sizeof(u16);
                if (small_size == 0xFFFFU) {
-                       ltt_relay_write(buf, buf_offset,
+                       ust_buffers_write(buf, buf_offset,
                                (u32[]){ (u32)event_size }, sizeof(u32));
                        buf_offset += sizeof(u32);
                }
                buf_offset += ltt_align(buf_offset, sizeof(u64));
-               ltt_relay_write(buf, buf_offset,
+               ust_buffers_write(buf, buf_offset,
                        (u64[]){ (u64)tsc }, sizeof(u64));
                buf_offset += sizeof(u64);
                break;
        case LTT_RFLAG_ID_SIZE:
                small_size = min_t(size_t, event_size, 0xFFFFU);
-               ltt_relay_write(buf, buf_offset,
+               ust_buffers_write(buf, buf_offset,
                        (u16[]){ (u16)eID }, sizeof(u16));
                buf_offset += sizeof(u16);
-               ltt_relay_write(buf, buf_offset,
+               ust_buffers_write(buf, buf_offset,
                        (u16[]){ (u16)small_size }, sizeof(u16));
                buf_offset += sizeof(u16);
                if (small_size == 0xFFFFU) {
-                       ltt_relay_write(buf, buf_offset,
+                       ust_buffers_write(buf, buf_offset,
                                (u32[]){ (u32)event_size }, sizeof(u32));
                        buf_offset += sizeof(u32);
                }
                break;
        case LTT_RFLAG_ID:
-               ltt_relay_write(buf, buf_offset,
+               ust_buffers_write(buf, buf_offset,
                        (u16[]){ (u16)eID }, sizeof(u16));
                buf_offset += sizeof(u16);
                break;
@@ -463,9 +448,9 @@ static inline size_t ltt_write_event_header(struct ltt_trace_struct *trace,
  *
  * Return : -ENOSPC if not enough space, else 0.
  */
-static inline int ltt_reserve_slot(
+static __inline__ int ltt_reserve_slot(
                struct ltt_trace_struct *trace,
-               struct ltt_channel_struct *channel,
+               struct ust_channel *channel,
                void **transport_data,
                size_t data_size,
                size_t *slot_size,
@@ -598,7 +583,7 @@ extern struct dentry *get_filter_root(void);
 
 extern void ltt_write_trace_header(struct ltt_trace_struct *trace,
                struct ltt_subbuffer_header *header);
-extern void ltt_buffer_destroy(struct ltt_channel_struct *ltt_chan);
+extern void ltt_buffer_destroy(struct ust_channel *ltt_chan);
 
 extern void ltt_core_register(int (*function)(u8, void *));
 
@@ -607,12 +592,6 @@ extern void ltt_core_unregister(void);
 extern void ltt_release_trace(struct kref *kref);
 extern void ltt_release_transport(struct kref *kref);
 
-extern int ltt_probe_register(struct ltt_available_probe *pdata);
-extern int ltt_probe_unregister(struct ltt_available_probe *pdata);
-extern int ltt_marker_connect(const char *channel, const char *mname,
-               const char *pname);
-extern int ltt_marker_disconnect(const char *channel, const char *mname,
-               const char *pname);
 extern void ltt_dump_marker_state(struct ltt_trace_struct *trace);
 
 extern void ltt_lock_traces(void);
This page took 0.027041 seconds and 4 git commands to generate.