FreeCalypso > hg > freecalypso-hwlab
comparison simtool/dispatch.c @ 123:b391204d3cd5
fc-simtool: add scripting facility in the form of exec command
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 28 Jan 2021 18:42:24 +0000 |
parents | f18704e91393 |
children | 6c4567dd8946 |
comparison
equal
deleted
inserted
replaced
122:f18704e91393 | 123:b391204d3cd5 |
---|---|
13 #include "globals.h" | 13 #include "globals.h" |
14 | 14 |
15 extern int cmd_change_chv(); | 15 extern int cmd_change_chv(); |
16 extern int cmd_disable_chv(); | 16 extern int cmd_disable_chv(); |
17 extern int cmd_enable_chv(); | 17 extern int cmd_enable_chv(); |
18 extern int cmd_exec(); | |
18 extern int cmd_fix_sysmo_msisdn(); | 19 extern int cmd_fix_sysmo_msisdn(); |
19 extern int cmd_iccid(); | 20 extern int cmd_iccid(); |
20 extern int cmd_imsi(); | 21 extern int cmd_imsi(); |
21 extern int cmd_pb_dump(); | 22 extern int cmd_pb_dump(); |
22 extern int cmd_pb_dump_rec(); | 23 extern int cmd_pb_dump_rec(); |
62 {"change-pin2", 2, 2, cmd_change_chv}, | 63 {"change-pin2", 2, 2, cmd_change_chv}, |
63 {"disable-chv", 1, 1, cmd_disable_chv}, | 64 {"disable-chv", 1, 1, cmd_disable_chv}, |
64 {"disable-pin", 1, 1, cmd_disable_chv}, | 65 {"disable-pin", 1, 1, cmd_disable_chv}, |
65 {"enable-chv", 1, 1, cmd_enable_chv}, | 66 {"enable-chv", 1, 1, cmd_enable_chv}, |
66 {"enable-pin", 1, 1, cmd_enable_chv}, | 67 {"enable-pin", 1, 1, cmd_enable_chv}, |
68 {"exec", 1, 1, cmd_exec}, | |
67 {"exit", 0, 0, cmd_exit}, | 69 {"exit", 0, 0, cmd_exit}, |
68 {"fix-sysmo-msisdn", 0, 0, cmd_fix_sysmo_msisdn}, | 70 {"fix-sysmo-msisdn", 0, 0, cmd_fix_sysmo_msisdn}, |
69 {"iccid", 0, 0, cmd_iccid}, | 71 {"iccid", 0, 0, cmd_iccid}, |
70 {"imsi", 0, 0, cmd_imsi}, | 72 {"imsi", 0, 0, cmd_imsi}, |
71 {"pb-dump", 1, 2, cmd_pb_dump}, | 73 {"pb-dump", 1, 2, cmd_pb_dump}, |
99 {"verify-pin1", 1, 1, cmd_verify_chv}, | 101 {"verify-pin1", 1, 1, cmd_verify_chv}, |
100 {"verify-pin2", 1, 1, cmd_verify_chv}, | 102 {"verify-pin2", 1, 1, cmd_verify_chv}, |
101 {0, 0, 0, 0} | 103 {0, 0, 0, 0} |
102 }; | 104 }; |
103 | 105 |
104 simtool_dispatch_cmd(cmd) | 106 simtool_dispatch_cmd(cmd, is_script) |
105 char *cmd; | 107 char *cmd; |
106 { | 108 { |
107 char *argv[10]; | 109 char *argv[10]; |
108 char *cp, **ap; | 110 char *cp, **ap; |
109 struct cmdtab *tp; | 111 struct cmdtab *tp; |
110 | 112 |
111 for (cp = cmd; isspace(*cp); cp++) | 113 for (cp = cmd; isspace(*cp); cp++) |
112 ; | 114 ; |
113 if (!*cp || *cp == '#') | 115 if (!*cp || *cp == '#') |
114 return(0); | 116 return(0); |
117 if (is_script) | |
118 printf("Script command: %s\n", cp); | |
115 argv[0] = cp; | 119 argv[0] = cp; |
116 while (*cp && !isspace(*cp)) | 120 while (*cp && !isspace(*cp)) |
117 cp++; | 121 cp++; |
118 if (*cp) | 122 if (*cp) |
119 *cp++ = '\0'; | 123 *cp++ = '\0'; |