tcpclosing.c

来自「关于TCP方面的」· C语言 代码 · 共 31 行

C
31
字号
/* tcpclosing.c - tcpclosing */#include <conf.h>#include <kernel.h>#include <network.h>/*------------------------------------------------------------------------ *  tcpclosing -  do CLOSING state input processing *------------------------------------------------------------------------ */inttcpclosing(struct tcb *ptcb, struct ep *pep){	struct	ip	*pip = (struct ip *)pep->ep_data;	struct	tcp	*ptcp = (struct tcp *)pip->ip_data;	if (ptcp->tcp_code & TCPF_RST)		return tcbdealloc(ptcb);	if (ptcp->tcp_code & TCPF_SYN) {		tcpreset(pep);		return tcbdealloc(ptcb);	}	tcpacked(ptcb, pep);	if ((ptcb->tcb_code & TCPF_FIN) == 0) {		ptcb->tcb_state = TCPS_TIMEWAIT;		signal(ptcb->tcb_ocsem);		/* wake closer	*/		tcpwait(ptcb);	}	return OK;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?