New APIs added to get trace cpustats, uname, version strings, and cpu file sizes and offsets. const char *tracecmd_get_cpustats(struct tracecmd_input *handle); const char *tracecmd_get_uname(struct tracecmd_input *handle); const char *tracecmd_get_version(struct tracecmd_input *handle); unsigned long long tracecmd_get_cpu_file_offset(struct tracecmd_input *handle, int cpu); unsigned long long tracecmd_get_cpu_file_size(struct tracecmd_input *handle, int cpu); Signed-off-by: Michael Sartain <mikesart@xxxxxxxxxxxx> --- .../include/private/trace-cmd-private.h | 6 +++++ lib/trace-cmd/trace-input.c | 25 +++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/lib/trace-cmd/include/private/trace-cmd-private.h b/lib/trace-cmd/include/private/trace-cmd-private.h index c58b09e..cd78cc9 100644 --- a/lib/trace-cmd/include/private/trace-cmd-private.h +++ b/lib/trace-cmd/include/private/trace-cmd-private.h @@ -90,6 +90,12 @@ bool tracecmd_get_quiet(struct tracecmd_output *handle); void tracecmd_set_out_clock(struct tracecmd_output *handle, const char *clock); const char *tracecmd_get_trace_clock(struct tracecmd_input *handle); +const char *tracecmd_get_cpustats(struct tracecmd_input *handle); +const char *tracecmd_get_uname(struct tracecmd_input *handle); +const char *tracecmd_get_version(struct tracecmd_input *handle); +unsigned long long tracecmd_get_cpu_file_offset(struct tracecmd_input *handle, int cpu); +unsigned long long tracecmd_get_cpu_file_size(struct tracecmd_input *handle, int cpu); + static inline int tracecmd_host_bigendian(void) { unsigned char str[] = { 0x1, 0x2, 0x3, 0x4 }; diff --git a/lib/trace-cmd/trace-input.c b/lib/trace-cmd/trace-input.c index ac57bc4..99dbca2 100644 --- a/lib/trace-cmd/trace-input.c +++ b/lib/trace-cmd/trace-input.c @@ -4088,6 +4088,31 @@ const char *tracecmd_get_trace_clock(struct tracecmd_input *handle) return handle->trace_clock; } +const char *tracecmd_get_cpustats(struct tracecmd_input *handle) +{ + return handle->cpustats; +} + +const char *tracecmd_get_uname(struct tracecmd_input *handle) +{ + return handle->uname; +} + +const char *tracecmd_get_version(struct tracecmd_input *handle) +{ + return handle->version; +} + +unsigned long long tracecmd_get_cpu_file_offset(struct tracecmd_input *handle, int cpu) +{ + return (cpu < handle->cpus) ? handle->cpu_data[cpu].file_offset : 0; +} + +unsigned long long tracecmd_get_cpu_file_size(struct tracecmd_input *handle, int cpu) +{ + return (cpu < handle->cpus) ? handle->cpu_data[cpu].file_size : 0; +} + /** * tracecmd_get_show_data_func - return the show data func * @handle: input handle for the trace.dat file -- 2.33.0