/* Give TELNET a way to find out what version this is */
int handle_version_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
+ if (argc!=0)
+ return ERROR_COMMAND_SYNTAX_ERROR;
+
command_print(cmd_ctx, OPENOCD_VERSION);
return ERROR_OK;
return ERROR_OK;
}
+int ioutil_init(struct command_context_s *cmd_ctx);
+
/* OpenOCD can't really handle failure of this command. Patches welcome! :-) */
int handle_init_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
+
+ if (argc!=0)
+ return ERROR_COMMAND_SYNTAX_ERROR;
+
int retval;
static int initialized=0;
if (initialized)
atexit(exit_handler);
+#if BUILD_IOUTIL
+ if (ioutil_init(cmd_ctx) != ERROR_OK)
+ {
+ return ERROR_FAIL;
+ }
+#endif
+
if (target_init(cmd_ctx) != ERROR_OK)
return ERROR_FAIL;
LOG_DEBUG("target init complete");
return cmd_ctx;
}
+int httpd_start(void);
+void httpd_stop(void);
+
/* normally this is the main() function entry, but if OpenOCD is linked
* into application, then this fn will not be invoked, but rather that
* application will have it's own implementation of main(). */
if ( (ret != ERROR_OK) && (ret != ERROR_COMMAND_CLOSE_CONNECTION) )
return EXIT_FAILURE;
+#if BUILD_HTTPD
+ if (httpd_start()!=ERROR_OK)
+ return EXIT_FAILURE;
+#endif
+
if (ret != ERROR_COMMAND_CLOSE_CONNECTION)
{
command_context_mode(cmd_ctx, COMMAND_EXEC);
/* shut server down */
server_quit();
+#if BUILD_HTTPD
+ httpd_stop();
+#endif
+
unregister_all_commands(cmd_ctx);
/* free commandline interface */
command_done(cmd_ctx);
+
return EXIT_SUCCESS;
}