comparison rvinterf/asyncshell/tchcmd.c @ 1027:1178befeda76

fc-shell: tch command framework started
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 30 May 2016 23:19:30 +0000
parents f511bbac0efa
children 71bbddbcc6a1
comparison
equal deleted inserted replaced
1026:f511bbac0efa 1027:1178befeda76
116 return; 116 return;
117 default: 117 default:
118 goto inv; 118 goto inv;
119 } 119 }
120 } 120 }
121
122 static void
123 cmd_tch_dumpraw(argc, argv)
124 char **argv;
125 {
126 if (argc < 2) {
127 printf("error: too few arguments\n");
128 return;
129 }
130 if (!strcmp(argv[1], "enable") || !strcmp(argv[1], "on") ||
131 !strcmp(argv[1], "1"))
132 tch_rawdump_mode = 1;
133 else if (!strcmp(argv[1], "disable") || !strcmp(argv[1], "off") ||
134 !strcmp(argv[1], "0"))
135 tch_rawdump_mode = 0;
136 else
137 printf("error: boolean argument required\n");
138 }
139
140 static void
141 cmd_tch_status(argc, argv)
142 char **argv;
143 {
144 if (argc > 1) {
145 printf("error: too many arguments\n");
146 return;
147 }
148 printf("TCH raw dump mode is %s\n",
149 tch_rawdump_mode ? "enabled" : "disabled");
150 }
151
152 void
153 cmd_tch_dispatch(argstr)
154 char *argstr;
155 {
156 char *argv[3];
157 int argc, rc;
158
159 rc = parse_interactive_command_into_argv(argstr, argv, 1, 2, &argc);
160 if (rc < 0)
161 return;
162 if (!strcmp(argv[0], "dump-raw")) {
163 cmd_tch_dumpraw(argc, argv);
164 return;
165 }
166 if (!strcmp(argv[0], "status")) {
167 cmd_tch_status(argc, argv);
168 return;
169 }
170 printf("error: invalid tch subcommand\n");
171 }