FreeCalypso > hg > freecalypso-tools
annotate rvinterf/rvtat/main.c @ 505:7bf0d909c87e
fc-loadtool flash ID check: change of reset after the check logic
This change only affects those flash configurations that have ID checks
enabled. The logic for resetting the flash after the ID check has been
changed as follows:
1) If the check fails, we return without attempting to reset the flash.
2) If the check is successful, we reset the flash using the configured
method (could be AMD or Intel or Intel W30) instead of always doing an
AMD flash reset as the original code did.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 27 May 2019 19:58:01 +0000 |
parents | 261c1b6d936e |
children |
rev | line source |
---|---|
341
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 #include <sys/types.h> |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 #include <stdio.h> |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 #include <stdlib.h> |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 #include <string.h> |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 #include <strings.h> |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 #include <unistd.h> |
346
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
7 #include "pktmux.h" |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
8 #include "limits.h" |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
9 #include "localtypes.h" |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
10 #include "exitcodes.h" |
341
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 |
346
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
12 extern char *socket_pathname; |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
13 extern char *rvinterf_ttyport, *rvinterf_Bopt, *rvinterf_lopt, *rvinterf_wopt; |
341
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 |
346
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
15 extern u_char rvi_msg[]; |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
16 extern int rvi_msg_len; |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
17 |
448
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
18 char command[508], message[508]; |
341
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 int cmd_with_msg; |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 read_command_input(buf) |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 char *buf; |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 { |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 char *nl; |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 |
448
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
26 if (!fgets(buf, 508, stdin)) |
341
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 return(0); |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 nl = index(buf, '\n'); |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 if (!nl) { |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 printf("Ecommand or message is too long\n"); |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 exit(1); |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 } |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 *nl = '\0'; |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 return(1); |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 } |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 |
448
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
37 send_to_target_prefix(str) |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
38 char *str; |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
39 { |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
40 u_char sendpkt[MAX_PKT_TO_TARGET]; |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
41 |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
42 /* fill out the packet */ |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
43 sendpkt[0] = RVT_AT_HEADER; |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
44 sendpkt[1] = 0x01; |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
45 bcopy(str, sendpkt + 2, 252); |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
46 /* send it! */ |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
47 send_pkt_to_target(sendpkt, 254); |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
48 return(0); |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
49 } |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
50 |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
51 send_to_target_plain(str) |
346
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
52 char *str; |
341
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 { |
346
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
54 unsigned len; |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
55 u_char sendpkt[MAX_PKT_TO_TARGET+1]; |
345
cc207d81c05f
fcup-atinterf: implemented wakeup of sleeping targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
344
diff
changeset
|
56 |
346
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
57 len = strlen(str); |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
58 /* fill out the packet */ |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
59 sendpkt[0] = RVT_AT_HEADER; |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
60 strcpy(sendpkt + 1, str); |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
61 /* send it! */ |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
62 send_pkt_to_target(sendpkt, len + 1); |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
63 return(0); |
341
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 } |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 |
448
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
66 send_to_target(str) |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
67 char *str; |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
68 { |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
69 unsigned len; |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
70 |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
71 len = strlen(str); |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
72 if (len <= 254) |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
73 send_to_target_plain(str); |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
74 else { |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
75 send_to_target_prefix(str); |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
76 send_to_target_plain(str + 252); |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
77 } |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
78 return(0); |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
79 } |
261c1b6d936e
fcup-rvtat: added support for long strings with new fw versions
Mychaela Falconia <falcon@freecalypso.org>
parents:
423
diff
changeset
|
80 |
341
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 execute_command() |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 { |
346
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
83 send_to_target(command); |
341
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 if (cmd_with_msg) { |
346
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
85 collect_pkt_from_target(); |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
86 if (rvi_msg_len != 4 || rvi_msg[2] != '>' || rvi_msg[3] != ' '){ |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
87 printf("F%.*s\n", rvi_msg_len - 2, rvi_msg + 2); |
341
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 return; |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 } |
346
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
90 send_to_target(message); |
341
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 } |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 for (;;) { |
346
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
93 collect_pkt_from_target(); |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
94 if (rvi_msg_len == 4 && !strncmp(rvi_msg + 2, "OK", 2) || |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
95 rvi_msg_len == 7 && !strncmp(rvi_msg + 2, "ERROR", 5) || |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
96 rvi_msg_len == 6 && !strncmp(rvi_msg + 2, "BUSY", 4) || |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
97 rvi_msg_len == 12 && |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
98 !strncmp(rvi_msg + 2, "NO CARRIER", 10) || |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
99 rvi_msg_len >= 12 && |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
100 !strncmp(rvi_msg + 2, "+CME ERROR", 10) || |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
101 rvi_msg_len >= 12 && |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
102 !strncmp(rvi_msg + 2, "+CMS ERROR", 10)) { |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
103 printf("F%.*s\n", rvi_msg_len - 2, rvi_msg + 2); |
341
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 return; |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 } |
346
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
106 printf("I%.*s\n", rvi_msg_len - 2, rvi_msg + 2); |
341
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 } |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 } |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 main(argc, argv) |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 char **argv; |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 { |
346
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
113 extern int optind; |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
114 extern char *optarg; |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
115 int c, sopt = 0; |
345
cc207d81c05f
fcup-atinterf: implemented wakeup of sleeping targets
Mychaela Falconia <falcon@freecalypso.org>
parents:
344
diff
changeset
|
116 |
346
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
117 while ((c = getopt(argc, argv, "B:l:p:s:w:")) != EOF) |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
118 switch (c) { |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
119 case 'B': |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
120 rvinterf_Bopt = optarg; |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
121 continue; |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
122 case 'l': |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
123 rvinterf_lopt = optarg; |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
124 continue; |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
125 case 'p': |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
126 rvinterf_ttyport = optarg; |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
127 continue; |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
128 case 's': |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
129 socket_pathname = optarg; |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
130 sopt++; |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
131 continue; |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
132 case 'w': |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
133 rvinterf_wopt = optarg; |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
134 continue; |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
135 case '?': |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
136 default: |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
137 /* error msg already printed */ |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
138 exit(ERROR_USAGE); |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
139 } |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
140 if (rvinterf_ttyport) { |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
141 if (sopt) { |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
142 fprintf(stderr, |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
143 "%s error: -p and -s options are mutually exclusive\n", |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
144 argv[0]); |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
145 exit(ERROR_USAGE); |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
146 } |
423
e40bb5a6c6b9
rvinterf clients: implemented 30 ms delay for batch ops with -p
Mychaela Falconia <falcon@freecalypso.org>
parents:
346
diff
changeset
|
147 launch_rvinterf(1); |
346
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
148 } else { |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
149 if (rvinterf_Bopt || rvinterf_lopt || rvinterf_wopt) { |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
150 fprintf(stderr, |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
151 "%s error: -B, -l and -w options are meaningful only when launching rvinterf\n", |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
152 argv[0]); |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
153 exit(ERROR_USAGE); |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
154 } |
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
155 connect_local_socket(); |
341
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 } |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 while (read_command_input(command)) { |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 if (!strcasecmp(command, "c+m")) { |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 cmd_with_msg = 1; |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 if (!read_command_input(command)) |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 break; |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 if (!read_command_input(message)) |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 break; |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 } else |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 cmd_with_msg = 0; |
346
99471c57155a
fcup-rvtat program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
345
diff
changeset
|
167 rx_control(1); |
341
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 execute_command(); |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 fflush(stdout); |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 } |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 exit(0); |
692dbc4c2f07
fcup-atinterf program written, compiles
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 } |