+#if defined TIZEN_DEBUG_ENABLE
+static int __netconfig_handle_execute_file(const char *file_path,
+ char *const args[], char *const envs[])
+{
+ pid_t pid = 0;
+ int status = 0;
+ int rv = 0;
+ errno = 0;
+ register unsigned int index = 0;
+ char error_buf[MAX_SIZE_ERROR_BUFFER] = {0, };
+
+ while (args[index] != NULL) {
+ DBG("%s", args[index]);
+ index++;
+ }
+
+ if (!(pid = fork())) {
+ DBG("pid(%d), ppid (%d)", getpid(), getppid());
+ DBG("Inside child, exec (%s) command", file_path);
+
+ errno = 0;
+ if (execve(file_path, args, envs) == -1) {
+ DBG("Fail to execute command (%s)",
+ strerror_r(errno, error_buf, MAX_SIZE_ERROR_BUFFER));
+ exit(1);
+ }
+ } else if (pid > 0) {
+ if (waitpid(pid, &status, 0) == -1)
+ DBG("wait pid (%u) status (%d)", pid, status);
+
+ if (WIFEXITED(status)) {
+ rv = WEXITSTATUS(status);
+ DBG("exited, status=%d", rv);
+ } else if (WIFSIGNALED(status)) {
+ DBG("killed by signal %d", WTERMSIG(status));
+ } else if (WIFSTOPPED(status)) {
+ DBG("stopped by signal %d", WSTOPSIG(status));
+ } else if (WIFCONTINUED(status)) {
+ DBG("continued");
+ }
+
+ return rv;
+ }
+
+ DBG("failed to fork(%s)",
+ strerror_r(errno, error_buf, MAX_SIZE_ERROR_BUFFER));
+ return -EIO;
+}
+
+static int _start_dump()
+{
+ int rv = 0;
+ gchar *path = NETWORK_LOG_DUMP_SCRIPT;
+ char *const args[] = { NETWORK_LOG_DUMP_SCRIPT, NULL };
+ char *const envs[] = { NULL };
+
+ rv = __netconfig_handle_execute_file(path, args, envs);
+ if (rv < 0) {
+ ERR("Fail to execute network log dump shell");
+ return -EIO;
+ }
+ return 0;
+}
+#endif
+
+static char *__supplicant_get_interface_name(const gchar *path, const gchar *interface)
+{
+ GVariant *params = NULL;
+ GVariant *reply = NULL, *var = NULL;;
+ char *interface_name = NULL;
+
+ params = g_variant_new("(ss)", interface, "Ifname");
+
+ reply = netconfig_supplicant_invoke_dbus_method(SUPPLICANT_SERVICE,
+ path, DBUS_INTERFACE_PROPERTIES, "Get", params);
+ if (reply == NULL) {
+ ERR("Failed to get interface name");
+ return NULL;
+ }
+
+ g_variant_get(reply, "(v)", &var);
+
+ if (g_variant_is_of_type(var, G_VARIANT_TYPE_STRING)) {
+ interface_name = g_variant_dup_string(var, NULL);
+ DBG("%s [%s]", path, interface_name);
+ }
+
+ g_variant_unref(var);
+ g_variant_unref(reply);
+
+ return interface_name;
+}
+