In order to reuse code inside trace-cmd application context, few functions are made non static: int make_vsock(unsigned int port); int get_vsock_port(int sd, unsigned int *port); int open_vsock(unsigned int cid, unsigned int port); char *get_guest_file(const char *file, const char *guest); Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@xxxxxxxxx> --- tracecmd/include/trace-local.h | 8 ++++++++ tracecmd/trace-agent.c | 4 ++-- tracecmd/trace-record.c | 8 ++++---- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/tracecmd/include/trace-local.h b/tracecmd/include/trace-local.h index a6f79c5..17ef31a 100644 --- a/tracecmd/include/trace-local.h +++ b/tracecmd/include/trace-local.h @@ -19,6 +19,8 @@ #define GUEST_FIFO_FMT GUEST_DIR_FMT "/" GUEST_PIPE_NAME "%d" #define VIRTIO_FIFO_FMT "/dev/virtio-ports/" GUEST_PIPE_NAME "%d" +#define TRACE_FILENAME "trace.dat" + /* fix stupid glib guint64 typecasts and printf formats */ typedef unsigned long long u64; @@ -258,6 +260,12 @@ void tracecmd_disable_tracing(void); void tracecmd_enable_tracing(void); void tracecmd_stat_cpu(struct trace_seq *s, int cpu); +int make_vsock(unsigned int port); +int get_vsock_port(int sd, unsigned int *port); +int open_vsock(unsigned int cid, unsigned int port); + +char *get_guest_file(const char *file, const char *guest); + /* No longer in event-utils.h */ void __noreturn die(const char *fmt, ...); /* Can be overriden */ void *malloc_or_die(unsigned int size); /* Can be overridden */ diff --git a/tracecmd/trace-agent.c b/tracecmd/trace-agent.c index cc330b7..530f972 100644 --- a/tracecmd/trace-agent.c +++ b/tracecmd/trace-agent.c @@ -40,7 +40,7 @@ static int get_local_cid(unsigned int *cid) return ret; } -static int make_vsock(unsigned int port) +int make_vsock(unsigned int port) { struct sockaddr_vm addr = { .svm_family = AF_VSOCK, @@ -64,7 +64,7 @@ static int make_vsock(unsigned int port) return sd; } -static int get_vsock_port(int sd, unsigned int *port) +int get_vsock_port(int sd, unsigned int *port) { struct sockaddr_vm addr; socklen_t addr_len = sizeof(addr); diff --git a/tracecmd/trace-record.c b/tracecmd/trace-record.c index e7fb1bd..e66f999 100644 --- a/tracecmd/trace-record.c +++ b/tracecmd/trace-record.c @@ -68,7 +68,7 @@ static int rt_prio; static int keep; -static const char *output_file = "trace.dat"; +static const char *output_file = TRACE_FILENAME; static int latency; static int sleep_time = 1000; @@ -536,7 +536,7 @@ static char *get_temp_file(struct buffer_instance *instance, int cpu) return file; } -static char *get_guest_file(const char *file, const char *guest) +char *get_guest_file(const char *file, const char *guest) { const char *p; char *out = NULL; @@ -2772,7 +2772,7 @@ static int connect_port(const char *host, unsigned int port) } #ifdef VSOCK -static int open_vsock(unsigned int cid, unsigned int port) +int open_vsock(unsigned int cid, unsigned int port) { struct sockaddr_vm addr = { .svm_family = AF_VSOCK, @@ -2835,7 +2835,7 @@ static bool can_splice_read_vsock(void) } #else -static inline int open_vsock(unsigned int cid, unsigned int port) +int open_vsock(unsigned int cid, unsigned int port) { die("vsock is not supported"); return -1; -- 2.23.0