tcpsndlen.c

来自「TCP-IP红宝书源代码」· C语言 代码 · 共 26 行

C
26
字号
/* tcpsndlen.c - tcpsndlen */

#include <conf.h>
#include <kernel.h>
#include <network.h>


/*------------------------------------------------------------------------
 *  tcpsndlen - compute the packet length and offset in sndbuf
 *------------------------------------------------------------------------
 */
int
tcpsndlen(struct tcb *ptcb, Bool rexmt, unsigned int *poff)
{
	struct 	uqe	*puqe, *puqe2;
	unsigned	datalen;

	if (rexmt || (ptcb->tcb_code & TCPF_SYN))
		*poff = 0;
	else
		*poff = ptcb->tcb_snext - ptcb->tcb_suna;
	datalen = ptcb->tcb_sbcount - *poff;
	datalen = min(datalen, ptcb->tcb_swindow);
	return min(datalen, ptcb->tcb_smss);
}

⌨️ 快捷键说明

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