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

📄 ciport.h

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 H
📖 第 1 页 / 共 5 页
字号:
#define	CIXCD_PMCS_PRIBPE 0X00004000	/*  error		     */					/* CIDASH/SHAC Port Maint Control */#define CISHC_PMCS_SIMP 0x00000008	/* Simple Shac mode diag only	*/#define CISHC_PMCS_HC   0x00000010	/* Host access diag only	*/					/* Port Maintenance Control and	     */					/*  Status Register Mask Bits	     */#define	PMCSR_MIN	0x00000001	/* Maintenance timer initialize	     */#define	PMCSR_MTD	0x00000002	/* Maintenance timer disable	     */#define	PMCSR_MIE	0x00000004	/* Maintence interrupt enable	     */					/* Port Parameter Register Mask Bits */#define	PPR_LPORT_ADDR	0x000000FF	/* Local port station address	     */#define	PPR_DIAG_INFO	0x00007F00	/* Diagnostic information	     */#define PPR_PPE_BIT 	0X00008000	/* Port Parameter Extention Reg. Bit */#define	PPR_L0100_CSZ	0x80000000	/* Cluster size( L0100 link module ) */#define	PPR_CSZ		0xE0000000	/* Cluster size( new format )	     */#define	PPR_IBUF_LEN	0x1FFF0000	/* IBUF_LEN of port	*/					/* Port Parameter Extention Register */					/*  Mask Bits 		             */#define	PPER_EAF	0x00000080	/* Explicit address format	     */#define	PPER_MEM_NO	0x0000FF00	/* Member number for local port      */#define PPER_NADP	0x00010000	/* NADP field supported in VCD	     */#define PPER_RDPS	0x00020000	/* RDP adapter support  	     */#define PPER_ESS	0x00040000	/* Explicit state supported in VCD   */					/* Port Parameter Extention-2 Register*/					/*  Mask Bits 		             */#define PPE2R_ASB_LEN   0x0000FFFF	/* Requested adapter state block len.*/					/* CI750/CI780/CIBCI Port Status     */					/*  Register Mask Bits		     */#define	CI7B_PS_MTE	0x80000000	/* Maintenance error		     */#define	CI7B_PS_ERRS	0xFFFFFFFE	/* PSR error bits		     */					/* CIBCA/CIXCD Port Status Register  */					/*  Mask Bits			     */#define	CIBX_PS_MTE	0x00000100	/* Maintenance error		     */#define	CIBX_PS_MIF	0x00000200	/* Maintenance interrupt flag	     */#define	CIBX_PS_UNIN	0x00000400	/* CIBCA/CIXCD uninitialized  	     */#define	CIBX_PS_NRSPE	0x00008000	/* CIBCA No response error	     */#define	CIXCD_PS_NRSPE	0x80000000	/* CIXCD No response error	     */#define	CIBX_PS_ERRS	0xFFFFFDFE	/* PSR error bits		     */					/* CIKMF Port Status Register        */#define CIKMF_PS_CRDE   0x00000100	/* Corrected read data error detected */#define	CIKMF_PS_MTE	0x80000000	/* Maintenance error		     */					/* Shac Port Status Register 	     */#define CISHC_PS_SHME   0x00010000	/* Shared host memory error	     */#define CISHC_PS_SMPE   0x00020000	/* Slave mode parity error	     */#define CISHC_PS_ISNE   0x00040000	/* Illegal segment number error	     */#define CISHC_PS_DE     0x00080000	/* Diagnostic error		     */#define CISHC_PS_QDE    0x00100000	/* Quip Detected error		     */#define CISHC_PS_IIE    0x00200000	/* Illegal interrupt error	     */#define CISHC_PS_MTE    0x80000000	/* Maintenance error		     */#define	CISHC_PS_ERRS	0xFFFFFFFE	/* PSR error bits		     */					/* Port Status Register Mask Bits    */#define	PSR_RQA		0x00000001	/* Response queue available	     */#define	PSR_MFQE	0x00000002	/* Message free queue empty	     */#define	PSR_PDC		0x00000004	/* Port disablement complete	     */#define	PSR_PIC		0x00000008	/* Port initialization complete	     */#define	PSR_DSE		0x00000010	/* Data structure error		     */#define	PSR_MSE		0x00000020	/* Memory structure error	     */#define	PSR_SE		0x00000040	/* Sanity timer expiration	     */#define	PSR_MISC	0x00000080	/* Miscellaneous errors		     */					/* XMI Error Register Bit Masks	     */#define	CIXCD_XBE_TTO	0x00000004	/* CIXCD XBE disable TTO 	     */#define	CIXCD_XBE_ERRS	0x88F7B400	/* CIXCD XBE errors mask	     */#define	CIXCD_XBE_HARDE	0x00F7B400	/* CIXCD XBE hard errors mask	     */#define	CIXCD_XBE_SOFTE	0x08000000	/* CIXCD XBE soft errors mask	     */#define	CIKMF_XBE_ERRS	0x09E01400	/* CIKMF XBE errors mask	     */#define	CIKMF_XBE_PERRS	0x01800000	/* CIKMF XBE parity errors mask	     */#define	CIKMF_XBE_HERRS	0x00601400	/* CIKMF XBE port errors mask	     */#define	CIKMF_PSER_ERRS 0x801EA000	/* CIKMF port specific hard err mask */#define	CIKMF_PSER_HERRS 0x0017A000	/* CIKMF port specific hard err mask */#define	CIKMF_PSER_SERRS 0x00080000	/* CIKMF port specific soft err mask */#define FCN_EXT2_MMV 	0x80000000	/* Member map valid 		     */#define FCN_EXT2_EAS 	0x00008000	/* Explicit address support	     */#define FCN_EXT2_FSN 	0x00004000	/* Full sequence numbers	     */#define FCN_EXT2_RDP 	0x00002000	/* Resequence dual path  	     */#define FCN_EXT2_NADP 	0x00001000	/* Non-adp adapter support	     */#define FCN_EXT2_ONI 	0x00000800	/* Order not important support	     */#define FCN_EXT2_NMEMS 	0x000000FF	/* Number of members in pgrp <= 64   */#define FCN_EXT2_EFR 	0x0000E000	/* MASK EAS,FSN,RDP      	     */#define FCN_EXT2_FR 	0x00006000	/* MASK FSN,RDP		      	     *//* CI Data Structure Definitions. */typedef struct		  {		/* Loopback CRC Table		     */    u_char			:  8;	/* MBZ				     */    u_char	lblen7;			/* Loopback data size plus 7	     */    u_char	port_num;		/* Local port number		     */    u_char	not_port_num;		/* One's complement( local port num )*/    u_char	lport_addr;		/* Local port station address	     */    u_char	opcode;			/* Value of SNDLB opcode	     */    u_char			:  8;	/* MBZ				     */    u_char	lbdata[ LBDSIZE ];	/* Loopback data		     */} LBCRC;					/* Microcode Revision Level Table    */typedef struct _mrltab {		/*  Entry			     */    u_char	 ram;			/* RAM revision level		     */    u_char	 rom;			/* PROM/EEPROM revision level	     */    u_short	 warn;			/* Warning message flag		     */#define	UCODE_NOWARNING		0	/*  No warning message required	     */#define	UCODE_WARNING		1	/*  Warning message required	     */} MRLTAB;typedef	struct _vcd	{		/* Virtual Circuit Descriptor	     */    union {	struct {    	    u_long			:  9;	/* MBZ			     */    	    u_long	pstatus		:  2;	/* Cable status		     */#define	VCD_BAD		0		/*  Both cables are bad		     */#define	VCD_CABLE0 	1		/*  Cable 0 is good		     */#define	VCD_CABLE1	2		/*  Cable 1 is good		     */#define	VCD_GOOD	3		/*  Both cables are good	     */    	    u_long	nadp		:  1;	/* NADP     		     */    	    u_long	dqi		:  1;	/* DFREEQ inhibit	     */    	    u_long	sseq_num	:  1;	/* Sending sequence number   */    	    u_long	rseq_num	:  1;	/* Receiving sequence number */    	    u_long	vcstate		:  1;	/* Virtual circuit state     */#define	VC_OFF		0		/*  Virtual circuit is off	     */#define	VC_ON		1		/*  Virtual circuit is on	     */    	    u_long	snd_st		:  3;	/* Send states      	     */    	    u_long			:  5;	/* RSV     		     */    	    u_long	rcv_st		:  2;	/* Receive states     	     */    	    u_long			:  6;	/* RSV   		     */	} ssn;	struct {    	    u_long	sseq_num	:  3;	/* Sending sequence number   */    	    u_long	rseq_num	:  3;	/* Sending sequence number   */    	    u_long	rdp		:  1;	/* Resequence dual path      */    	    u_long	fsn		:  1;	/* Full sequence numbers     */    	    u_long	eas		:  1;	/* Subnode Addressing 	     */    	    u_long	pstatus		:  2;	/* Cable status		     */    	    u_long	nadp		:  1;	/* NADP     		     */    	    u_long	dqi		:  1;	/* DFREEQ inhibit	     */    	    u_long			:  2;	/* MBZ			     */    	    u_long	vcstate		:  1;	/* Virtual circuit state     */    	    u_long	snd_st		:  3;	/* Send states      	     */    	    u_long			:  5;	/* RSV     		     */    	    u_long	rcv_st		:  2;	/* Receive states     	     */    	    u_long			:  6;	/* RSV   		     */	} fsn;    } vcd_ov;} VCD;/* CI Port Specific Data Structure Definitions. */typedef struct 		{		/* CI750/CI780/CIBCI Microcode Header*/    u_char	unused[ 8 ];		/* Fields unused by CI port driver   */    u_long	port_type;		/* Microcode port type indicator     */#define	CI7B_ALLRAM	0x5F6A00A1	/*  All RAM port indicator	     */} CI7B_UCODEH;typedef struct 		{		/* CIBCA Microcode Header	     */    u_char	name[ CIBCA_AA_NAMSIZ ];/* Name of microcode file	     */    u_char	unused1[ 254 ];		/* Fields unused by CI port driver   */    u_long	ucode_lbn_off;		/* LBN offset to CIBCA ucode	     */    u_char	unused[ 244 ];		/* Fields unused by CI port driver   */} CIBCA_UCODEH;/* CI Port Command Definitions. */typedef	struct	{			/* Packet Header Cable Status Bits   */    u_char			:  1;    u_char cable0		:  2;	/* Cable 0 status		     */    u_char cable1		:  2;	/* Cable 1 status		     */#define	CABLE_ACK	0		/*  ACK on cable or cable not use    */#define	CABLE_NAK	1		/*  NAK on cable		     */#define	CABLE_NORSP	2		/*  No response on cable	     */#define	CABLE_TIMEOUT	3		/* CI arbitration timeout	     */    u_char			:  3;} CABLE_STATUS;typedef struct	{			/* Packet Header Opcode Modifiers    */    u_char rsp			:  1;	/* Response requested when set       */    u_char cable_select		:  2;	/* Cable select			     */#define	CS_AUTO		0		/*  Automatic cable selection	     */#define	CS_CABLE0	1		/*  Select cable 0		     */#define	CS_CABLE1	2		/*  Select cable 1		     */    u_char			:  1;    u_char pkt_multiple		:  3;	/* Packet multiple 		     */    u_char pkt_size		:  1;	/* Data packet base size	     */#define	Pack_format	pkt_size	/*  Packing format		     */#define	Force_reset	pkt_size	/*  Force reset			     */#define	Default_start	pkt_size	/*  Default start address	     */} OPCODE_MODS;typedef struct	{			/* Packet Header Cable Flags	     */    u_char			:  1;    u_char rcable		:  2;   /* Receive cable		     */    u_char			:  1;    u_char scable		:  2;   /* Send cable			     */    u_char			:  2;} CABLE_FLAGS;typedef	struct	{			/* CKTSET/SETCKT Packet Header Format*/    struct _vcd	mask;			/* Mask controlling VCD modification */#define Imp_mask	0x0000E000	/* Implicit Mask - CST, NR, NS       */#define Kmf_mask	0x000080BF	/* KMF Mask - CST, FSN, NR0:2, NS0:2 */#define Kmf_mvalue	0x00000080	/* KMF Mvalue - FSN 		     */#define Exp_mask	0x000089FF	/* Explicit Mask - CST,NADP,EAS,FSN, */					/* 		   RDP, NR0:2, NS0:2 */#define Exp_mask_eas	0x00008100	/* Explicit Mask Close - CST, EAS    */    struct _vcd	mvalue;			/* VCD modification values	     */    struct _vcd ivalue;			/* VCD prior to modification	     */    u_short vcd_res;			/* VCD resources remaining lower bound*/    u_short reseq_res;			/* Reseq. resources remaining lower bo*/} CKTSETH, SETCKTH;typedef	struct	{			/* IDREC Packet Header Format	     */    struct _tid	xctid;			/* Transaction identifier	     */    u_long	port_type;		/* Port type			     */    u_long	ucode_rev;		/* Port microcode revision level     */    u_long	port_fcn;		/* Port functionality mask	     */    u_long	reset_port	:  8;	/* Port which caused last reset	     */    u_long	port_state	:  3;	/* Port state			     */    u_long	sys_state	: 21;	/* Implementation specific state     */    u_long	port_fcn_ext;		/* Port functionality extension	     */    u_long	port_fcn_ext2;		/* Port functionality extension #2   */    u_long			: 32;	/* Sub_map field		     */    u_long			: 32;	/* Sub_map field		     */    u_long			: 32;	/* RSV field			     */    u_long			: 32;	/* RSV field			     */} IDRECH;					/* IDREQ/REQID/SNDRST/CNFREC/DATREC  */typedef	struct	{			/*  Packet Header Format	     */    struct _tid	xctid;			/* Transaction identifier	     */} CNFRECH, REQIDH, IDREQH, SNDRSTH, DATRECH;typedef struct	{			/* LBREC Packet Header Format	     */    u_short	lblength;		/* Size of loopback data	     */    u_char	lbdata[ LBDSIZE ];	/* Loopback data		     */} LBRECH;typedef	struct	{			

⌨️ 快捷键说明

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