From c2120ba28a7f3c473c05403e6015c95bec406336 Mon Sep 17 00:00:00 2001 From: oharboe Date: Fri, 31 Oct 2008 13:40:02 +0000 Subject: Added telnet_async command to enable/disable asynchronous messages. git-svn-id: svn://svn.berlios.de/openocd/trunk@1117 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/helper/command.c | 13 +++++++++++++ src/helper/command.h | 8 +++++--- src/helper/startup.tcl | 16 ++++++++++++++++ 3 files changed, 34 insertions(+), 3 deletions(-) (limited to 'src/helper') diff --git a/src/helper/command.c b/src/helper/command.c index 9ade320..a8de14e 100644 --- a/src/helper/command.c +++ b/src/helper/command.c @@ -795,3 +795,16 @@ void register_jim(struct command_context_s *cmd_ctx, const char *name, int (*cmd Jim_ListAppendElement(interp, cmd_entry, Jim_NewStringObj(interp, help, -1)); Jim_ListAppendElement(interp, helptext, cmd_entry); } + + +/* return global variable long value or 0 upon failure */ +long jim_global_long(const char *variable) +{ + Jim_Obj *objPtr=Jim_GetGlobalVariableStr(interp, variable, JIM_ERRMSG); + long t; + if (Jim_GetLong(interp, objPtr, &t)==JIM_OK) + { + return t; + } + return 0; +} diff --git a/src/helper/command.h b/src/helper/command.h index a539c46..49609a6 100644 --- a/src/helper/command.h +++ b/src/helper/command.h @@ -38,16 +38,16 @@ typedef struct command_context_s struct command_s *commands; int current_target; /* Execute a command. - * + * * If the command fails, it *MUST* return a value != ERROR_OK * (many commands break this rule, patches welcome!) - * + * * This is *especially* important for commands such as writing * to flash or verifying memory. The reason is that those commands * can be used by programs to determine if the operation succeded * or not. If the operation failed, then a program can try * an alternative approach. - * + * * Returning ERROR_COMMAND_SYNTAX_ERROR will have the effect of * printing out the syntax of the command. */ @@ -101,4 +101,6 @@ extern Jim_Interp *interp; void register_jim(command_context_t *context, const char *name, int (*cmd)(Jim_Interp *interp, int argc, Jim_Obj *const *argv), const char *help); +long jim_global_long(const char *variable); + #endif /* COMMAND_H */ diff --git a/src/helper/startup.tcl b/src/helper/startup.tcl index eb19066..0ac1ebd 100644 --- a/src/helper/startup.tcl +++ b/src/helper/startup.tcl @@ -300,3 +300,19 @@ proc verify {args} { } add_help_text verify "synonym to verify_image" + + +add_help_text telnet_async " - enable/disable async messages. Default 0." + +global telnet_async_state +set telnet_async_state 0 +proc telnet_async {state} { + global telnet_async_state + if {[string compare $state enable]==0} { + set telnet_async_state 1 + } elseif {[string compare $state disable]==0} { + set telnet_async_state 0 + } else { + return -code error "Illegal option $state" + } +} \ No newline at end of file -- cgit v1.1