@@ -830,8 +830,16 @@ ssize_t kshark_load_data_records(struct kshark_context *kshark_ctx,
return -ENOMEM;
}
-static struct tep_record *kshark_read_at(struct kshark_context *kshark_ctx,
- uint64_t offset)
+/**
+ * @brief A thread-safe read of a record from a specific offset.
+ *
+ * @param kshark_ctx: Input location for the session context pointer.
+ * @param offset: the offset into the file to find the record.
+ *
+ * @returns The returned pevent_record must be freed.
+ */
+struct tep_record *kshark_read_at(struct kshark_context *kshark_ctx,
+ uint64_t offset)
{
/*
* It turns that tracecmd_read_at() is not thread-safe.
@@ -150,6 +150,9 @@ void kshark_free(struct kshark_context *kshark_ctx);
char* kshark_dump_entry(const struct kshark_entry *entry);
+struct tep_record *kshark_read_at(struct kshark_context *kshark_ctx,
+ uint64_t offset);
+
/** Bit masks used to control the visibility of the entry after filtering. */
enum kshark_filter_masks {
/**
kshark_read_at() function provides a thread-safe read of a record from a specific offset inside the trace.dat file. So far this function was used only in libkshark.c and was defined static. This patch makes the function non-static in order to make possible to use it from a plugin. Signed-off-by: Yordan Karadzhov (VMware) <y.karadz@gmail.com> --- kernel-shark-qt/src/libkshark.c | 12 ++++++++++-- kernel-shark-qt/src/libkshark.h | 3 +++ 2 files changed, 13 insertions(+), 2 deletions(-)