int server_register_commands(struct command_context *cmd_ctx) { int retval = telnet_register_commands(cmd_ctx); if (ERROR_OK != retval) return retval; retval = tcl_register_commands(cmd_ctx); if (ERROR_OK != retval) return retval; return register_commands(cmd_ctx, NULL, server_command_handlers); }
int tcl_appinit(Tcl_Interp *interp) { if (Tcl_Init(interp) == TCL_ERROR) return TCL_ERROR; #ifdef TK if (Tk_Init(interp) == TCL_ERROR) return TCL_ERROR; #endif /* installation of tcl commands */ tcl_register_commands(interp); tcl_register_global_variables(interp); /* evaluate the Tcl initialization script */ char *scriptdir = getenv("ESPRESSO_SCRIPTS"); if (!scriptdir) scriptdir = get_default_scriptsdir(); /* fprintf(stderr,"Script directory: %s\n", scriptdir);*/ char cwd[1024]; if ((getcwd(cwd, 1024) == NULL) || (chdir(scriptdir) != 0)) { fprintf(stderr, "\n\ncould not change to script dir %s, please check ESPRESSO_SCRIPTS.\n\n\n", scriptdir); exit(1); } if (Tcl_EvalFile(interp, "init.tcl") == TCL_ERROR) { fprintf(stderr, "\n\nerror in initialization script: %s\n\n\n", Tcl_GetStringResult(interp)); exit(1); } if (chdir(cwd) != 0) { fprintf(stderr, "\n\ncould not change back to execution dir %s ????\n\n\n", cwd); exit(1); } return (TCL_OK); }
command_context_t *setup_command_handler(void) { command_context_t *cmd_ctx; global_cmd_ctx = cmd_ctx = command_init(); register_command(cmd_ctx, NULL, "version", handle_version_command, COMMAND_EXEC, "show OpenOCD version"); /* register subsystem commands */ server_register_commands(cmd_ctx); telnet_register_commands(cmd_ctx); gdb_register_commands(cmd_ctx); tcl_register_commands(cmd_ctx); /* tcl server commands */ log_register_commands(cmd_ctx); jtag_register_commands(cmd_ctx); xsvf_register_commands(cmd_ctx); svf_register_commands(cmd_ctx); target_register_commands(cmd_ctx); flash_register_commands(cmd_ctx); nand_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_OUTPUT( OPENOCD_VERSION "\n" ); register_command(cmd_ctx, NULL, "init", handle_init_command, COMMAND_ANY, "initializes target and servers - nop on subsequent invocations"); return cmd_ctx; }