summaryrefslogtreecommitdiff
path: root/src/helper
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-10-31 13:40:02 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-10-31 13:40:02 +0000
commitc2120ba28a7f3c473c05403e6015c95bec406336 (patch)
tree548754e1b28c4b752e98f3da263ab7d5853ed14a /src/helper
parente4218ebb8f7f5bf27578198e16ae5add99edeb75 (diff)
downloadopenocd_libswd-c2120ba28a7f3c473c05403e6015c95bec406336.tar.gz
openocd_libswd-c2120ba28a7f3c473c05403e6015c95bec406336.tar.bz2
openocd_libswd-c2120ba28a7f3c473c05403e6015c95bec406336.tar.xz
openocd_libswd-c2120ba28a7f3c473c05403e6015c95bec406336.zip
Added telnet_async command to enable/disable asynchronous
messages. git-svn-id: svn://svn.berlios.de/openocd/trunk@1117 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/helper')
-rw-r--r--src/helper/command.c13
-rw-r--r--src/helper/command.h8
-rw-r--r--src/helper/startup.tcl16
3 files changed, 34 insertions, 3 deletions
diff --git a/src/helper/command.c b/src/helper/command.c
index 9ade320c..a8de14ee 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 a539c460..49609a68 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 eb190666..0ac1ebd7 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> - 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