tcpswitch.c,v
来自「TCP-IP红宝书源代码」· C,V 代码 · 共 83 行
C,V
83 行
head 1.2;
access;
symbols;
locks
dls:1.2; strict;
comment @ * @;
1.2
date 97.09.21.19.29.52; author dls; state Dist;
branches;
next 1.1;
1.1
date 94.01.14.03.51.20; author dls; state v2e1;
branches;
next ;
desc
@@
1.2
log
@pre-3e code
@
text
@/* tcpswitch.c */
#include <conf.h>
#include <kernel.h>
#include <network.h>
char *tcperror[] = {
"no error",
"connection reset", /* TCPE_RESET */
"connection refused", /* TCPE_REFUSED */
"not enough buffer space", /* TCPE_TOOBIG */
"connection timed out", /* TCPE_TIMEDOUT */
"urgent data pending", /* TCPE_URGENTMODE */
"end of urgent data", /* TCPE_NORMALMODE */
};
/* SEGMENT ARRIVES state processing */
int tcpclosed(), tcplisten(),tcpsynsent(), tcpsynrcvd(),
tcpestablished(), tcpfin1(), tcpfin2(), tcpclosewait(),
tcpclosing(), tcplastack(), tcptimewait();
int (*tcpswitch[NTCPSTATES])() = {
ioerr, /* TCPS_FREE */
tcpclosed, /* TCPS_CLOSED */
tcplisten, /* TCPS_LISTEN */
tcpsynsent, /* TCPS_SYNSENT */
tcpsynrcvd, /* TCPS_SYNRCVD */
tcpestablished, /* TCPS_ESTABLISHED */
tcpfin1, /* TCPS_FINWAIT1 */
tcpfin2, /* TCPS_FINWAIT2 */
tcpclosewait, /* TCPS_CLOSEWAIT */
tcplastack, /* TCPS_LASTACK */
tcpclosing, /* TCPS_CLOSING */
tcptimewait, /* TCPS_TIMEWAIT */
};
/* Output event processing */
int tcpidle(), tcppersist(), tcpxmit(), tcprexmt();
int (*tcposwitch[NTCPOSTATES])() = {
tcpidle, /* TCPO_IDLE */
tcppersist, /* TCPO_PERSIST */
tcpxmit, /* TCPO_XMIT */
tcprexmt, /* TCPO_REXMT */
};
@
1.1
log
@Initial revision
@
text
@@
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?