| plan 9 kernel history: overview | file list | diff list |
1991/1003/port/devscc.c (diff list | history)
| 1991/0727/sys/src/9/port/devscc.c:99,107 – 1991/1003/sys/src/9/port/devscc.c:99,105 (short | long | prev | next) | ||
| 1991/0601 | Queue *wq; /* write queue */ Rendez r; /* kproc waiting for input */ Alarm *a; /* alarm for waking the kernel process */ | |
| 1991/0606 |
| |
| 1991/0601 | }; SCC scc[2]; | |
| 1991/0727/sys/src/9/port/devscc.c:293,303 – 1991/1003/sys/src/9/port/devscc.c:291,298 | ||
| 1991/0601 | ch = *sp->data; if(cq->putc) (*cq->putc)(cq, ch); | |
| 1991/1003 | else | |
| 1991/0601 | putc(cq, ch); | |
| 1991/0606 |
| |
| 1991/0601 |
| |
| 1991/0727/sys/src/9/port/devscc.c:324,329 – 1991/1003/sys/src/9/port/devscc.c:319,337 | ||
| 1991/0601 | sccintr0(&scc[0], x>>3); } | |
| 1991/1003 | void sccclock(void) { SCC *sp; IOQ *cq; for(sp = scc; sp < &scc[2]; sp++){ cq = sp->iq; if(sp->wq && cangetc(cq)) wakeup(&cq->r); } } | |
| 1991/0601 | /* * turn on a port's interrupts. set DTR and RTS */ | |
| 1991/0727/sys/src/9/port/devscc.c:380,386 – 1991/1003/sys/src/9/port/devscc.c:388,393 | ||
| 1991/0727 | } | |
| 1991/0601 | } | |
| 1991/0727/sys/src/9/port/devscc.c:395,433 – 1991/1003/sys/src/9/port/devscc.c:402,408 | ||
| 1991/0601 | "scc" }; | |
| 1991/0727/sys/src/9/port/devscc.c:440,452 – 1991/1003/sys/src/9/port/devscc.c:415,422 | ||
| 1991/0601 | sp->wq = WR(q); WR(q)->ptr = sp; RD(q)->ptr = sp; | |
| 1991/0727/sys/src/9/port/devscc.c:507,514 – 1991/1003/sys/src/9/port/devscc.c:477,483 | ||
| 1991/0601 | break; case 'W': case 'w': | |
| 1991/1003 | /* obsolete */ | |
| 1991/0601 | break; } }else while((m = BLEN(bp)) > 0){ | |