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

📄 ecushm.h

📁 一个通讯程序源码
💻 H
字号:
#define SHM_REV	0x0ECEC000DL	/* high 16-bits unique, low=revision *//*+-------------------------------------------------------------------------	ecushm.h -- ecu shared data segment	wht@n4hgf.Mt-Park.GA.US--------------------------------------------------------------------------*//*+:EDITS:*//*:09-10-1992-13:59-wht@n4hgf-ECU release 3.20 *//*:09-10-1992-04:34-wht@n4hgf-add rcvrdisp semaphore *//*:09-06-1992-13:29-wht@n4hgf-add receiver process buffered screen write *//*:08-22-1992-15:38-wht@n4hgf-ECU release 3.20 BETA *//*:08-17-1992-04:55-wht@n4hgf-keep rcvr pid in shm for friend code *//*:07-19-1992-07:44-wht@n4hgf-85 lines too expensive to keep updated *//*:07-19-1992-07:42-wht@n4hgf-ttyinit_param -> ttyuse *//*:05-08-1992-03:36-wht@n4hgf-bumped rev: max screen geometry now 85x80 *//*:03-27-1992-16:21-wht@n4hgf-re-include protection for all .h files *//*:12-15-1991-14:22-wht@n4hgf-autorz and zmodem_asterisk_count added *//*:12-13-1991-04:16-wht@n4hgf-move bell_notify_state to shm *//*:11-11-1991-22:25-wht@n4hgf-add Ldcdwatch and Ltiobuf *//*:08-21-1991-01:34-wht@n4hgf-FAR depends only on M_I286 *//*:07-25-1991-12:56-wht@n4hgf-ECU release 3.10 *//*:12-19-1990-17:09-wht@n4hgf-make cursor variables unsigned *//*:11-30-1990-19:01-wht@n4hgf-add ttyinit_param *//*:11-28-1990-17:43-wht@n4hgf-move cursor_y, cursor_x to right after revision *//*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */#ifndef _ecushm_h#define _ecushm_h#if defined(M_I286)#define FAR far#else#define FAR#endif#if !defined(ushort)#define ushort unsigned short#endif#if !defined(uchar)#define uchar unsigned char#endif#if !defined(uint)#define uint unsigned int#endif#if !defined(ulong)#define ulong unsigned long#endif/* tty usage parameter (ttyuse) */#define TTYUSE_NORMAL			0	/* must be zero */#define TTYUSE_FORCE_SIMPLE		1/* * max length of a logical name or  telephone number string * this the actual number of characters: arrays are defined * DESTREF_LEN + 1 in length to provide for null * * (in revisions prior to ALPHA-3.19.16, this was named TELNO_LEN) */#define DESTREF_LEN			40#define SCREEN_LINES_MAX	43#define SCREEN_COLS_MAX		80#define SHM_STRLEN			256#define TO_SCREEN_BUFSZ		128typedef struct ecu_sds{	uchar screen[SCREEN_LINES_MAX][SCREEN_COLS_MAX];	ulong shm_revision;	uint cursor_y;			/* program-maintained receive cursor */	uint cursor_x;			/* program-maintained receive cursor */	ushort scr_lines;		/* lines in use */	ushort scr_cols;		/* columns in use */	ushort scr_size;		/* screen size (lines * cols) */	ushort terminating;		/* made one when ECU terminating */	/* xmtr to rcvr communication area */	int xcmd;				/* signal from xmtr to rcvr SIGUSR2 */	int xi1;	int xi2;	int xi3;	char xs1[SHM_STRLEN];	/* rcvr to xmtr communication area */	int rcmd;				/* signal from rcvr to xmtr SIGUSR2 */	int ri1;	int ri2;	char rs1[SHM_STRLEN];	ulong rcvd_chars;		/* rcvr char count */	ulong rcvd_chars_this_connect;	/* count since last connect */	ulong xmit_chars;		/* xmit char count */	ulong xmit_chars_this_connect;	/* count since last connect */	int Ladd_nl_incoming;	/* when in ksr mode, add nl to cr on receive */	int Ladd_nl_outgoing;	/* when in ksr mode, add nl to cr on xmit */	int Lfull_duplex;		/* if non-zero, full duplex else half */	int Liofd;				/* file descriptor for line */	int Lmodem_already_init;/* true if modem already initialized */	int Lconnected;	/* we try to keep accurate */	int Lparity;			/* 0==NONE, 'e' == even, 'o' == odd */	uint Lbaud;				/* baud rate */	char Ldescr[64];		/* description of remote */	char Lline[64];			/* /dev/ttyname for outgoing line */	char Llogical[64];		/* logical name of remote (from dial dir) */	char Lrname[64];		/* logical name of remote (settable) */	long Loff_hook_time;	/* time() at connect */	char Ltelno[DESTREF_LEN+1]; /* telephone number for remote or null */	int Ldcdwatch;			/* state of line DCD watcher */	ushort Lxonxoff;		/* status of line IXON and IXOFF */	/*	 * this is a projectile vomit hack, but you don't need termio.h	 * to use ecushm.h this way	 */#define TIOBUF_SIZE		40	/* big enough for all systems I know about */	long Ltiobuf[(TIOBUF_SIZE / sizeof(long)) + 1]; /* buffer for termio */	PID_T xmtr_pid;			/* transmitter process pid */	PID_T xmtr_ppid;		/* transmitter process' parent's pid */	PID_T xmtr_pgrp;		/* transmitter process group */	PID_T rcvr_pid;			/* receiver pid (or -1 if inactive) */	char tty_name[64];		/* comm line name (not console) */	uchar ttyuse;			/* see TTYUSE_... above and ecuxfer.c */	int bell_notify_state;	/* bell/text-event to annunciator mapping state */	int autorz;				/* if true, automatic rz on rcvd zmodem prefix */	int autorz_pos;			/* position in autorz match sequence */	ulong friend_space[128];/* space for friend programs */	/*	 * receiver process buffered screen write	 */	char rcvrdisp_buffer[TO_SCREEN_BUFSZ];	char *rcvrdisp_ptr;	int rcvrdisp_count;	int rcvrdisp_semid;} ECU_SDS;extern ECU_SDS FAR *shm;		/* shared segment pointer */#endif /* _ecushm_h *//* vi: set tabstop=4 shiftwidth=4: *//* end of ecushm.h */

⌨️ 快捷键说明

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