⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 will_termtype.c

📁 tcp/ip原理的第三卷
💻 C
字号:
/* will_termtype.c - will_termtype */

#include <sys/types.h>

#include <stdio.h>

#include "telnet.h"

char	*getenv();

char		termtype;	/* non-zero if received "DO TERMTYPE"	*/
char		*term;		/* terminal name			*/
extern u_char	option_cmd;

/*------------------------------------------------------------------------
 * will_termtype - handle TELNET DO/DON'T TERMINAL-TYPE option
 *------------------------------------------------------------------------
 */
int
will_termtype(rfp, tfp, c)
FILE	*rfp, *tfp;
int	c;
{
	if (termtype) {
		if (option_cmd == TCDO)
			return 0;
	} else if (option_cmd == TCDONT)
		return 0;
	termtype = !termtype;
	if (termtype)
		if (!term && !(term = getenv("TERM")))
			termtype = !termtype;	/* can't do it... */
	(void) putc(TCIAC, rfp);
	if (termtype)
		(void) putc(TCWILL, rfp);
	else
		(void) putc(TCWONT, rfp);
	(void) putc((char)c, rfp);
	if (termtype) {	/* set up binary data path; send WILL, DO */
		option_cmd = TCWILL;
		(void) do_txbinary(rfp, tfp, TOTXBINARY);
		option_cmd = TCDO;
		(void) will_txbinary(rfp, tfp, TOTXBINARY);
	}
	return 0;
}

⌨️ 快捷键说明

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