aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/isdn/i4l/isdn_ttyfax.c
diff options
context:
space:
mode:
authorJoe Perches <joe@perches.com>2012-02-19 22:52:38 -0500
committerJoe Perches <joe@perches.com>2012-02-21 12:04:01 -0500
commit475be4d85a274d0961593db41cf85689db1d583c (patch)
treeb2b8931eb747794730522c3cf1898e46948527b9 /drivers/isdn/i4l/isdn_ttyfax.c
parent0b0a635f79f91f3755b6518627ea06dd0dbfd523 (diff)
isdn: whitespace coding style cleanup
isdn source code uses a not-current coding style. Update the coding style used on a per-line basis so that git diff -w shows only elided blank lines at EOF. Done with emacs and some scripts and some typing. Built x86 allyesconfig. No detected change in objdump -d or size. Signed-off-by: Joe Perches <joe@perches.com>
Diffstat (limited to 'drivers/isdn/i4l/isdn_ttyfax.c')
-rw-r--r--drivers/isdn/i4l/isdn_ttyfax.c1092
1 files changed, 546 insertions, 546 deletions
diff --git a/drivers/isdn/i4l/isdn_ttyfax.c b/drivers/isdn/i4l/isdn_ttyfax.c
index 4c41f191d4e2..47aae4916730 100644
--- a/drivers/isdn/i4l/isdn_ttyfax.c
+++ b/drivers/isdn/i4l/isdn_ttyfax.c
@@ -45,7 +45,7 @@ isdn_getrev(const char *revision)
45 */ 45 */
46 46
47static void 47static void
48isdn_tty_fax_modem_result(int code, modem_info * info) 48isdn_tty_fax_modem_result(int code, modem_info *info)
49{ 49{
50 atemu *m = &info->emu; 50 atemu *m = &info->emu;
51 T30_s *f = info->fax; 51 T30_s *f = info->fax;
@@ -54,9 +54,9 @@ isdn_tty_fax_modem_result(int code, modem_info * info)
54 char *rp; 54 char *rp;
55 int i; 55 int i;
56 static char *msg[] = 56 static char *msg[] =
57 {"OK", "ERROR", "+FCON", "+FCSI:", "+FDIS:", 57 {"OK", "ERROR", "+FCON", "+FCSI:", "+FDIS:",
58 "+FHNG:", "+FDCS:", "CONNECT", "+FTSI:", 58 "+FHNG:", "+FDCS:", "CONNECT", "+FTSI:",
59 "+FCFR", "+FPTS:", "+FET:"}; 59 "+FCFR", "+FPTS:", "+FET:"};
60 60
61 61
62 isdn_tty_at_cout("\r\n", info); 62 isdn_tty_at_cout("\r\n", info);
@@ -64,95 +64,95 @@ isdn_tty_fax_modem_result(int code, modem_info * info)
64 64
65#ifdef ISDN_TTY_FAX_CMD_DEBUG 65#ifdef ISDN_TTY_FAX_CMD_DEBUG
66 printk(KERN_DEBUG "isdn_tty: Fax send %s on ttyI%d\n", 66 printk(KERN_DEBUG "isdn_tty: Fax send %s on ttyI%d\n",
67 msg[code], info->line); 67 msg[code], info->line);
68#endif 68#endif
69 switch (code) { 69 switch (code) {
70 case 0: /* OK */ 70 case 0: /* OK */
71 break; 71 break;
72 case 1: /* ERROR */ 72 case 1: /* ERROR */
73 break; 73 break;
74 case 2: /* +FCON */ 74 case 2: /* +FCON */
75 /* Append CPN, if enabled */ 75 /* Append CPN, if enabled */
76 if ((m->mdmreg[REG_CPNFCON] & BIT_CPNFCON) && 76 if ((m->mdmreg[REG_CPNFCON] & BIT_CPNFCON) &&
77 (!(dev->usage[info->isdn_channel] & ISDN_USAGE_OUTGOING))) { 77 (!(dev->usage[info->isdn_channel] & ISDN_USAGE_OUTGOING))) {
78 sprintf(rs, "/%s", m->cpn); 78 sprintf(rs, "/%s", m->cpn);
79 isdn_tty_at_cout(rs, info);
80 }
81 info->online = 1;
82 f->fet = 0;
83 if (f->phase == ISDN_FAX_PHASE_A)
84 f->phase = ISDN_FAX_PHASE_B;
85 break;
86 case 3: /* +FCSI */
87 case 8: /* +FTSI */
88 sprintf(rs, "\"%s\"", f->r_id);
89 isdn_tty_at_cout(rs, info);
90 break;
91 case 4: /* +FDIS */
92 rs[0] = 0;
93 rp = &f->r_resolution;
94 for (i = 0; i < 8; i++) {
95 sprintf(rss, "%c%s", rp[i] + 48,
96 (i < 7) ? "," : "");
97 strcat(rs, rss);
98 }
99 isdn_tty_at_cout(rs, info); 79 isdn_tty_at_cout(rs, info);
80 }
81 info->online = 1;
82 f->fet = 0;
83 if (f->phase == ISDN_FAX_PHASE_A)
84 f->phase = ISDN_FAX_PHASE_B;
85 break;
86 case 3: /* +FCSI */
87 case 8: /* +FTSI */
88 sprintf(rs, "\"%s\"", f->r_id);
89 isdn_tty_at_cout(rs, info);
90 break;
91 case 4: /* +FDIS */
92 rs[0] = 0;
93 rp = &f->r_resolution;
94 for (i = 0; i < 8; i++) {
95 sprintf(rss, "%c%s", rp[i] + 48,
96 (i < 7) ? "," : "");
97 strcat(rs, rss);
98 }
99 isdn_tty_at_cout(rs, info);
100#ifdef ISDN_TTY_FAX_CMD_DEBUG 100#ifdef ISDN_TTY_FAX_CMD_DEBUG
101 printk(KERN_DEBUG "isdn_tty: Fax DIS=%s on ttyI%d\n", 101 printk(KERN_DEBUG "isdn_tty: Fax DIS=%s on ttyI%d\n",
102 rs, info->line); 102 rs, info->line);
103#endif 103#endif
104 break; 104 break;
105 case 5: /* +FHNG */ 105 case 5: /* +FHNG */
106 sprintf(rs, "%d", f->code); 106 sprintf(rs, "%d", f->code);
107 isdn_tty_at_cout(rs, info); 107 isdn_tty_at_cout(rs, info);
108 info->faxonline = 0; 108 info->faxonline = 0;
109 break; 109 break;
110 case 6: /* +FDCS */ 110 case 6: /* +FDCS */
111 rs[0] = 0; 111 rs[0] = 0;
112 rp = &f->r_resolution; 112 rp = &f->r_resolution;
113 for (i = 0; i < 8; i++) { 113 for (i = 0; i < 8; i++) {
114 sprintf(rss, "%c%s", rp[i] + 48, 114 sprintf(rss, "%c%s", rp[i] + 48,
115 (i < 7) ? "," : ""); 115 (i < 7) ? "," : "");
116 strcat(rs, rss); 116 strcat(rs, rss);
117 } 117 }
118 isdn_tty_at_cout(rs, info); 118 isdn_tty_at_cout(rs, info);
119#ifdef ISDN_TTY_FAX_CMD_DEBUG 119#ifdef ISDN_TTY_FAX_CMD_DEBUG
120 printk(KERN_DEBUG "isdn_tty: Fax DCS=%s on ttyI%d\n", 120 printk(KERN_DEBUG "isdn_tty: Fax DCS=%s on ttyI%d\n",
121 rs, info->line); 121 rs, info->line);
122#endif 122#endif
123 break; 123 break;
124 case 7: /* CONNECT */ 124 case 7: /* CONNECT */
125 info->faxonline |= 2; 125 info->faxonline |= 2;
126 break; 126 break;
127 case 9: /* FCFR */ 127 case 9: /* FCFR */
128 break; 128 break;
129 case 10: /* FPTS */ 129 case 10: /* FPTS */
130 isdn_tty_at_cout("1", info); 130 isdn_tty_at_cout("1", info);
131 break; 131 break;
132 case 11: /* FET */ 132 case 11: /* FET */
133 sprintf(rs, "%d", f->fet); 133 sprintf(rs, "%d", f->fet);
134 isdn_tty_at_cout(rs, info); 134 isdn_tty_at_cout(rs, info);
135 break; 135 break;
136 } 136 }
137 137
138 isdn_tty_at_cout("\r\n", info); 138 isdn_tty_at_cout("\r\n", info);
139 139
140 switch (code) { 140 switch (code) {
141 case 7: /* CONNECT */ 141 case 7: /* CONNECT */
142 info->online = 2; 142 info->online = 2;
143 if (info->faxonline & 1) { 143 if (info->faxonline & 1) {
144 sprintf(rs, "%c", XON); 144 sprintf(rs, "%c", XON);
145 isdn_tty_at_cout(rs, info); 145 isdn_tty_at_cout(rs, info);
146 } 146 }
147 break; 147 break;
148 } 148 }
149} 149}
150 150
151static int 151static int
152isdn_tty_fax_command1(modem_info * info, isdn_ctrl * c) 152isdn_tty_fax_command1(modem_info *info, isdn_ctrl *c)
153{ 153{
154 static char *msg[] = 154 static char *msg[] =
155 {"OK", "CONNECT", "NO CARRIER", "ERROR", "FCERROR"}; 155 {"OK", "CONNECT", "NO CARRIER", "ERROR", "FCERROR"};
156 156
157#ifdef ISDN_TTY_FAX_CMD_DEBUG 157#ifdef ISDN_TTY_FAX_CMD_DEBUG
158 printk(KERN_DEBUG "isdn_tty: FCLASS1 cmd(%d)\n", c->parm.aux.cmd); 158 printk(KERN_DEBUG "isdn_tty: FCLASS1 cmd(%d)\n", c->parm.aux.cmd);
@@ -165,30 +165,30 @@ isdn_tty_fax_command1(modem_info * info, isdn_ctrl * c)
165 isdn_tty_at_cout("\r\n", info); 165 isdn_tty_at_cout("\r\n", info);
166 } 166 }
167 switch (c->parm.aux.cmd) { 167 switch (c->parm.aux.cmd) {
168 case ISDN_FAX_CLASS1_CONNECT: 168 case ISDN_FAX_CLASS1_CONNECT:
169 info->online = 2; 169 info->online = 2;
170 break; 170 break;
171 case ISDN_FAX_CLASS1_OK: 171 case ISDN_FAX_CLASS1_OK:
172 case ISDN_FAX_CLASS1_FCERROR: 172 case ISDN_FAX_CLASS1_FCERROR:
173 case ISDN_FAX_CLASS1_ERROR: 173 case ISDN_FAX_CLASS1_ERROR:
174 case ISDN_FAX_CLASS1_NOCARR: 174 case ISDN_FAX_CLASS1_NOCARR:
175 break; 175 break;
176 case ISDN_FAX_CLASS1_QUERY: 176 case ISDN_FAX_CLASS1_QUERY:
177 isdn_tty_at_cout("\r\n", info);
178 if (!c->parm.aux.para[0]) {
179 isdn_tty_at_cout(msg[ISDN_FAX_CLASS1_ERROR], info);
177 isdn_tty_at_cout("\r\n", info); 180 isdn_tty_at_cout("\r\n", info);
178 if (!c->parm.aux.para[0]) { 181 } else {
179 isdn_tty_at_cout(msg[ISDN_FAX_CLASS1_ERROR], info); 182 isdn_tty_at_cout(c->parm.aux.para, info);
180 isdn_tty_at_cout("\r\n", info); 183 isdn_tty_at_cout("\r\nOK\r\n", info);
181 } else { 184 }
182 isdn_tty_at_cout(c->parm.aux.para, info); 185 break;
183 isdn_tty_at_cout("\r\nOK\r\n", info);
184 }
185 break;
186 } 186 }
187 return (0); 187 return (0);
188} 188}
189 189
190int 190int
191isdn_tty_fax_command(modem_info * info, isdn_ctrl * c) 191isdn_tty_fax_command(modem_info *info, isdn_ctrl *c)
192{ 192{
193 T30_s *f = info->fax; 193 T30_s *f = info->fax;
194 char rs[10]; 194 char rs[10];
@@ -201,78 +201,78 @@ isdn_tty_fax_command(modem_info * info, isdn_ctrl * c)
201 f->r_code, info->line); 201 f->r_code, info->line);
202#endif 202#endif
203 switch (f->r_code) { 203 switch (f->r_code) {
204 case ISDN_TTY_FAX_FCON: 204 case ISDN_TTY_FAX_FCON:
205 info->faxonline = 1; 205 info->faxonline = 1;
206 isdn_tty_fax_modem_result(2, info); /* +FCON */ 206 isdn_tty_fax_modem_result(2, info); /* +FCON */
207 return (0); 207 return (0);
208 case ISDN_TTY_FAX_FCON_I: 208 case ISDN_TTY_FAX_FCON_I:
209 info->faxonline = 16; 209 info->faxonline = 16;
210 isdn_tty_fax_modem_result(2, info); /* +FCON */ 210 isdn_tty_fax_modem_result(2, info); /* +FCON */
211 return (0); 211 return (0);
212 case ISDN_TTY_FAX_RID: 212 case ISDN_TTY_FAX_RID:
213 if (info->faxonline & 1) 213 if (info->faxonline & 1)
214 isdn_tty_fax_modem_result(3, info); /* +FCSI */ 214 isdn_tty_fax_modem_result(3, info); /* +FCSI */
215 if (info->faxonline & 16) 215 if (info->faxonline & 16)
216 isdn_tty_fax_modem_result(8, info); /* +FTSI */ 216 isdn_tty_fax_modem_result(8, info); /* +FTSI */
217 return (0); 217 return (0);
218 case ISDN_TTY_FAX_DIS: 218 case ISDN_TTY_FAX_DIS:
219 isdn_tty_fax_modem_result(4, info); /* +FDIS */ 219 isdn_tty_fax_modem_result(4, info); /* +FDIS */
220 return (0); 220 return (0);
221 case ISDN_TTY_FAX_HNG: 221 case ISDN_TTY_FAX_HNG:
222 if (f->phase == ISDN_FAX_PHASE_C) { 222 if (f->phase == ISDN_FAX_PHASE_C) {
223 if (f->direction == ISDN_TTY_FAX_CONN_IN) { 223 if (f->direction == ISDN_TTY_FAX_CONN_IN) {
224 sprintf(rs, "%c%c", DLE, ETX); 224 sprintf(rs, "%c%c", DLE, ETX);
225 isdn_tty_at_cout(rs, info); 225 isdn_tty_at_cout(rs, info);
226 } else { 226 } else {
227 sprintf(rs, "%c", 0x18); 227 sprintf(rs, "%c", 0x18);
228 isdn_tty_at_cout(rs, info); 228 isdn_tty_at_cout(rs, info);
229 }
230 info->faxonline &= ~2; /* leave data mode */
231 info->online = 1;
232 }
233 f->phase = ISDN_FAX_PHASE_E;
234 isdn_tty_fax_modem_result(5, info); /* +FHNG */
235 isdn_tty_fax_modem_result(0, info); /* OK */
236 return (0);
237 case ISDN_TTY_FAX_DCS:
238 isdn_tty_fax_modem_result(6, info); /* +FDCS */
239 isdn_tty_fax_modem_result(7, info); /* CONNECT */
240 f->phase = ISDN_FAX_PHASE_C;
241 return (0);
242 case ISDN_TTY_FAX_TRAIN_OK:
243 isdn_tty_fax_modem_result(6, info); /* +FDCS */
244 isdn_tty_fax_modem_result(0, info); /* OK */
245 return (0);
246 case ISDN_TTY_FAX_SENT:
247 isdn_tty_fax_modem_result(0, info); /* OK */
248 return (0);
249 case ISDN_TTY_FAX_CFR:
250 isdn_tty_fax_modem_result(9, info); /* +FCFR */
251 return (0);
252 case ISDN_TTY_FAX_ET:
253 sprintf(rs, "%c%c", DLE, ETX);
254 isdn_tty_at_cout(rs, info);
255 isdn_tty_fax_modem_result(10, info); /* +FPTS */
256 isdn_tty_fax_modem_result(11, info); /* +FET */
257 isdn_tty_fax_modem_result(0, info); /* OK */
258 info->faxonline &= ~2; /* leave data mode */
259 info->online = 1;
260 f->phase = ISDN_FAX_PHASE_D;
261 return (0);
262 case ISDN_TTY_FAX_PTS:
263 isdn_tty_fax_modem_result(10, info); /* +FPTS */
264 if (f->direction == ISDN_TTY_FAX_CONN_OUT) {
265 if (f->fet == 1)
266 f->phase = ISDN_FAX_PHASE_B;
267 if (f->fet == 0)
268 isdn_tty_fax_modem_result(0, info); /* OK */
269 } 229 }
270 return (0);
271 case ISDN_TTY_FAX_EOP:
272 info->faxonline &= ~2; /* leave data mode */ 230 info->faxonline &= ~2; /* leave data mode */
273 info->online = 1; 231 info->online = 1;
274 f->phase = ISDN_FAX_PHASE_D; 232 }
275 return (0); 233 f->phase = ISDN_FAX_PHASE_E;
234 isdn_tty_fax_modem_result(5, info); /* +FHNG */
235 isdn_tty_fax_modem_result(0, info); /* OK */
236 return (0);
237 case ISDN_TTY_FAX_DCS:
238 isdn_tty_fax_modem_result(6, info); /* +FDCS */
239 isdn_tty_fax_modem_result(7, info); /* CONNECT */
240 f->phase = ISDN_FAX_PHASE_C;
241 return (0);
242 case ISDN_TTY_FAX_TRAIN_OK:
243 isdn_tty_fax_modem_result(6, info); /* +FDCS */
244 isdn_tty_fax_modem_result(0, info); /* OK */
245 return (0);
246 case ISDN_TTY_FAX_SENT:
247 isdn_tty_fax_modem_result(0, info); /* OK */
248 return (0);
249 case ISDN_TTY_FAX_CFR:
250 isdn_tty_fax_modem_result(9, info); /* +FCFR */
251 return (0);
252 case ISDN_TTY_FAX_ET:
253 sprintf(rs, "%c%c", DLE, ETX);
254 isdn_tty_at_cout(rs, info);
255 isdn_tty_fax_modem_result(10, info); /* +FPTS */
256 isdn_tty_fax_modem_result(11, info); /* +FET */
257 isdn_tty_fax_modem_result(0, info); /* OK */
258 info->faxonline &= ~2; /* leave data mode */
259 info->online = 1;
260 f->phase = ISDN_FAX_PHASE_D;
261 return (0);
262 case ISDN_TTY_FAX_PTS:
263 isdn_tty_fax_modem_result(10, info); /* +FPTS */
264 if (f->direction == ISDN_TTY_FAX_CONN_OUT) {
265 if (f->fet == 1)
266 f->phase = ISDN_FAX_PHASE_B;
267 if (f->fet == 0)
268 isdn_tty_fax_modem_result(0, info); /* OK */
269 }
270 return (0);
271 case ISDN_TTY_FAX_EOP:
272 info->faxonline &= ~2; /* leave data mode */
273 info->online = 1;
274 f->phase = ISDN_FAX_PHASE_D;
275 return (0);
276 276
277 } 277 }
278 return (-1); 278 return (-1);
@@ -280,7 +280,7 @@ isdn_tty_fax_command(modem_info * info, isdn_ctrl * c)
280 280
281 281
282void 282void
283isdn_tty_fax_bitorder(modem_info * info, struct sk_buff *skb) 283isdn_tty_fax_bitorder(modem_info *info, struct sk_buff *skb)
284{ 284{
285 __u8 LeftMask; 285 __u8 LeftMask;
286 __u8 RightMask; 286 __u8 RightMask;
@@ -292,10 +292,10 @@ isdn_tty_fax_bitorder(modem_info * info, struct sk_buff *skb)
292 for (i = 0; i < skb->len; i++) { 292 for (i = 0; i < skb->len; i++) {
293 Data = skb->data[i]; 293 Data = skb->data[i];
294 for ( 294 for (
295 LeftMask = 0x80, RightMask = 0x01; 295 LeftMask = 0x80, RightMask = 0x01;
296 LeftMask > RightMask; 296 LeftMask > RightMask;
297 LeftMask >>= 1, RightMask <<= 1 297 LeftMask >>= 1, RightMask <<= 1
298 ) { 298 ) {
299 fBit = (Data & LeftMask); 299 fBit = (Data & LeftMask);
300 if (Data & RightMask) 300 if (Data & RightMask)
301 Data |= LeftMask; 301 Data |= LeftMask;
@@ -317,10 +317,10 @@ isdn_tty_fax_bitorder(modem_info * info, struct sk_buff *skb)
317 */ 317 */
318 318
319static int 319static int
320isdn_tty_cmd_FCLASS1(char **p, modem_info * info) 320isdn_tty_cmd_FCLASS1(char **p, modem_info *info)
321{ 321{
322 static char *cmd[] = 322 static char *cmd[] =
323 {"AE", "TS", "RS", "TM", "RM", "TH", "RH"}; 323 {"AE", "TS", "RS", "TM", "RM", "TH", "RH"};
324 isdn_ctrl c; 324 isdn_ctrl c;
325 int par, i; 325 int par, i;
326 u_long flags; 326 u_long flags;
@@ -337,28 +337,28 @@ isdn_tty_cmd_FCLASS1(char **p, modem_info * info)
337 337
338 p[0] += 2; 338 p[0] += 2;
339 switch (*p[0]) { 339 switch (*p[0]) {
340 case '?': 340 case '?':
341 p[0]++; 341 p[0]++;
342 c.parm.aux.subcmd = AT_QUERY; 342 c.parm.aux.subcmd = AT_QUERY;
343 break; 343 break;
344 case '=': 344 case '=':
345 p[0]++;
346 if (*p[0] == '?') {
345 p[0]++; 347 p[0]++;
346 if (*p[0] == '?') { 348 c.parm.aux.subcmd = AT_EQ_QUERY;
347 p[0]++; 349 } else {
348 c.parm.aux.subcmd = AT_EQ_QUERY; 350 par = isdn_getnum(p);
349 } else { 351 if ((par < 0) || (par > 255))
350 par = isdn_getnum(p); 352 PARSE_ERROR1;
351 if ((par < 0) || (par > 255)) 353 c.parm.aux.subcmd = AT_EQ_VALUE;
352 PARSE_ERROR1; 354 c.parm.aux.para[0] = par;
353 c.parm.aux.subcmd = AT_EQ_VALUE; 355 }
354 c.parm.aux.para[0] = par; 356 break;
355 } 357 case 0:
356 break; 358 c.parm.aux.subcmd = AT_COMMAND;
357 case 0: 359 break;
358 c.parm.aux.subcmd = AT_COMMAND; 360 default:
359 break; 361 PARSE_ERROR1;
360 default:
361 PARSE_ERROR1;
362 } 362 }
363 c.command = ISDN_CMD_FAXCMD; 363 c.command = ISDN_CMD_FAXCMD;
364#ifdef ISDN_TTY_FAX_CMD_DEBUG 364#ifdef ISDN_TTY_FAX_CMD_DEBUG
@@ -409,7 +409,7 @@ isdn_tty_cmd_FCLASS1(char **p, modem_info * info)
409 */ 409 */
410 410
411static int 411static int
412isdn_tty_cmd_FCLASS2(char **p, modem_info * info) 412isdn_tty_cmd_FCLASS2(char **p, modem_info *info)
413{ 413{
414 atemu *m = &info->emu; 414 atemu *m = &info->emu;
415 T30_s *f = info->fax; 415 T30_s *f = info->fax;
@@ -418,25 +418,25 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
418 char rs[50]; 418 char rs[50];
419 char rss[50]; 419 char rss[50];
420 int maxdccval[] = 420 int maxdccval[] =
421 {1, 5, 2, 2, 3, 2, 0, 7}; 421 {1, 5, 2, 2, 3, 2, 0, 7};
422 422
423 /* FAA still unchanged */ 423 /* FAA still unchanged */
424 if (!strncmp(p[0], "AA", 2)) { /* TODO */ 424 if (!strncmp(p[0], "AA", 2)) { /* TODO */
425 p[0] += 2; 425 p[0] += 2;
426 switch (*p[0]) { 426 switch (*p[0]) {
427 case '?': 427 case '?':
428 p[0]++; 428 p[0]++;
429 sprintf(rs, "\r\n%d", 0); 429 sprintf(rs, "\r\n%d", 0);
430 isdn_tty_at_cout(rs, info); 430 isdn_tty_at_cout(rs, info);
431 break; 431 break;
432 case '=': 432 case '=':
433 p[0]++; 433 p[0]++;
434 par = isdn_getnum(p); 434 par = isdn_getnum(p);
435 if ((par < 0) || (par > 255)) 435 if ((par < 0) || (par > 255))
436 PARSE_ERROR1;
437 break;
438 default:
439 PARSE_ERROR1; 436 PARSE_ERROR1;
437 break;
438 default:
439 PARSE_ERROR1;
440 } 440 }
441 return 0; 441 return 0;
442 } 442 }
@@ -444,29 +444,29 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
444 if (!strncmp(p[0], "BADLIN", 6)) { 444 if (!strncmp(p[0], "BADLIN", 6)) {
445 p[0] += 6; 445 p[0] += 6;
446 switch (*p[0]) { 446 switch (*p[0]) {
447 case '?': 447 case '?':
448 p[0]++;
449 sprintf(rs, "\r\n%d", f->badlin);
450 isdn_tty_at_cout(rs, info);
451 break;
452 case '=':
453 p[0]++;
454 if (*p[0] == '?') {
448 p[0]++; 455 p[0]++;
449 sprintf(rs, "\r\n%d", f->badlin); 456 sprintf(rs, "\r\n0-255");
450 isdn_tty_at_cout(rs, info); 457 isdn_tty_at_cout(rs, info);
451 break; 458 } else {
452 case '=': 459 par = isdn_getnum(p);
453 p[0]++; 460 if ((par < 0) || (par > 255))
454 if (*p[0] == '?') { 461 PARSE_ERROR1;
455 p[0]++; 462 f->badlin = par;
456 sprintf(rs, "\r\n0-255");
457 isdn_tty_at_cout(rs, info);
458 } else {
459 par = isdn_getnum(p);
460 if ((par < 0) || (par > 255))
461 PARSE_ERROR1;
462 f->badlin = par;
463#ifdef ISDN_TTY_FAX_STAT_DEBUG 463#ifdef ISDN_TTY_FAX_STAT_DEBUG
464 printk(KERN_DEBUG "isdn_tty: Fax FBADLIN=%d\n", par); 464 printk(KERN_DEBUG "isdn_tty: Fax FBADLIN=%d\n", par);
465#endif 465#endif
466 } 466 }
467 break; 467 break;
468 default: 468 default:
469 PARSE_ERROR1; 469 PARSE_ERROR1;
470 } 470 }
471 return 0; 471 return 0;
472 } 472 }
@@ -474,29 +474,29 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
474 if (!strncmp(p[0], "BADMUL", 6)) { 474 if (!strncmp(p[0], "BADMUL", 6)) {
475 p[0] += 6; 475 p[0] += 6;
476 switch (*p[0]) { 476 switch (*p[0]) {
477 case '?': 477 case '?':
478 p[0]++;
479 sprintf(rs, "\r\n%d", f->badmul);
480 isdn_tty_at_cout(rs, info);
481 break;
482 case '=':
483 p[0]++;
484 if (*p[0] == '?') {
478 p[0]++; 485 p[0]++;
479 sprintf(rs, "\r\n%d", f->badmul); 486 sprintf(rs, "\r\n0-255");
480 isdn_tty_at_cout(rs, info); 487 isdn_tty_at_cout(rs, info);
481 break; 488 } else {
482 case '=': 489 par = isdn_getnum(p);
483 p[0]++; 490 if ((par < 0) || (par > 255))
484 if (*p[0] == '?') { 491 PARSE_ERROR1;
485 p[0]++; 492 f->badmul = par;
486 sprintf(rs, "\r\n0-255");
487 isdn_tty_at_cout(rs, info);
488 } else {
489 par = isdn_getnum(p);
490 if ((par < 0) || (par > 255))
491 PARSE_ERROR1;
492 f->badmul = par;
493#ifdef ISDN_TTY_FAX_STAT_DEBUG 493#ifdef ISDN_TTY_FAX_STAT_DEBUG
494 printk(KERN_DEBUG "isdn_tty: Fax FBADMUL=%d\n", par); 494 printk(KERN_DEBUG "isdn_tty: Fax FBADMUL=%d\n", par);
495#endif 495#endif
496 } 496 }
497 break; 497 break;
498 default: 498 default:
499 PARSE_ERROR1; 499 PARSE_ERROR1;
500 } 500 }
501 return 0; 501 return 0;
502 } 502 }
@@ -504,29 +504,29 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
504 if (!strncmp(p[0], "BOR", 3)) { 504 if (!strncmp(p[0], "BOR", 3)) {
505 p[0] += 3; 505 p[0] += 3;
506 switch (*p[0]) { 506 switch (*p[0]) {
507 case '?': 507 case '?':
508 p[0]++;
509 sprintf(rs, "\r\n%d", f->bor);
510 isdn_tty_at_cout(rs, info);
511 break;
512 case '=':
513 p[0]++;
514 if (*p[0] == '?') {
508 p[0]++; 515 p[0]++;
509 sprintf(rs, "\r\n%d", f->bor); 516 sprintf(rs, "\r\n0,1");
510 isdn_tty_at_cout(rs, info); 517 isdn_tty_at_cout(rs, info);
511 break; 518 } else {
512 case '=': 519 par = isdn_getnum(p);
513 p[0]++; 520 if ((par < 0) || (par > 1))
514 if (*p[0] == '?') { 521 PARSE_ERROR1;
515 p[0]++; 522 f->bor = par;
516 sprintf(rs, "\r\n0,1");
517 isdn_tty_at_cout(rs, info);
518 } else {
519 par = isdn_getnum(p);
520 if ((par < 0) || (par > 1))
521 PARSE_ERROR1;
522 f->bor = par;
523#ifdef ISDN_TTY_FAX_STAT_DEBUG 523#ifdef ISDN_TTY_FAX_STAT_DEBUG
524 printk(KERN_DEBUG "isdn_tty: Fax FBOR=%d\n", par); 524 printk(KERN_DEBUG "isdn_tty: Fax FBOR=%d\n", par);
525#endif 525#endif
526 } 526 }
527 break; 527 break;
528 default: 528 default:
529 PARSE_ERROR1; 529 PARSE_ERROR1;
530 } 530 }
531 return 0; 531 return 0;
532 } 532 }
@@ -534,29 +534,29 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
534 if (!strncmp(p[0], "NBC", 3)) { 534 if (!strncmp(p[0], "NBC", 3)) {
535 p[0] += 3; 535 p[0] += 3;
536 switch (*p[0]) { 536 switch (*p[0]) {
537 case '?': 537 case '?':
538 p[0]++;
539 sprintf(rs, "\r\n%d", f->nbc);
540 isdn_tty_at_cout(rs, info);
541 break;
542 case '=':
543 p[0]++;
544 if (*p[0] == '?') {
538 p[0]++; 545 p[0]++;
539 sprintf(rs, "\r\n%d", f->nbc); 546 sprintf(rs, "\r\n0,1");
540 isdn_tty_at_cout(rs, info); 547 isdn_tty_at_cout(rs, info);
541 break; 548 } else {
542 case '=': 549 par = isdn_getnum(p);
543 p[0]++; 550 if ((par < 0) || (par > 1))
544 if (*p[0] == '?') { 551 PARSE_ERROR1;
545 p[0]++; 552 f->nbc = par;
546 sprintf(rs, "\r\n0,1");
547 isdn_tty_at_cout(rs, info);
548 } else {
549 par = isdn_getnum(p);
550 if ((par < 0) || (par > 1))
551 PARSE_ERROR1;
552 f->nbc = par;
553#ifdef ISDN_TTY_FAX_STAT_DEBUG 553#ifdef ISDN_TTY_FAX_STAT_DEBUG
554 printk(KERN_DEBUG "isdn_tty: Fax FNBC=%d\n", par); 554 printk(KERN_DEBUG "isdn_tty: Fax FNBC=%d\n", par);
555#endif 555#endif
556 } 556 }
557 break; 557 break;
558 default: 558 default:
559 PARSE_ERROR1; 559 PARSE_ERROR1;
560 } 560 }
561 return 0; 561 return 0;
562 } 562 }
@@ -576,36 +576,36 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
576 int i, r; 576 int i, r;
577 p[0] += 3; 577 p[0] += 3;
578 switch (*p[0]) { 578 switch (*p[0]) {
579 case '?': 579 case '?':
580 p[0]++;
581 sprintf(rs, "\r\n\"%s\"", f->pollid);
582 isdn_tty_at_cout(rs, info);
583 break;
584 case '=':
585 p[0]++;
586 if (*p[0] == '?') {
580 p[0]++; 587 p[0]++;
581 sprintf(rs, "\r\n\"%s\"", f->pollid); 588 sprintf(rs, "\r\n\"STRING\"");
582 isdn_tty_at_cout(rs, info); 589 isdn_tty_at_cout(rs, info);
583 break; 590 } else {
584 case '=': 591 if (*p[0] == '"')
585 p[0]++;
586 if (*p[0] == '?') {
587 p[0]++; 592 p[0]++;
588 sprintf(rs, "\r\n\"STRING\""); 593 for (i = 0; (*p[0]) && i < (FAXIDLEN - 1) && (*p[0] != '"'); i++) {
589 isdn_tty_at_cout(rs, info); 594 f->pollid[i] = *p[0]++;
590 } else { 595 }
591 if (*p[0] == '"') 596 if (*p[0] == '"')
592 p[0]++; 597 p[0]++;
593 for (i = 0; (*p[0]) && i < (FAXIDLEN - 1) && (*p[0] != '"'); i++) { 598 for (r = i; r < FAXIDLEN; r++) {
594 f->pollid[i] = *p[0]++; 599 f->pollid[r] = 32;
595 } 600 }
596 if (*p[0] == '"') 601 f->pollid[FAXIDLEN - 1] = 0;
597 p[0]++;
598 for (r = i; r < FAXIDLEN; r++) {
599 f->pollid[r] = 32;
600 }
601 f->pollid[FAXIDLEN - 1] = 0;
602#ifdef ISDN_TTY_FAX_STAT_DEBUG 602#ifdef ISDN_TTY_FAX_STAT_DEBUG
603 printk(KERN_DEBUG "isdn_tty: Fax local poll ID rx \"%s\"\n", f->pollid); 603 printk(KERN_DEBUG "isdn_tty: Fax local poll ID rx \"%s\"\n", f->pollid);
604#endif 604#endif
605 } 605 }
606 break; 606 break;
607 default: 607 default:
608 PARSE_ERROR1; 608 PARSE_ERROR1;
609 } 609 }
610 return 0; 610 return 0;
611 } 611 }
@@ -613,29 +613,29 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
613 if (!strncmp(p[0], "CQ", 2)) { 613 if (!strncmp(p[0], "CQ", 2)) {
614 p[0] += 2; 614 p[0] += 2;
615 switch (*p[0]) { 615 switch (*p[0]) {
616 case '?': 616 case '?':
617 p[0]++;
618 sprintf(rs, "\r\n%d", f->cq);
619 isdn_tty_at_cout(rs, info);
620 break;
621 case '=':
622 p[0]++;
623 if (*p[0] == '?') {
617 p[0]++; 624 p[0]++;
618 sprintf(rs, "\r\n%d", f->cq); 625 sprintf(rs, "\r\n0,1,2");
619 isdn_tty_at_cout(rs, info); 626 isdn_tty_at_cout(rs, info);
620 break; 627 } else {
621 case '=': 628 par = isdn_getnum(p);
622 p[0]++; 629 if ((par < 0) || (par > 2))
623 if (*p[0] == '?') { 630 PARSE_ERROR1;
624 p[0]++; 631 f->cq = par;
625 sprintf(rs, "\r\n0,1,2");
626 isdn_tty_at_cout(rs, info);
627 } else {
628 par = isdn_getnum(p);
629 if ((par < 0) || (par > 2))
630 PARSE_ERROR1;
631 f->cq = par;
632#ifdef ISDN_TTY_FAX_STAT_DEBUG 632#ifdef ISDN_TTY_FAX_STAT_DEBUG
633 printk(KERN_DEBUG "isdn_tty: Fax FCQ=%d\n", par); 633 printk(KERN_DEBUG "isdn_tty: Fax FCQ=%d\n", par);
634#endif 634#endif
635 } 635 }
636 break; 636 break;
637 default: 637 default:
638 PARSE_ERROR1; 638 PARSE_ERROR1;
639 } 639 }
640 return 0; 640 return 0;
641 } 641 }
@@ -643,29 +643,29 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
643 if (!strncmp(p[0], "CR", 2)) { 643 if (!strncmp(p[0], "CR", 2)) {
644 p[0] += 2; 644 p[0] += 2;
645 switch (*p[0]) { 645 switch (*p[0]) {
646 case '?': 646 case '?':
647 p[0]++;
648 sprintf(rs, "\r\n%d", f->cr); /* read actual value from struct and print */
649 isdn_tty_at_cout(rs, info);
650 break;
651 case '=':
652 p[0]++;
653 if (*p[0] == '?') {
647 p[0]++; 654 p[0]++;
648 sprintf(rs, "\r\n%d", f->cr); /* read actual value from struct and print */ 655 sprintf(rs, "\r\n0,1"); /* display online help */
649 isdn_tty_at_cout(rs, info); 656 isdn_tty_at_cout(rs, info);
650 break; 657 } else {
651 case '=': 658 par = isdn_getnum(p);
652 p[0]++; 659 if ((par < 0) || (par > 1))
653 if (*p[0] == '?') { 660 PARSE_ERROR1;
654 p[0]++; 661 f->cr = par;
655 sprintf(rs, "\r\n0,1"); /* display online help */
656 isdn_tty_at_cout(rs, info);
657 } else {
658 par = isdn_getnum(p);
659 if ((par < 0) || (par > 1))
660 PARSE_ERROR1;
661 f->cr = par;
662#ifdef ISDN_TTY_FAX_STAT_DEBUG 662#ifdef ISDN_TTY_FAX_STAT_DEBUG
663 printk(KERN_DEBUG "isdn_tty: Fax FCR=%d\n", par); 663 printk(KERN_DEBUG "isdn_tty: Fax FCR=%d\n", par);
664#endif 664#endif
665 } 665 }
666 break; 666 break;
667 default: 667 default:
668 PARSE_ERROR1; 668 PARSE_ERROR1;
669 } 669 }
670 return 0; 670 return 0;
671 } 671 }
@@ -673,29 +673,29 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
673 if (!strncmp(p[0], "CTCRTY", 6)) { 673 if (!strncmp(p[0], "CTCRTY", 6)) {
674 p[0] += 6; 674 p[0] += 6;
675 switch (*p[0]) { 675 switch (*p[0]) {
676 case '?': 676 case '?':
677 p[0]++;
678 sprintf(rs, "\r\n%d", f->ctcrty);
679 isdn_tty_at_cout(rs, info);
680 break;
681 case '=':
682 p[0]++;
683 if (*p[0] == '?') {
677 p[0]++; 684 p[0]++;
678 sprintf(rs, "\r\n%d", f->ctcrty); 685 sprintf(rs, "\r\n0-255");
679 isdn_tty_at_cout(rs, info); 686 isdn_tty_at_cout(rs, info);
680 break; 687 } else {
681 case '=': 688 par = isdn_getnum(p);
682 p[0]++; 689 if ((par < 0) || (par > 255))
683 if (*p[0] == '?') { 690 PARSE_ERROR1;
684 p[0]++; 691 f->ctcrty = par;
685 sprintf(rs, "\r\n0-255");
686 isdn_tty_at_cout(rs, info);
687 } else {
688 par = isdn_getnum(p);
689 if ((par < 0) || (par > 255))
690 PARSE_ERROR1;
691 f->ctcrty = par;
692#ifdef ISDN_TTY_FAX_STAT_DEBUG 692#ifdef ISDN_TTY_FAX_STAT_DEBUG
693 printk(KERN_DEBUG "isdn_tty: Fax FCTCRTY=%d\n", par); 693 printk(KERN_DEBUG "isdn_tty: Fax FCTCRTY=%d\n", par);
694#endif 694#endif
695 } 695 }
696 break; 696 break;
697 default: 697 default:
698 PARSE_ERROR1; 698 PARSE_ERROR1;
699 } 699 }
700 return 0; 700 return 0;
701 } 701 }
@@ -706,42 +706,42 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
706 706
707 p[0] += 3; 707 p[0] += 3;
708 switch (*p[0]) { 708 switch (*p[0]) {
709 case '?': 709 case '?':
710 p[0]++; 710 p[0]++;
711 strcpy(rs, "\r\n"); 711 strcpy(rs, "\r\n");
712 for (i = 0; i < 8; i++) { 712 for (i = 0; i < 8; i++) {
713 sprintf(rss, "%c%s", rp[i] + 48, 713 sprintf(rss, "%c%s", rp[i] + 48,
714 (i < 7) ? "," : ""); 714 (i < 7) ? "," : "");
715 strcat(rs, rss); 715 strcat(rs, rss);
716 } 716 }
717 isdn_tty_at_cout(rs, info); 717 isdn_tty_at_cout(rs, info);
718 break; 718 break;
719 case '=': 719 case '=':
720 p[0]++;
721 if (*p[0] == '?') {
722 isdn_tty_at_cout("\r\n(0,1),(0-5),(0-2),(0-2),(0-3),(0-2),(0),(0-7)", info);
720 p[0]++; 723 p[0]++;
721 if (*p[0] == '?') { 724 } else {
722 isdn_tty_at_cout("\r\n(0,1),(0-5),(0-2),(0-2),(0-3),(0-2),(0),(0-7)", info); 725 for (i = 0; (((*p[0] >= '0') && (*p[0] <= '9')) || (*p[0] == ',')) && (i < 8); i++) {
723 p[0]++; 726 if (*p[0] != ',') {
724 } else { 727 if ((*p[0] - 48) > maxdccval[i]) {
725 for (i = 0; (((*p[0] >= '0') && (*p[0] <= '9')) || (*p[0] == ',')) && (i < 8); i++) { 728 PARSE_ERROR1;
726 if (*p[0] != ',') { 729 }
727 if ((*p[0] - 48) > maxdccval[i]) { 730 rp[i] = *p[0] - 48;
728 PARSE_ERROR1; 731 p[0]++;
729 } 732 if (*p[0] == ',')
730 rp[i] = *p[0] - 48;
731 p[0]++;
732 if (*p[0] == ',')
733 p[0]++;
734 } else
735 p[0]++; 733 p[0]++;
736 } 734 } else
735 p[0]++;
736 }
737#ifdef ISDN_TTY_FAX_STAT_DEBUG 737#ifdef ISDN_TTY_FAX_STAT_DEBUG
738 printk(KERN_DEBUG "isdn_tty: Fax FDCC capabilities DCE=%d,%d,%d,%d,%d,%d,%d,%d\n", 738 printk(KERN_DEBUG "isdn_tty: Fax FDCC capabilities DCE=%d,%d,%d,%d,%d,%d,%d,%d\n",
739 rp[0], rp[1], rp[2], rp[3], rp[4], rp[5], rp[6], rp[7]); 739 rp[0], rp[1], rp[2], rp[3], rp[4], rp[5], rp[6], rp[7]);
740#endif 740#endif
741 } 741 }
742 break; 742 break;
743 default: 743 default:
744 PARSE_ERROR1; 744 PARSE_ERROR1;
745 } 745 }
746 return 0; 746 return 0;
747 } 747 }
@@ -752,42 +752,42 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
752 752
753 p[0] += 3; 753 p[0] += 3;
754 switch (*p[0]) { 754 switch (*p[0]) {
755 case '?': 755 case '?':
756 p[0]++; 756 p[0]++;
757 strcpy(rs, "\r\n"); 757 strcpy(rs, "\r\n");
758 for (i = 0; i < 8; i++) { 758 for (i = 0; i < 8; i++) {
759 sprintf(rss, "%c%s", rp[i] + 48, 759 sprintf(rss, "%c%s", rp[i] + 48,
760 (i < 7) ? "," : ""); 760 (i < 7) ? "," : "");
761 strcat(rs, rss); 761 strcat(rs, rss);
762 } 762 }
763 isdn_tty_at_cout(rs, info); 763 isdn_tty_at_cout(rs, info);
764 break; 764 break;
765 case '=': 765 case '=':
766 p[0]++;
767 if (*p[0] == '?') {
768 isdn_tty_at_cout("\r\n(0,1),(0-5),(0-2),(0-2),(0-3),(0-2),(0),(0-7)", info);
766 p[0]++; 769 p[0]++;
767 if (*p[0] == '?') { 770 } else {
768 isdn_tty_at_cout("\r\n(0,1),(0-5),(0-2),(0-2),(0-3),(0-2),(0),(0-7)", info); 771 for (i = 0; (((*p[0] >= '0') && (*p[0] <= '9')) || (*p[0] == ',')) && (i < 8); i++) {
769 p[0]++; 772 if (*p[0] != ',') {
770 } else { 773 if ((*p[0] - 48) > maxdccval[i]) {
771 for (i = 0; (((*p[0] >= '0') && (*p[0] <= '9')) || (*p[0] == ',')) && (i < 8); i++) { 774 PARSE_ERROR1;
772 if (*p[0] != ',') { 775 }
773 if ((*p[0] - 48) > maxdccval[i]) { 776 rp[i] = *p[0] - 48;
774 PARSE_ERROR1; 777 p[0]++;
775 } 778 if (*p[0] == ',')
776 rp[i] = *p[0] - 48;
777 p[0]++;
778 if (*p[0] == ',')
779 p[0]++;
780 } else
781 p[0]++; 779 p[0]++;
782 } 780 } else
781 p[0]++;
782 }
783#ifdef ISDN_TTY_FAX_STAT_DEBUG 783#ifdef ISDN_TTY_FAX_STAT_DEBUG
784 printk(KERN_DEBUG "isdn_tty: Fax FDIS session parms=%d,%d,%d,%d,%d,%d,%d,%d\n", 784 printk(KERN_DEBUG "isdn_tty: Fax FDIS session parms=%d,%d,%d,%d,%d,%d,%d,%d\n",
785 rp[0], rp[1], rp[2], rp[3], rp[4], rp[5], rp[6], rp[7]); 785 rp[0], rp[1], rp[2], rp[3], rp[4], rp[5], rp[6], rp[7]);
786#endif 786#endif
787 } 787 }
788 break; 788 break;
789 default: 789 default:
790 PARSE_ERROR1; 790 PARSE_ERROR1;
791 } 791 }
792 return 0; 792 return 0;
793 } 793 }
@@ -808,18 +808,18 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
808 f->phase = ISDN_FAX_PHASE_C; 808 f->phase = ISDN_FAX_PHASE_C;
809 } else if (f->phase == ISDN_FAX_PHASE_D) { 809 } else if (f->phase == ISDN_FAX_PHASE_D) {
810 switch (f->fet) { 810 switch (f->fet) {
811 case 0: /* next page will be received */ 811 case 0: /* next page will be received */
812 f->phase = ISDN_FAX_PHASE_C; 812 f->phase = ISDN_FAX_PHASE_C;
813 isdn_tty_fax_modem_result(7, info); /* CONNECT */ 813 isdn_tty_fax_modem_result(7, info); /* CONNECT */
814 break; 814 break;
815 case 1: /* next doc will be received */ 815 case 1: /* next doc will be received */
816 f->phase = ISDN_FAX_PHASE_B; 816 f->phase = ISDN_FAX_PHASE_B;
817 break; 817 break;
818 case 2: /* fax session is terminating */ 818 case 2: /* fax session is terminating */
819 f->phase = ISDN_FAX_PHASE_E; 819 f->phase = ISDN_FAX_PHASE_E;
820 break; 820 break;
821 default: 821 default:
822 PARSE_ERROR1; 822 PARSE_ERROR1;
823 } 823 }
824 } 824 }
825 } else { 825 } else {
@@ -830,7 +830,7 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
830 /* DT=df,vr,wd,ln - TX phase C data command (release DCE to proceed with negotiation) */ 830 /* DT=df,vr,wd,ln - TX phase C data command (release DCE to proceed with negotiation) */
831 if (!strncmp(p[0], "DT", 2)) { 831 if (!strncmp(p[0], "DT", 2)) {
832 int i, val[] = 832 int i, val[] =
833 {4, 0, 2, 3}; 833 {4, 0, 2, 3};
834 char *rp = &f->resolution; 834 char *rp = &f->resolution;
835 835
836 p[0] += 2; 836 p[0] += 2;
@@ -872,29 +872,29 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
872 if (!strncmp(p[0], "ECM", 3)) { 872 if (!strncmp(p[0], "ECM", 3)) {
873 p[0] += 3; 873 p[0] += 3;
874 switch (*p[0]) { 874 switch (*p[0]) {
875 case '?': 875 case '?':
876 p[0]++;
877 sprintf(rs, "\r\n%d", f->ecm);
878 isdn_tty_at_cout(rs, info);
879 break;
880 case '=':
881 p[0]++;
882 if (*p[0] == '?') {
876 p[0]++; 883 p[0]++;
877 sprintf(rs, "\r\n%d", f->ecm); 884 sprintf(rs, "\r\n0,2");
878 isdn_tty_at_cout(rs, info); 885 isdn_tty_at_cout(rs, info);
879 break; 886 } else {
880 case '=': 887 par = isdn_getnum(p);
881 p[0]++; 888 if ((par != 0) && (par != 2))
882 if (*p[0] == '?') { 889 PARSE_ERROR1;
883 p[0]++; 890 f->ecm = par;
884 sprintf(rs, "\r\n0,2");
885 isdn_tty_at_cout(rs, info);
886 } else {
887 par = isdn_getnum(p);
888 if ((par != 0) && (par != 2))
889 PARSE_ERROR1;
890 f->ecm = par;
891#ifdef ISDN_TTY_FAX_STAT_DEBUG 891#ifdef ISDN_TTY_FAX_STAT_DEBUG
892 printk(KERN_DEBUG "isdn_tty: Fax FECM=%d\n", par); 892 printk(KERN_DEBUG "isdn_tty: Fax FECM=%d\n", par);
893#endif 893#endif
894 } 894 }
895 break; 895 break;
896 default: 896 default:
897 PARSE_ERROR1; 897 PARSE_ERROR1;
898 } 898 }
899 return 0; 899 return 0;
900 } 900 }
@@ -938,36 +938,36 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
938 int i, r; 938 int i, r;
939 p[0] += 3; 939 p[0] += 3;
940 switch (*p[0]) { 940 switch (*p[0]) {
941 case '?': 941 case '?':
942 p[0]++;
943 sprintf(rs, "\r\n\"%s\"", f->id);
944 isdn_tty_at_cout(rs, info);
945 break;
946 case '=':
947 p[0]++;
948 if (*p[0] == '?') {
942 p[0]++; 949 p[0]++;
943 sprintf(rs, "\r\n\"%s\"", f->id); 950 sprintf(rs, "\r\n\"STRING\"");
944 isdn_tty_at_cout(rs, info); 951 isdn_tty_at_cout(rs, info);
945 break; 952 } else {
946 case '=': 953 if (*p[0] == '"')
947 p[0]++;
948 if (*p[0] == '?') {
949 p[0]++; 954 p[0]++;
950 sprintf(rs, "\r\n\"STRING\""); 955 for (i = 0; (*p[0]) && i < (FAXIDLEN - 1) && (*p[0] != '"'); i++) {
951 isdn_tty_at_cout(rs, info); 956 f->id[i] = *p[0]++;
952 } else { 957 }
953 if (*p[0] == '"') 958 if (*p[0] == '"')
954 p[0]++; 959 p[0]++;
955 for (i = 0; (*p[0]) && i < (FAXIDLEN - 1) && (*p[0] != '"'); i++) { 960 for (r = i; r < FAXIDLEN; r++) {
956 f->id[i] = *p[0]++; 961 f->id[r] = 32;
957 } 962 }
958 if (*p[0] == '"') 963 f->id[FAXIDLEN - 1] = 0;
959 p[0]++;
960 for (r = i; r < FAXIDLEN; r++) {
961 f->id[r] = 32;
962 }
963 f->id[FAXIDLEN - 1] = 0;
964#ifdef ISDN_TTY_FAX_STAT_DEBUG 964#ifdef ISDN_TTY_FAX_STAT_DEBUG
965 printk(KERN_DEBUG "isdn_tty: Fax local ID \"%s\"\n", f->id); 965 printk(KERN_DEBUG "isdn_tty: Fax local ID \"%s\"\n", f->id);
966#endif 966#endif
967 } 967 }
968 break; 968 break;
969 default: 969 default:
970 PARSE_ERROR1; 970 PARSE_ERROR1;
971 } 971 }
972 return 0; 972 return 0;
973 } 973 }
@@ -994,29 +994,29 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
994 if (!strncmp(p[0], "MINSP", 5)) { 994 if (!strncmp(p[0], "MINSP", 5)) {
995 p[0] += 5; 995 p[0] += 5;
996 switch (*p[0]) { 996 switch (*p[0]) {
997 case '?': 997 case '?':
998 p[0]++;
999 sprintf(rs, "\r\n%d", f->minsp);
1000 isdn_tty_at_cout(rs, info);
1001 break;
1002 case '=':
1003 p[0]++;
1004 if (*p[0] == '?') {
998 p[0]++; 1005 p[0]++;
999 sprintf(rs, "\r\n%d", f->minsp); 1006 sprintf(rs, "\r\n0-5");
1000 isdn_tty_at_cout(rs, info); 1007 isdn_tty_at_cout(rs, info);
1001 break; 1008 } else {
1002 case '=': 1009 par = isdn_getnum(p);
1003 p[0]++; 1010 if ((par < 0) || (par > 5))
1004 if (*p[0] == '?') { 1011 PARSE_ERROR1;
1005 p[0]++; 1012 f->minsp = par;
1006 sprintf(rs, "\r\n0-5");
1007 isdn_tty_at_cout(rs, info);
1008 } else {
1009 par = isdn_getnum(p);
1010 if ((par < 0) || (par > 5))
1011 PARSE_ERROR1;
1012 f->minsp = par;
1013#ifdef ISDN_TTY_FAX_STAT_DEBUG 1013#ifdef ISDN_TTY_FAX_STAT_DEBUG
1014 printk(KERN_DEBUG "isdn_tty: Fax FMINSP=%d\n", par); 1014 printk(KERN_DEBUG "isdn_tty: Fax FMINSP=%d\n", par);
1015#endif 1015#endif
1016 } 1016 }
1017 break; 1017 break;
1018 default: 1018 default:
1019 PARSE_ERROR1; 1019 PARSE_ERROR1;
1020 } 1020 }
1021 return 0; 1021 return 0;
1022 } 1022 }
@@ -1024,29 +1024,29 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
1024 if (!strncmp(p[0], "PHCTO", 5)) { 1024 if (!strncmp(p[0], "PHCTO", 5)) {
1025 p[0] += 5; 1025 p[0] += 5;
1026 switch (*p[0]) { 1026 switch (*p[0]) {
1027 case '?': 1027 case '?':
1028 p[0]++;
1029 sprintf(rs, "\r\n%d", f->phcto);
1030 isdn_tty_at_cout(rs, info);
1031 break;
1032 case '=':
1033 p[0]++;
1034 if (*p[0] == '?') {
1028 p[0]++; 1035 p[0]++;
1029 sprintf(rs, "\r\n%d", f->phcto); 1036 sprintf(rs, "\r\n0-255");
1030 isdn_tty_at_cout(rs, info); 1037 isdn_tty_at_cout(rs, info);
1031 break; 1038 } else {
1032 case '=': 1039 par = isdn_getnum(p);
1033 p[0]++; 1040 if ((par < 0) || (par > 255))
1034 if (*p[0] == '?') { 1041 PARSE_ERROR1;
1035 p[0]++; 1042 f->phcto = par;
1036 sprintf(rs, "\r\n0-255");
1037 isdn_tty_at_cout(rs, info);
1038 } else {
1039 par = isdn_getnum(p);
1040 if ((par < 0) || (par > 255))
1041 PARSE_ERROR1;
1042 f->phcto = par;
1043#ifdef ISDN_TTY_FAX_STAT_DEBUG 1043#ifdef ISDN_TTY_FAX_STAT_DEBUG
1044 printk(KERN_DEBUG "isdn_tty: Fax FPHCTO=%d\n", par); 1044 printk(KERN_DEBUG "isdn_tty: Fax FPHCTO=%d\n", par);
1045#endif 1045#endif
1046 } 1046 }
1047 break; 1047 break;
1048 default: 1048 default:
1049 PARSE_ERROR1; 1049 PARSE_ERROR1;
1050 } 1050 }
1051 return 0; 1051 return 0;
1052 } 1052 }
@@ -1055,29 +1055,29 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
1055 if (!strncmp(p[0], "REL", 3)) { 1055 if (!strncmp(p[0], "REL", 3)) {
1056 p[0] += 3; 1056 p[0] += 3;
1057 switch (*p[0]) { 1057 switch (*p[0]) {
1058 case '?': 1058 case '?':
1059 p[0]++;
1060 sprintf(rs, "\r\n%d", f->rel);
1061 isdn_tty_at_cout(rs, info);
1062 break;
1063 case '=':
1064 p[0]++;
1065 if (*p[0] == '?') {
1059 p[0]++; 1066 p[0]++;
1060 sprintf(rs, "\r\n%d", f->rel); 1067 sprintf(rs, "\r\n0,1");
1061 isdn_tty_at_cout(rs, info); 1068 isdn_tty_at_cout(rs, info);
1062 break; 1069 } else {
1063 case '=': 1070 par = isdn_getnum(p);
1064 p[0]++; 1071 if ((par < 0) || (par > 1))
1065 if (*p[0] == '?') { 1072 PARSE_ERROR1;
1066 p[0]++; 1073 f->rel = par;
1067 sprintf(rs, "\r\n0,1");
1068 isdn_tty_at_cout(rs, info);
1069 } else {
1070 par = isdn_getnum(p);
1071 if ((par < 0) || (par > 1))
1072 PARSE_ERROR1;
1073 f->rel = par;
1074#ifdef ISDN_TTY_FAX_STAT_DEBUG 1074#ifdef ISDN_TTY_FAX_STAT_DEBUG
1075 printk(KERN_DEBUG "isdn_tty: Fax FREL=%d\n", par); 1075 printk(KERN_DEBUG "isdn_tty: Fax FREL=%d\n", par);
1076#endif 1076#endif
1077 } 1077 }
1078 break; 1078 break;
1079 default: 1079 default:
1080 PARSE_ERROR1; 1080 PARSE_ERROR1;
1081 } 1081 }
1082 return 0; 1082 return 0;
1083 } 1083 }
@@ -1100,11 +1100,11 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
1100 printk(KERN_DEBUG "isdn_tty: Fax FTBC=%c\n", *p[0]); 1100 printk(KERN_DEBUG "isdn_tty: Fax FTBC=%c\n", *p[0]);
1101#endif 1101#endif
1102 switch (*p[0]) { 1102 switch (*p[0]) {
1103 case '0': 1103 case '0':
1104 p[0]++; 1104 p[0]++;
1105 break; 1105 break;
1106 default: 1106 default:
1107 PARSE_ERROR1; 1107 PARSE_ERROR1;
1108 } 1108 }
1109 return 0; 1109 return 0;
1110 } 1110 }
@@ -1113,7 +1113,7 @@ isdn_tty_cmd_FCLASS2(char **p, modem_info * info)
1113} 1113}
1114 1114
1115int 1115int
1116isdn_tty_cmd_PLUSF_FAX(char **p, modem_info * info) 1116isdn_tty_cmd_PLUSF_FAX(char **p, modem_info *info)
1117{ 1117{
1118 if (TTY_IS_FCLASS2(info)) 1118 if (TTY_IS_FCLASS2(info))
1119 return (isdn_tty_cmd_FCLASS2(p, info)); 1119 return (isdn_tty_cmd_FCLASS2(p, info));