| plan 9 kernel history: overview | file list | diff list |
1992/0701/gnot/devisdn.c (diff list | history)
| 1992/0630/sys/src/9/gnot/devisdn.c:15,21 – 1992/0701/sys/src/9/gnot/devisdn.c:15,21 (short | long | prev | next) | ||
| 1992/0609 | #define DPRINT if(isdndebug)kprint | |
| 1992/0701 | #define BSIZE 200 /* should be 260, but for xalloc */ | |
| 1992/0609 | Isdn * isdndev; Isdn * isdndevN; | |
| 1992/0630/sys/src/9/gnot/devisdn.c:412,418 – 1992/0701/sys/src/9/gnot/devisdn.c:412,418 | ||
| 1992/0609 | Isdn *ip = (Isdn *)arg; int i; | |
| 1992/0701 | if(waserror()){ | |
| 1992/0609 | devctl(ip, Enr, 0); ip->kstart = 0; wakeup(&ip->kctlr); | |
| 1992/0630/sys/src/9/gnot/devisdn.c:421,427 – 1992/0701/sys/src/9/gnot/devisdn.c:421,427 | ||
| 1992/0609 | /* * create a number of blocks for input */ | |
| 1992/0701 | for(i=0; i<NB; i++) | |
| 1992/0609 | if (!ip->inb[i]) ip->inb[i] = allocb(BSIZE); ip->ri = 0; | |
| 1992/0630/sys/src/9/gnot/devisdn.c:429,447 – 1992/0701/sys/src/9/gnot/devisdn.c:429,447 | ||
| 1992/0609 | devctl(ip, 0, Enr); ip->kstart = 1; wakeup(&ip->kctlr); | |
| 1992/0701 | for(;;){ | |
| 1992/0609 | qlock(ip); | |
| 1992/0701 | if (!ip->rq){ | |
| 1992/0609 | qunlock(ip); break; } | |
| 1992/0701 | while (ip->ri != ip->wi){ FLOWCTL(ip->rq, ip->inb[ip->ri]); | |
| 1992/0609 | ip->inb[ip->ri] = allocb(BSIZE); ip->ri = NEXT(ip->ri); } i = 0; | |
| 1992/0701 | while(ip->so != ip->ro){ | |
| 1992/0609 | freeb(ip->outb[ip->so]); ip->so = NEXT(ip->so); i++; | |
| 1992/0630/sys/src/9/gnot/devisdn.c:453,459 – 1992/0701/sys/src/9/gnot/devisdn.c:453,459 | ||
| 1992/0609 | } devctl(ip, Enr, 0); sleep(&ip->kr, tEmpty, ip); | |
| 1992/0701 | while(ip->so != ip->ro){ | |
| 1992/0609 | freeb(ip->outb[ip->so]); ip->so = NEXT(ip->so); } | |