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

📄 tip.h

📁 早期freebsd实现
💻 H
字号:
/* * tip - terminal interface program */#include <sys/types.h>#include <sys/file.h>#include <sgtty.h>#include <signal.h>#include <stdio.h>#include <pwd.h>#include <ctype.h>#include <setjmp.h>#include <phonenumber.h>#include <connect.h>#include <errno.h>/* * Remote host attributes */char	*EL;			/* chars marking an EOL */char	*CM;			/* initial connection message */char	*IE;			/* EOT to expect on input */char	*OE;			/* EOT to send to complete FT */char	*PA;			/* parity to be generated */int	FS;			/* frame size for transfers */char	*ES;			/* escape character */char	*EX;			/* exceptions */char	*FO;			/* force (literal next) char*/char	*RC;			/* raise character */char	*RE;			/* script record file */char	*PR;			/* remote prompt */int	DL;			/* line delay for file transfers to remote */int	CL;			/* char delay for file transfers to remote */int	ET;			/* echocheck timeout */char	HD;			/* this host is half duplex - do local echo *//* * String value table */typedef	struct {		char	*v_name;	/* whose name is it */		char	v_type;		/* for interpreting set's */		char	v_access;	/* protection of touchy ones */		char	*v_abrev;	/* possible abreviation */		char	*v_value;	/* casted to a union later */	}	value_t;#define STRING	01		/* string valued */#define BOOL	02		/* true-false value */#define NUMBER	04		/* numeric value */#define CHAR	010		/* character value */#define WRITE	01		/* write access to variable */#define	READ	02		/* read access */#define CHANGED	01		/* low bit is used to show modification */#define PUBLIC	1		/* public access rights */#define PRIVATE	03		/* private to definer */#define ROOT	05		/* root defined */#define	TRUE	1#define FALSE	0#define ENVIRON	020		/* initialize out of the environment */#define IREMOTE	040		/* initialize out of remote structure */#define INIT	0100		/* static data space used for initialization */#define TMASK	017#define	equal(a, b)	(strcmp(a,b)==0)/* A nice function to string compare *//* * variable manipulation stuff -- *   if we defined the value entry in value_t, then we couldn't *   initialize it in vars.c, so we cast it as needed to keep lint *   happy. */typedef	union {		int	zz_number;		short	zz_boolean;		char	zz_character;		int	*zz_address;	}	zzhack;#define value(v)	vtable[v].v_value#define boolean(v)	((((zzhack *)(&(v))))->zz_boolean)#define number(v)	((((zzhack *)(&(v))))->zz_number)#define character(v)	((((zzhack *)(&(v))))->zz_character)#define address(v)	((((zzhack *)(&(v))))->zz_address)/* * Escape command table definitions -- *   lookup in this table is performed when ``escapec'' is recognized *   at the begining of a line (as defined by the eolmarks variable).*/typedef	struct {		char	e_char;		/* char to match on */		char	e_flags;	/* experimental, priviledged */		char	*e_help;	/* help string */		int 	(*e_func)();	/* command */	}	esctable_t;#define NORM	00		/* normal protection, execute anyone */#define EXP	01		/* experimental, mark it with a `*' on help */#define PRIV	02		/* priviledged, root execute only */extern int	vflag;		/* verbose during reading of .tiprc file */extern value_t	vtable[];	/* variable table *//* * Definition of indices into variable table so *  value(DEFINE) turns into a static address. */#define BEAUTIFY	0#define DIALTIMEOUT	1#define EOFREAD		2#define EOFWRITE	3#define EOL		4#define ESCAPE		5#define EXCEPTIONS	6#define FORCE		7#define FRAMESIZE	8#define LOG		9#define PROMPT		10#define RAISE		11#define RAISECHAR	12#define RECORD		13#define SCRIPT		14#define TABEXPAND	15#define VERBOSE		16#define SHELL		17#define HOME		18#define ECHOCHECK	19#define TAND		20#define LDELAY		21#define CDELAY		22#define ETIMEOUT	23#define RAWFTP		24#define HALFDUPLEX	25#define	LECHO		26#define	PARITY		27#define NOVAL	((value_t *)NULL)#define NOACU	((acu_t *)NULL)#define NOSTR	((char *)NULL)#define NOFILE	((FILE *)NULL)#define NOPWD	((struct passwd *)0)struct sgttyb	arg;		/* current mode of local terminal */struct sgttyb	defarg;		/* initial mode of local terminal */struct tchars	tchars;		/* current state of terminal */struct tchars	defchars;	/* initial state of terminal */struct ltchars	ltchars;	/* current local characters of terminal */struct ltchars	deflchars;	/* initial local characters of terminal */FILE	*fscript;		/* FILE for scripting */int	fildes[2];		/* file transfer synchronization channel */int	repdes[2];		/* read process sychronization channel */int	FD;			/* open file descriptor to remote host */int	vflag;			/* print .tiprc initialization sequence */int	sfd;			/* for ~< operation */int	pid;			/* pid of tipout */int	stop;			/* stop transfer session flag */int	quit;			/* same; but on other end */int	intflag;		/* recognized interrupt */int	stoprompt;		/* for interrupting a prompt session */int	timedout;		/* ~> transfer timedout */int	cumode;			/* simulating the "cu" program */char	fname[80];		/* file name buffer for ~< */char	copyname[80];		/* file name buffer for ~> */char	ccc;			/* synchronization character */char	ch;			/* for tipout */int	odisc;				/* initial tty line discipline */extern	int disc;			/* current tty discpline */extern	char *ctrl();extern	char *ctime();extern	long time();extern	struct passwd *getpwuid();extern	char *getlogin();extern	char *vinterp();extern	char *getenv();extern	char *rindex();extern	char *index();extern	char *malloc();extern	char *connect();

⌨️ 快捷键说明

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