| plan 9 kernel history: overview | file list | diff list |
1992/0903/port/tcpif.c (diff list | history)
| 1991/0424/sys/src/9/port/tcpif.c:54,60 – 1991/1014/sys/src/9/port/tcpif.c:54,60 (short | long) | ||
| 1991/0424 | } void | |
| 1991/1014 | tcpstart(Ipconv *s, int mode, ushort window, char tos) | |
| 1991/0424 | { Tcpctl *tcb = &s->tcpctl; | |
| 1991/1014/sys/src/9/port/tcpif.c:15,24 – 1991/1120/sys/src/9/port/tcpif.c:15,21 (short | long) | ||
| 1991/0424 | { Block *bp; int len; | |
| 1991/1014/sys/src/9/port/tcpif.c:33,55 – 1991/1120/sys/src/9/port/tcpif.c:30,49 | ||
| 1991/0424 | case CLOSE_WAIT: /* Remote closes */ if(s->readq == 0) break; | |
| 1991/1120 | ||
| 1991/0424 | if(s->err) { | |
| 1991/1120 | len = strlen(errstrtab[s->err]); | |
| 1991/0424 | bp = allocb(len); | |
| 1991/1120 | strcpy((char *)bp->wptr, errstrtab[s->err]); bp->wptr += len; | |
| 1991/0424 | } else bp = allocb(0); | |
| 1991/1120 | bp->flags |= S_DELIM; bp->type = M_HANGUP; PUTNEXT(s->readq, bp); break; | |
| 1991/0424 | } } | |
| 1991/1120/sys/src/9/port/tcpif.c:27,32 – 1991/1126/sys/src/9/port/tcpif.c:27,33 (short | long) | ||
| 1991/0424 | s->psrc = 0; s->pdst = 0; s->dst = 0; | |
| 1991/1126 | /* NO break */ | |
| 1991/0424 | case CLOSE_WAIT: /* Remote closes */ if(s->readq == 0) break; | |
| 1991/1126/sys/src/9/port/tcpif.c:23,34 – 1991/12171/sys/src/9/port/tcpif.c:23,34 (short | long) | ||
| 1991/0424 | return; switch(newstate) { | |
| 1991/12171 | case Closed: | |
| 1991/0424 | s->psrc = 0; s->pdst = 0; s->dst = 0; | |
| 1991/1126 | /* NO break */ | |
| 1991/0424 |
| |
| 1991/12171 | case Close_wait: /* Remote closes */ | |
| 1991/0424 | if(s->readq == 0) break; | |
| 1991/1120 | ||
| 1991/1126/sys/src/9/port/tcpif.c:53,59 – 1991/12171/sys/src/9/port/tcpif.c:53,59 | ||
| 1991/0424 | { Tcpctl *tcb = &s->tcpctl; | |
| 1991/12171 | if(tcb->state != Closed) | |
| 1991/0424 | return; init_tcpctl(s); | |
| 1991/1126/sys/src/9/port/tcpif.c:64,70 – 1991/12171/sys/src/9/port/tcpif.c:64,70 | ||
| 1991/0424 | switch(mode){ case TCP_PASSIVE: tcb->flags |= CLONE; | |
| 1991/12171 | setstate(s, Listen); | |
| 1991/0424 | break; case TCP_ACTIVE: /* Send SYN, go into SYN_SENT state */ | |
| 1991/1126/sys/src/9/port/tcpif.c:71,77 – 1991/12171/sys/src/9/port/tcpif.c:71,77 | ||
| 1991/0424 | tcb->flags |= ACTIVE; qlock(tcb); send_syn(tcb); | |
| 1991/12171 | setstate(s, Syn_sent); | |
| 1991/0424 | tcp_output(s); qunlock(tcb); break; | |
| 1991/12171/sys/src/9/port/tcpif.c:3,9 – 1992/0111/sys/src/9/port/tcpif.c:3,9 (short | long) | ||
|
Move error.h to ../port. Change errors to actual strings.
rsc Fri Mar 4 12:44:25 2005 | ||
| 1991/0424 | #include "mem.h" #include "dat.h" #include "fns.h" | |
| 1992/0111 | #include "../port/error.h" | |
| 1991/0424 | #include "arp.h" #include "ipdat.h" | |
| 1991/12171/sys/src/9/port/tcpif.c:16,22 – 1992/0111/sys/src/9/port/tcpif.c:16,22 | ||
| 1991/0424 | Block *bp; int len; | |
| 1992/0111 | DPRINT("state_upcall: %s -> %s err %s\n", | |
| 1991/0424 | tcpstate[oldstate], tcpstate[newstate], s->err); if(oldstate == newstate) | |
| 1991/12171/sys/src/9/port/tcpif.c:33,41 – 1992/0111/sys/src/9/port/tcpif.c:33,41 | ||
| 1991/0424 | break; | |
| 1991/1120 | ||
| 1991/0424 | if(s->err) { | |
| 1991/1120 |
| |
| 1992/0111 | len = strlen(s->err); | |
| 1991/0424 | bp = allocb(len); | |
| 1991/1120 |
| |
| 1992/0111 | strcpy((char *)bp->wptr, s->err); | |
| 1991/1120 | bp->wptr += len; | |
| 1991/0424 | } else | |
| 1992/0111/sys/src/9/port/tcpif.c:29,37 – 1992/0223/sys/src/9/port/tcpif.c:29,34 (short | long) | ||
| 1991/0424 | s->dst = 0; | |
| 1991/1126 | /* NO break */ | |
| 1991/12171 | case Close_wait: /* Remote closes */ | |
| 1991/0424 |
| |
| 1991/1120 | ||
| 1991/0424 | if(s->err) { | |
| 1992/0111 | len = strlen(s->err); | |
| 1991/0424 | bp = allocb(len); | |
| 1992/0111/sys/src/9/port/tcpif.c:43,49 – 1992/0223/sys/src/9/port/tcpif.c:40,51 | ||
| 1991/0424 | ||
| 1991/1120 | bp->flags |= S_DELIM; bp->type = M_HANGUP; | |
| 1992/0223 | qlock(s); if(s->readq == 0) freeb(bp); else PUTNEXT(s->readq, bp); qunlock(s); | |
| 1991/1120 | break; | |
| 1991/0424 | } } | |
| 1992/0223/sys/src/9/port/tcpif.c:15,20 – 1992/0303/sys/src/9/port/tcpif.c:15,21 (short | long) | ||
| 1991/0424 | { Block *bp; int len; | |
| 1992/0303 | Tcpctl *tcb = &s->tcpctl; | |
| 1991/0424 | ||
| 1992/0111 | DPRINT("state_upcall: %s -> %s err %s\n", | |
| 1991/0424 | tcpstate[oldstate], tcpstate[newstate], s->err); | |
| 1992/0223/sys/src/9/port/tcpif.c:48,55 – 1992/0303/sys/src/9/port/tcpif.c:49,64 | ||
| 1992/0223 | qunlock(s); | |
| 1991/1120 | break; | |
| 1991/0424 | } | |
| 1992/0303 | if(oldstate == Syn_sent) wakeup(&tcb->syner); | |
| 1991/0424 | } | |
| 1992/0303 | static int notsyner(void *ic) { return ((Tcpctl*)ic)->state != Syn_sent; } | |
| 1991/0424 | void | |
| 1991/1014 | tcpstart(Ipconv *s, int mode, ushort window, char tos) | |
| 1991/0424 | { | |
| 1992/0223/sys/src/9/port/tcpif.c:76,81 – 1992/0303/sys/src/9/port/tcpif.c:85,93 | ||
| 1991/12171 | setstate(s, Syn_sent); | |
| 1991/0424 | tcp_output(s); qunlock(tcb); | |
| 1992/0303 | sleep(&tcb->syner, notsyner, tcb); if(tcb->state != Established && tcb->state != Syn_received) error(Etimedout); | |
| 1991/0424 | break; } } | |
| 1992/0303/sys/src/9/port/tcpif.c:1,5 – 1992/0321/sys/src/9/port/tcpif.c:1,5 (short | long) | ||
|
Move lib.h to ../port.
rsc Fri Mar 4 12:44:25 2005 | ||
| 1991/0424 | #include "u.h" | |
| 1992/0321 | #include "../port/lib.h" | |
| 1991/0424 | #include "mem.h" #include "dat.h" #include "fns.h" | |
| 1992/0321/sys/src/9/port/tcpif.c:42,51 – 1992/0322/sys/src/9/port/tcpif.c:42,56 (short | long) | ||
| 1991/1120 | bp->flags |= S_DELIM; bp->type = M_HANGUP; | |
| 1992/0223 | qlock(s); | |
| 1992/0322 | if(waserror()) { qunlock(s); nexterror(); } | |
| 1992/0223 | if(s->readq == 0) freeb(bp); else PUTNEXT(s->readq, bp); | |
| 1992/0322 | poperror(); | |
| 1992/0223 | qunlock(s); | |
| 1991/1120 | break; | |
| 1991/0424 | } | |
| 1992/0321/sys/src/9/port/tcpif.c:81,89 – 1992/0322/sys/src/9/port/tcpif.c:86,99 | ||
| 1991/0424 | /* Send SYN, go into SYN_SENT state */ tcb->flags |= ACTIVE; qlock(tcb); | |
| 1992/0322 | if(waserror()) { qunlock(tcb); nexterror(); } | |
| 1991/0424 | send_syn(tcb); | |
| 1991/12171 | setstate(s, Syn_sent); | |
| 1991/0424 | tcp_output(s); | |
| 1992/0322 | poperror(); | |
| 1991/0424 | qunlock(tcb); | |
| 1992/0303 | sleep(&tcb->syner, notsyner, tcb); if(tcb->state != Established && tcb->state != Syn_received) | |
| 1992/0322/sys/src/9/port/tcpif.c:64,69 – 1992/0325/sys/src/9/port/tcpif.c:64,70 (short | long) | ||
| 1992/0303 | { return ((Tcpctl*)ic)->state != Syn_sent; } | |
| 1992/0325 | ||
| 1991/0424 | void | |
| 1991/1014 | tcpstart(Ipconv *s, int mode, ushort window, char tos) | |
| 1991/0424 | { | |
| 1992/0322/sys/src/9/port/tcpif.c:82,87 – 1992/0325/sys/src/9/port/tcpif.c:83,89 | ||
| 1991/0424 | tcb->flags |= CLONE; | |
| 1991/12171 | setstate(s, Listen); | |
| 1991/0424 | break; | |
| 1992/0325 | ||
| 1991/0424 | case TCP_ACTIVE: /* Send SYN, go into SYN_SENT state */ tcb->flags |= ACTIVE; | |
| 1992/0325/sys/src/9/port/tcpif.c:46,54 – 1992/0416/sys/src/9/port/tcpif.c:46,57 (short | long) | ||
| 1992/0322 | qunlock(s); nexterror(); } | |
| 1992/0223 |
| |
| 1992/0416 | if(s->readq == 0){ if(newstate == Close_wait) putb(&tcb->rcvq, bp); else freeb(bp); } else | |
| 1992/0223 | PUTNEXT(s->readq, bp); | |
| 1992/0322 | poperror(); | |
| 1992/0223 | qunlock(s); | |
| 1992/0416/sys/src/9/port/tcpif.c:72,77 – 1992/0529/sys/src/9/port/tcpif.c:72,78 (short | long) | ||
| 1991/1014 | tcpstart(Ipconv *s, int mode, ushort window, char tos) | |
| 1991/0424 | { Tcpctl *tcb = &s->tcpctl; | |
| 1992/0529 | char msg[NAMELEN+2]; | |
| 1991/0424 | ||
| 1991/12171 | if(tcb->state != Closed) | |
| 1991/0424 | return; | |
| 1992/0529/sys/src/9/port/tcpif.c:72,78 – 1992/0711/sys/src/9/port/tcpif.c:72,77 (short | long) | ||
| 1991/1014 | tcpstart(Ipconv *s, int mode, ushort window, char tos) | |
| 1991/0424 | { Tcpctl *tcb = &s->tcpctl; | |
| 1992/0529 |
| |
| 1991/0424 | ||
| 1991/12171 | if(tcb->state != Closed) | |
| 1991/0424 | return; | |
| 1992/0711/sys/src/9/port/tcpif.c:11,34 – 1992/0903/sys/src/9/port/tcpif.c:11,31 (short | long) | ||
| 1991/0424 | #define DPRINT if(tcpdbg) print void | |
| 1992/0903 | tcpxstate(Ipconv *s, char oldstate, char newstate) | |
| 1991/0424 | { | |
| 1992/0903 | Block *bp; | |
| 1992/0303 | Tcpctl *tcb = &s->tcpctl; | |
| 1991/0424 | ||
| 1992/0111 |
| |
| 1991/0424 |
| |
| 1991/12171 | case Closed: | |
| 1991/0424 |
| |
| 1992/0903 | s->psrc = 0; /* This connection is toast */ | |
| 1991/0424 | s->pdst = 0; s->dst = 0; | |
| 1991/1126 |
| |
| 1992/0903 | ||
| 1991/12171 | case Close_wait: /* Remote closes */ | |
| 1991/0424 | if(s->err) { | |
| 1992/0111 | len = strlen(s->err); | |
| 1992/0711/sys/src/9/port/tcpif.c:46,52 – 1992/0903/sys/src/9/port/tcpif.c:43,49 | ||
| 1992/0322 | qunlock(s); nexterror(); } | |
| 1992/0416 |
| |
| 1992/0903 | if(s->readq == 0) { | |
| 1992/0416 | if(newstate == Close_wait) putb(&tcb->rcvq, bp); else | |
| 1992/0711/sys/src/9/port/tcpif.c:84,90 – 1992/0903/sys/src/9/port/tcpif.c:81,87 | ||
| 1991/0424 | switch(mode){ case TCP_PASSIVE: tcb->flags |= CLONE; | |
| 1991/12171 |
| |
| 1992/0903 | tcpsetstate(s, Listen); | |
| 1991/0424 | break; | |
| 1992/0325 | ||
| 1991/0424 | case TCP_ACTIVE: | |
| 1992/0711/sys/src/9/port/tcpif.c:95,103 – 1992/0903/sys/src/9/port/tcpif.c:92,100 | ||
| 1992/0322 | qunlock(tcb); nexterror(); } | |
| 1991/0424 |
| |
| 1991/12171 |
| |
| 1991/0424 |
| |
| 1992/0903 | tcpsndsyn(tcb); tcpsetstate(s, Syn_sent); tcpoutput(s); | |
| 1992/0322 | poperror(); | |
| 1991/0424 | qunlock(tcb); | |
| 1992/0303 | sleep(&tcb->syner, notsyner, tcb); | |
| 1992/0903/sys/src/9/port/tcpif.c:15,25 – 1992/0906/sys/src/9/port/tcpif.c:15,26 (short | long) | ||
| 1991/0424 | { int len; | |
| 1992/0903 | Block *bp; | |
| 1992/0303 |
| |
| 1992/0906 | Tcpctl *tcb; | |
| 1991/0424 | if(oldstate == newstate) return; | |
| 1992/0906 | tcb = &s->tcpctl; | |
| 1991/0424 | switch(newstate) { | |
| 1991/12171 | case Closed: | |
| 1992/0903 | s->psrc = 0; /* This connection is toast */ | |
| 1992/0903/sys/src/9/port/tcpif.c:68,81 – 1992/0906/sys/src/9/port/tcpif.c:69,84 | ||
| 1991/0424 | void | |
| 1991/1014 | tcpstart(Ipconv *s, int mode, ushort window, char tos) | |
| 1991/0424 | { | |
| 1992/0906 | Tcpctl *tcb; | |
| 1991/0424 | ||
| 1992/0906 | tcb = &s->tcpctl; | |
| 1991/12171 | if(tcb->state != Closed) | |
| 1991/0424 | return; init_tcpctl(s); | |
| 1992/0906 | tcb->window = window; tcb->rcv.wnd = window; | |
| 1991/0424 | tcb->tos = tos; switch(mode){ | |
| 1992/0906/sys/src/9/port/tcpif.c:100,106 – 1992/1220/sys/src/9/port/tcpif.c:100,106 (short | long) | ||
| 1992/0903 | tcpoutput(s); | |
| 1992/0322 | poperror(); | |
| 1991/0424 | qunlock(tcb); | |
| 1992/0303 |
| |
| 1992/1220 | tsleep(&tcb->syner, notsyner, tcb, 120*1000); | |
| 1992/0303 | if(tcb->state != Established && tcb->state != Syn_received) error(Etimedout); | |
| 1991/0424 | break; | |
| 1992/1220/sys/src/9/port/tcpif.c:1,108 – 1993/0804/sys/src/9/port/tcpif.c:0 (short | long) | ||
|
Deleted.
rsc Mon Mar 7 10:32:24 2005 | ||
| 1991/0424 |
| |
| 1992/0321 |
| |
| 1991/0424 |
| |
| 1992/0111 |
| |
| 1991/0424 |
| |
| 1992/0903 |
| |
| 1991/0424 |
| |
| 1992/0903 |
| |
| 1992/0906 |
| |
| 1991/0424 |
| |
| 1992/0906 |
| |
| 1991/0424 |
| |
| 1991/12171 |
| |
| 1992/0903 |
| |
| 1991/0424 |
| |
| 1992/0903 | ||
| 1991/12171 |
| |
| 1991/0424 |
| |
| 1992/0111 |
| |
| 1991/0424 |
| |
| 1992/0111 |
| |
| 1991/1120 |
| |
| 1991/0424 |
| |
| 1991/1120 |
| |
| 1992/0223 |
| |
| 1992/0322 |
| |
| 1992/0903 |
| |
| 1992/0416 |
| |
| 1992/0223 |
| |
| 1992/0322 |
| |
| 1992/0223 |
| |
| 1991/1120 |
| |
| 1991/0424 |
| |
| 1992/0303 |
| |
| 1991/0424 |
| |
| 1992/0303 |
| |
| 1992/0325 | ||
| 1991/0424 |
| |
| 1991/1014 |
| |
| 1991/0424 |
| |
| 1992/0906 |
| |
| 1991/0424 | ||
| 1992/0906 |
| |
| 1991/12171 |
| |
| 1991/0424 |
| |
| 1992/0906 |
| |
| 1991/0424 |
| |
| 1992/0903 |
| |
| 1991/0424 |
| |
| 1992/0325 | ||
| 1991/0424 |
| |
| 1992/0322 |
| |
| 1992/0903 |
| |
| 1992/0322 |
| |
| 1991/0424 |
| |
| 1992/1220 |
| |
| 1992/0303 |
| |
| 1991/0424 |
| |