X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=libustcmd%2Fustcmd.c;h=930c078fcd9510aebad1eff190d0817a5280e092;hb=763f41e58126afdc361006831a7daca773a9627a;hp=d573a7fe2ef84ae845c698053322808252d2778d;hpb=b5b073e22d34bec71259d39b8946354f170f01a9;p=ust.git diff --git a/libustcmd/ustcmd.c b/libustcmd/ustcmd.c index d573a7f..930c078 100644 --- a/libustcmd/ustcmd.c +++ b/libustcmd/ustcmd.c @@ -101,6 +101,55 @@ int ustcmd_set_marker_state(const char *mn, int state, pid_t pid) return 0; } +/** + * Set subbuffer size. + * + * @param channel_size Channel name and size + * @param pid Traced process ID + * @return 0 if successful, or error + */ +int ustcmd_set_subbuf_size(const char *channel_size, pid_t pid) +{ + char *cmd; + int result; + + asprintf(&cmd, "%s %s", "set_subbuf_size", channel_size); + + result = ustcmd_send_cmd(cmd, pid, NULL); + if (result) { + free(cmd); + return 1; + } + + free(cmd); + return 0; +} + +/** + * Set subbuffer num. + * + * @param channel_num Channel name and num + * @param pid Traced process ID + * @return 0 if successful, or error + */ +int ustcmd_set_subbuf_num(const char *channel_size, pid_t pid) +{ + char *cmd; + int result; + + asprintf(&cmd, "%s %s", "set_subbuf_num", channel_size); + + result = ustcmd_send_cmd(cmd, pid, NULL); + if (result) { + free(cmd); + return 1; + } + + free(cmd); + return 0; +} + + /** * Destroys an UST trace according to a PID. * @@ -137,6 +186,24 @@ int ustcmd_setup_and_start(pid_t pid) return 0; } +/** + * Creates an UST trace according to a PID. + * + * @param pid Traced process ID + * @return 0 if successful, or error USTCMD_ERR_GEN + */ +int ustcmd_create_trace(pid_t pid) +{ + int result; + + result = ustcmd_send_cmd("trace_create", pid, NULL); + if (result) { + return USTCMD_ERR_GEN; + } + + return 0; +} + /** * Starts an UST trace according to a PID. * @@ -155,6 +222,24 @@ int ustcmd_start_trace(pid_t pid) return 0; } +/** + * Alloc an UST trace according to a PID. + * + * @param pid Traced process ID + * @return 0 if successful, or error USTCMD_ERR_GEN + */ +int ustcmd_alloc_trace(pid_t pid) +{ + int result; + + result = ustcmd_send_cmd("trace_alloc", pid, NULL); + if (result) { + return USTCMD_ERR_GEN; + } + + return 0; +} + /** * Stops an UST trace according to a PID. *