| plan 9 kernel history: overview | file list | diff list |
2000/0116/ip/devip.c (diff list | history)
| 1999/1230/sys/src/9/ip/devip.c:12,17 – 2000/0116/sys/src/9/ip/devip.c:12,18 (short | long | prev | next) | ||
| 1997/0327 | Qtopbase, Qarp= Qtopbase, | |
| 1998/0313 | Qbootp, | |
| 2000/0116 | Qndb, | |
| 1997/0327 | Qiproute, | |
| 1998/0306 | Qiprouter, | |
| 1998/0310 | Qipselftab, | |
| 1999/1230/sys/src/9/ip/devip.c:54,61 – 2000/0116/sys/src/9/ip/devip.c:55,63 | ||
| 1998/0313 | Fs *ipfs[Nfs]; /* attached fs's */ Queue *qlog; | |
| 1998/0423 |
| |
| 2000/0116 | extern void nullmediumlink(void); extern void pktmediumlink(void); long ndbwrite(Fs *f, char *a, ulong off, int n); | |
| 1998/0423 | ||
| 1997/0327 | static int ip3gen(Chan *c, int i, Dir *dp) | |
| 1999/1230/sys/src/9/ip/devip.c:138,143 – 2000/0116/sys/src/9/ip/devip.c:140,149 | ||
| 1998/0313 | p = "bootp"; q = (Qid){QID(0, 0, Qbootp), 0}; break; | |
| 2000/0116 | case Qndb: p = "ndb"; q = (Qid){QID(0, 0, Qndb), 0}; break; | |
| 1997/0327 | case Qiproute: p = "iproute"; q = (Qid){QID(0, 0, Qiproute), 0}; | |
| 1999/1230/sys/src/9/ip/devip.c:189,194 – 2000/0116/sys/src/9/ip/devip.c:195,201 | ||
| 1997/0327 | return ip1gen(c, s+Qtopbase, dp); case Qarp: | |
| 1998/0313 | case Qbootp: | |
| 2000/0116 | case Qndb: | |
| 1997/0327 | case Qlog: case Qiproute: | |
| 1998/0306 | case Qiprouter: | |
| 1999/1230/sys/src/9/ip/devip.c:550,555 – 2000/0116/sys/src/9/ip/devip.c:557,564 | ||
| 1998/0313 | return arpread(f->arp, a, offset, n); case Qbootp: return bootpread(a, offset, n); | |
| 2000/0116 | case Qndb: return readstr(offset, a, n, f->ndb); | |
| 1997/0327 | case Qiproute: | |
| 1998/0313 | return routeread(f, a, offset, n); | |
| 1998/0310 | case Qipselftab: | |
| 1999/1230/sys/src/9/ip/devip.c:883,889 – 2000/0116/sys/src/9/ip/devip.c:892,898 | ||
| 1998/0306 | } | |
| 1997/0327 | static long | |
| 1999/0320 |
| |
| 2000/0116 | ipwrite(Chan* ch, void *v, long n, vlong off) | |
| 1997/0327 | { Conv *c; Proto *x; | |
| 1999/1230/sys/src/9/ip/devip.c:892,897 – 2000/0116/sys/src/9/ip/devip.c:901,907 | ||
| 1998/0502 | uchar ia[IPaddrlen], ma[IPaddrlen]; | |
| 1998/0313 | Fs *f; | |
| 1999/0320 | char *a; | |
| 2000/0116 | ulong offset = off; | |
| 1997/0327 | ||
| 1999/0320 | a = v; | |
| 1998/0313 | f = ipfs[ch->dev]; | |
| 1999/1230/sys/src/9/ip/devip.c:918,923 – 2000/0116/sys/src/9/ip/devip.c:928,936 | ||
| 1997/0327 | if(p != nil) error(p); return n; | |
| 2000/0116 | case Qndb: return ndbwrite(f, a, offset, n); break; | |
| 1997/0327 | case Qctl: | |
| 1998/0313 | x = f->p[PROTO(ch->qid)]; | |
| 1997/0327 | c = x->conv[CONV(ch->qid)]; | |
| 1999/1230/sys/src/9/ip/devip.c:1202,1205 – 2000/0116/sys/src/9/ip/devip.c:1215,1230 | ||
| 1997/0327 | wakeup(&c->listenr); return nc; | |
| 2000/0116 | } long ndbwrite(Fs *f, char *a, ulong off, int n) { if(off != 0) error(Eio); if(n >= sizeof(f->ndb)) error(Eio); memmove(f->ndb, a, n); f->ndb[n] = 0; return n; | |
| 1997/0327 | } | |