| plan 9 kernel history: overview | file list | diff list |
1991/0102/port/devnonet.c (diff list | history)
| 1990/1231/sys/src/9/port/devnonet.c:37,43 – 1991/0102/sys/src/9/port/devnonet.c:37,42 (short | long | prev | next) | ||
| 1990/1210 | static void sendmsg(Noconv*, Nomsg*); static void startconv(Noconv*, int, char*, int); static void queueack(Noconv*, int); | |
| 1990/1231 |
| |
| 1990/1210 | static void nonetiput(Queue*, Block*); static void nonetoput(Queue*, Block*); | |
| 1990/1231/sys/src/9/port/devnonet.c:921,927 – 1991/0102/sys/src/9/port/devnonet.c:920,926 | ||
| 1990/1210 | wq = ifc->wq->next; /* | |
| 1991/0102 | * one transmitter at a time for this connection | |
| 1990/1210 | */ qlock(&cp->xlock); | |
| 1990/1231/sys/src/9/port/devnonet.c:1005,1035 – 1991/0102/sys/src/9/port/devnonet.c:1004,1023 | ||
| 1990/1210 | static void sendctlmsg(Noconv *cp, int flag, int new) { | |
| 1991/0102 | Nomsg ctl; ctl.len = 0; ctl.first = 0; ctl.acked = 0; | |
| 1990/1210 | if(new) | |
| 1991/0102 | ctl.mid = Nnomsg^cp->out[cp->next].mid; | |
| 1990/1210 | else | |
| 1991/0102 | ctl.mid = cp->lastacked; | |
| 1990/1210 | cp->hdr->flag |= flag; | |
| 1991/0102 | sendmsg(cp, &ctl); | |
| 1990/1210 | } /* | |
| 1990/1231 |
| |
| 1990/1210 | * receive a message (called by the multiplexor; noetheriput, nofddiiput, ...) */ void | |
| 1990/1231/sys/src/9/port/devnonet.c:1074,1081 – 1991/0102/sys/src/9/port/devnonet.c:1062,1071 | ||
| 1990/1210 | if(f & NO_HANGUP) hangup(cp); } else { | |
| 1990/1231 |
| |
| 1991/0102 | if(r>0){ queueack(cp, h->mid); sendctlmsg(cp, 0, 0); } | |
| 1990/1210 | cp->bad++; } freeb(bp); | |