| plan 9 kernel history: overview | file list | diff list |
2001/0127/port/qio.c (diff list | history)
| 2000/0914/sys/src/9/port/qio.c:55,60 – 2001/0127/sys/src/9/port/qio.c:55,61 (short | long | prev | next) | ||
| 1994/0507 | Qmsg = (1<<1), /* message stream */ Qclosed = (1<<2), Qflow = (1<<3), | |
| 2001/0127 | Qcoalesce = (1<<4), /* coallesce packets on read */ | |
| 1997/0925 | ||
| 1999/0219 | Maxatomic = 32*1024, | |
| 1993/0530 | }; | |
| 2000/0914/sys/src/9/port/qio.c:749,755 – 2001/0127/sys/src/9/port/qio.c:750,761 | ||
| 1994/0902 | q->limit = q->inilim = limit; | |
| 1993/0526 | q->kick = kick; q->arg = arg; | |
| 1993/0530 |
| |
| 2001/0127 | q->state = 0; if(msg > 0) q->state |= Qmsg; else if(msg < 0) q->state |= Qcoalesce; | |
| 1993/0601 | q->state |= Qstarve; | |
| 1993/0908 | q->eof = 0; | |
| 1998/0703 | q->noblock = 0; | |
| 2000/0914/sys/src/9/port/qio.c:865,879 – 2001/0127/sys/src/9/port/qio.c:871,904 | ||
| 1995/0714 | qread(Queue *q, void *vp, int len) { Block *b; | |
| 2001/0127 | int m; uchar *p; uchar *e; | |
| 1995/0714 |
| |
| 2001/0127 | p = vp; | |
| 1995/0714 |
| |
| 2001/0127 | if((q->state & Qcoalesce) == 0){ b = qbread(q, len); if(b == 0) return 0; m = BLEN(b); memmove(p, b->rp, m); freeb(b); return m; } for(e = p + len; p < e; p += m){ b = qbread(q, e-p); if(b == 0) return 0; m = BLEN(b); memmove(p, b->rp, m); freeb(b); } return p-(uchar*)vp; | |
| 1995/0714 | } | |
| 1993/0528 | static int | |