+const char *get_my_executable_path(void)
+{
+ return my_executable_path;
+}
+
+const char *get_my_executable_directory(void)
+{
+ return my_executable_directory;
+}
+
+static void set_my_executable_path(void)
+{
+ int path_length = wai_getExecutablePath(NULL, 0, NULL);
+ if (path_length != -1) {
+ my_executable_path = (char*)malloc(path_length + 1);
+ int dirname_length = 0;
+ if (wai_getExecutablePath(my_executable_path, path_length, &dirname_length) != -1) {
+ my_executable_path[path_length] = '\0';
+ my_executable_directory = (char *)malloc(dirname_length + 2);
+ strncpy(my_executable_directory, my_executable_path, dirname_length+1);
+ my_executable_directory[dirname_length+1] = '\0';
+ }
+ }
+}
+
+static void show_help(bool showFullHelp, char *command_line){
+ printf("syntax: %s <port> [-h|-help|-m|-f|-flush|-w|-wait|-c|-command|-l|-lua] [cmd_script_file_name] [command][lua_script_name]\n", command_line);
+ printf("\texample: %s "SERIAL_PORT_H"\n\n", command_line);