return lib_ring_buffer_clock_read(chan);
}
+static
size_t client_record_header_size(const struct lib_ring_buffer_config *config,
struct channel *chan, size_t offset,
size_t data_size,
.wakeup = RING_BUFFER_WAKEUP_BY_TIMER,
};
+static
struct channel *ltt_channel_create(const char *name, struct ltt_trace *trace,
void *buf_addr,
size_t subbuf_size, size_t num_subbuf,
return NULL;
}
+static
void ltt_channel_destroy(struct channel *chan)
{
struct chan_priv *chan_priv = channel_get_private(chan);
}
return 0;
}
+
static struct ltt_transport ltt_relay_transport = {
.name = "relay-" RING_BUFFER_MODE_TEMPLATE_STRING,
.owner = THIS_MODULE,
.ops = {
.create_dirs = ltt_relay_create_dirs,
.remove_dirs = ltt_relay_remove_dirs,
+ .create_channel = ltt_channel_create,
+ .destroy_channel = ltt_channel_destroy,
},
};
struct ltt_trace_ops {
int (*create_dirs) (struct ltt_trace *new_trace);
void (*remove_dirs) (struct ltt_trace *new_trace);
+ struct channel *ltt_channel_create(const char *name,
+ struct ltt_trace *trace,
+ void *buf_addr,
+ size_t subbuf_size, size_t num_subbuf,
+ unsigned int switch_timer_interval,
+ unsigned int read_timer_interval);
+ void ltt_channel_destroy(struct channel *chan);
};
struct ltt_transport {