- if (arg->usb_present == 1) {
- rarg.run = 0;
- pthread_join(reader_thread, NULL);
- }
-
- if (script_file)
- {
- fclose(script_file);
- script_file = NULL;
- }
-
- ExitGraphics();
- pthread_exit(NULL);
- return NULL;
+ if (usb_present) {
+ rarg.run = 0;
+ pthread_join(reader_thread, NULL);
+ }
+
+ if (script_file) {
+ fclose(script_file);
+ script_file = NULL;
+ }
+
+}
+
+static void dumpAllHelp(int markdown)
+{
+ printf("\n%sProxmark3 command dump%s\n\n",markdown?"# ":"",markdown?"":"\n======================");
+ printf("Some commands are available only if a Proxmark is actually connected.%s\n",markdown?" ":"");
+ printf("Check column \"offline\" for their availability.\n");
+ printf("\n");
+ command_t *cmds = getTopLevelCommandTable();
+ dumpCommandsRecursive(cmds, markdown);
+}
+
+static char *my_executable_path = NULL;
+static char *my_executable_directory = NULL;
+
+const char *get_my_executable_path(void)
+{
+ return my_executable_path;
+}
+
+const char *get_my_executable_directory(void)
+{
+ return my_executable_directory;