| plan 9 kernel history: overview | file list | diff list |
1990/1022/port/devdk.c (diff list | history)
| 1990/1018/sys/src/9/port/devdk.c:206,211 – 1990/1022/sys/src/9/port/devdk.c:206,212 (short | long | prev | next) | ||
| 1990/0312 | dkmuxopen(Queue *q, Stream *s) { Dk *dp; | |
| 1990/1022 | Line *lp; | |
| 1990/0312 | int i; for(dp = dk; dp < &dk[Ndk]; dp++){ | |
| 1990/1018/sys/src/9/port/devdk.c:222,227 – 1990/1022/sys/src/9/port/devdk.c:223,231 | ||
| 1990/0312 | dp->lines = 16; dp->name[0] = 0; dp->wq = WR(q); | |
| 1990/1022 | for(lp = dp->line; lp < &dp->line[Nline]; lp++) if(lp->state != 0) panic("dkmuxopen l %d s %lux", lp-dp->line, lp->state); | |
| 1990/0312 | qunlock(dp); return; } | |
| 1990/1018/sys/src/9/port/devdk.c:1368,1382 – 1990/1022/sys/src/9/port/devdk.c:1372,1386 | ||
| 1990/0312 | { Line *lp; | |
| 1990/1022 | if (line <= 0 || line >= dp->lines) { /* tell controller this line is not in use */ dkmesg(dp, T_CHG, D_CLOSE, line, 0); return; } lp = &dp->line[line]; | |
| 1990/0312 | switch (lp->state) { case Ldialing: | |
| 1990/1018/sys/src/9/port/devdk.c:1407,1412 – 1990/1022/sys/src/9/port/devdk.c:1411,1422 | ||
| 1990/0312 | break; case D_ISCLOSED: /* acknowledging a local shutdown */ | |
| 1990/1022 | if (line <= 0 || line >= dp->lines) { /* tell controller this line is not in use */ dkmesg(dp, T_CHG, D_CLOSE, line, 0); return; } lp = &dp->line[line]; | |
| 1990/0312 | switch (lp->state) { case Llclose: case Lclosed: | |
| 1990/1018/sys/src/9/port/devdk.c:1421,1426 – 1990/1022/sys/src/9/port/devdk.c:1431,1466 | ||
| 1990/0312 | } break; | |
| 1990/1022 | case D_CLOSEALL: for(line = dp->ncsc+1; line < dp->lines; line++){ lp = &dp->line[line]; switch (lp->state) { case Ldialing: /* simulate a failed connection */ dkreplymesg(dp, (Dkmsg *)0, line); lp->state = Lrclose; break; case Lrclose: case Lconnected: case Llistening: case Lackwait: dkhangup(lp); lp->state = Lrclose; break; case Lopened: break; case Llclose: case Lclosed: lp->state = Lclosed; break; } } break; | |
| 1990/0312 | default: print("unrecognized T_CHG\n"); } | |
| 1990/1018/sys/src/9/port/devdk.c:1503,1509 – 1990/1022/sys/src/9/port/devdk.c:1543,1549 | ||
| 1990/0312 | * remind controller of dead lines and * timeout calls that take to long */ | |
| 1990/1022 | for (i=dp->ncsc+1; i<dp->lines; i++){ | |
| 1990/0312 | lp = &dp->line[i]; switch(lp->state){ case Llclose: | |