From b2c63747c04b6312e1f1bf1626dbc18ad57fdc06 Mon Sep 17 00:00:00 2001 From: "shingil.kang" Date: Wed, 22 Oct 2014 20:29:39 +0900 Subject: [PATCH] SDB: Supported 'profile' command 'profile' command works same with 'oprofile' Change-Id: Iafddd8ba1bf694d4dd2a1eca2331da2c557a03c3 Signed-off-by: shingil.kang --- src/command_function.c | 13 +++++++++++++ src/command_function.h | 1 + src/commandline.c | 5 +++++ src/sdb_constants.c | 4 ++++ src/sdb_constants.h | 4 ++++ 5 files changed, 27 insertions(+) diff --git a/src/command_function.c b/src/command_function.c index 8660714..a01097f 100644 --- a/src/command_function.c +++ b/src/command_function.c @@ -81,6 +81,19 @@ int oprofile(int argc, char ** argv) { return 0; } +int profile(int argc, char ** argv) { + char full_cmd[PATH_MAX] = "shell:/usr/bin/profile_command.sh"; + + append_args(full_cmd, --argc, (const char**)++argv, PATH_MAX- 1); + D(COMMANDLINE_MSG_FULL_CMD, argv[0], full_cmd); + int result = __sdb_command(full_cmd); + + if(result < 0) { + return 1; + } + return 0; +} + int launch(int argc, char ** argv) { int i; int result = 0; diff --git a/src/command_function.h b/src/command_function.h index 4e45006..fc49f9e 100644 --- a/src/command_function.h +++ b/src/command_function.h @@ -36,6 +36,7 @@ int da(int argc, char ** argv); int oprofile(int argc, char ** argv); +int profile(int argc, char ** argv); int launch(int argc, char ** argv); int devices(int argc, char ** argv); int __disconnect(int argc, char ** argv); diff --git a/src/commandline.c b/src/commandline.c index 57077b8..124be9e 100755 --- a/src/commandline.c +++ b/src/commandline.c @@ -550,6 +550,11 @@ static void create_cmd_list(LIST_NODE** cmd_list) { 0, EMPTY_STRING, oprofile, COMMANDLINE_OPROFILE_MAX_ARG, COMMANDLINE_OPROFILE_MIN_ARG); prepend(cmd_list, oprofile_cmd); + COMMAND* profile_cmd = NULL; + create_command(&profile_cmd, COMMANDLINE_PROFILE_NAME, NULL, + 0, EMPTY_STRING, profile, COMMANDLINE_PROFILE_MAX_ARG, COMMANDLINE_PROFILE_MIN_ARG); + prepend(cmd_list, profile_cmd); + COMMAND* da_cmd = NULL; create_command(&da_cmd , COMMANDLINE_DA_NAME, NULL, 0, EMPTY_STRING, da, COMMANDLINE_DA_MAX_ARG, COMMANDLINE_DA_MIN_ARG); diff --git a/src/sdb_constants.c b/src/sdb_constants.c index 32c7162..7e23d38 100644 --- a/src/sdb_constants.c +++ b/src/sdb_constants.c @@ -49,6 +49,10 @@ const int COMMANDLINE_OPROFILE_MAX_ARG = -1; const int COMMANDLINE_OPROFILE_MIN_ARG = 0; + const char* COMMANDLINE_PROFILE_NAME = "profile"; + const int COMMANDLINE_PROFILE_MAX_ARG = -1; + const int COMMANDLINE_PROFILE_MIN_ARG = 0; + const char* COMMANDLINE_DA_NAME = "da"; const int COMMANDLINE_DA_MAX_ARG = -1; const int COMMANDLINE_DA_MIN_ARG = 0; diff --git a/src/sdb_constants.h b/src/sdb_constants.h index fdd60f7..8ef1be8 100644 --- a/src/sdb_constants.h +++ b/src/sdb_constants.h @@ -65,6 +65,10 @@ typedef enum host_type HOST_TYPE; extern const int COMMANDLINE_OPROFILE_MAX_ARG; extern const int COMMANDLINE_OPROFILE_MIN_ARG; + extern const char* COMMANDLINE_PROFILE_NAME; + extern const int COMMANDLINE_PROFILE_MAX_ARG; + extern const int COMMANDLINE_PROFILE_MIN_ARG; + extern const char* COMMANDLINE_DA_NAME; extern const int COMMANDLINE_DA_MAX_ARG; extern const int COMMANDLINE_DA_MIN_ARG; -- 2.34.1