#include "telnet_server.h"
#include "gdb_server.h"
#include "tcl_server.h"
+#include "httpd.h"
#ifdef HAVE_STRINGS_H
#include <strings.h>
return ERROR_OK;
}
-struct command_context *global_cmd_ctx;
+static const struct command_registration openocd_command_handlers[] = {
+ {
+ .name = "version",
+ .handler = &handle_version_command,
+ .mode = COMMAND_EXEC,
+ .help = "show program version",
+ },
+ {
+ .name = "init",
+ .handler = &handle_init_command,
+ .mode = COMMAND_ANY,
+ .help = "Initializes configured targets and servers. "
+ "If called more than once, does nothing.",
+ },
+ COMMAND_REGISTRATION_DONE
+};
-/// src/hello.c gives a simple example for writing new command modules
-int hello_register_commands(struct command_context *cmd_ctx);
+struct command_context *global_cmd_ctx;
/* NB! this fn can be invoked outside this file for non PC hosted builds */
struct command_context *setup_command_handler(void)
{
+ log_init();
+ LOG_DEBUG("log_init: complete");
+
struct command_context *cmd_ctx;
global_cmd_ctx = cmd_ctx = command_init(openocd_startup_tcl);
- COMMAND_REGISTER(cmd_ctx, NULL, "version", handle_version_command,
- COMMAND_EXEC, "show OpenOCD version");
-
+ register_commands(cmd_ctx, NULL, openocd_command_handlers);
/* register subsystem commands */
- hello_register_commands(cmd_ctx);
server_register_commands(cmd_ctx);
telnet_register_commands(cmd_ctx);
gdb_register_commands(cmd_ctx);
pld_register_commands(cmd_ctx);
mflash_register_commands(cmd_ctx);
- if (log_init(cmd_ctx) != ERROR_OK)
- {
- exit(-1);
- }
- LOG_DEBUG("log init complete");
+ LOG_DEBUG("command registration: complete");
LOG_OUTPUT(OPENOCD_VERSION "\n");
- COMMAND_REGISTER(cmd_ctx, NULL, "init", handle_init_command,
- COMMAND_ANY, "initializes target and servers - nop on subsequent invocations");
-
return cmd_ctx;
}
-int httpd_start(void);
-void httpd_stop(void);
-
-
#if !BUILD_HTTPD && !BUILD_ECOSBOARD
/* implementations of OpenOCD that uses multithreading needs to know when
* OpenOCD is sleeping. No-op in vanilla OpenOCD
return EXIT_FAILURE;
#if BUILD_HTTPD
- if (httpd_start() != ERROR_OK)
+ if (httpd_start(cmd_ctx) != ERROR_OK)
return EXIT_FAILURE;
#endif