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

📄 uqppd.h

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 H
字号:
/* *	@(#)uqppd.h	4.1	(ULTRIX)	7/2/90 *//************************************************************************ *									* *			Copyright (c) 1987 - 1989 by			* *		Digital Equipment Corporation, Maynard, MA		* *			All rights reserved.				* *									* *   This software is furnished under a license and may be used and	* *   copied  only  in accordance with the terms of such license and	* *   with the  inclusion  of  the  above  copyright  notice.   This	* *   software  or  any  other copies thereof may not be provided or	* *   otherwise made available to any other person.  No title to and	* *   ownership of the software is hereby transferred.			* *									* *									* *   The information in this software is subject to change  without	* *   notice  and should not be construed as a commitment by Digital	* *   Equipment Corporation.						* *									* *   Digital assumes no responsibility for the use  or  reliability	* *   of its software on equipment which is not supplied by Digital.	* *									* ************************************************************************//* *	Modification History * *	20-Jul-1989 - map (Mark A. Parenti) *		Change communications area for: *			1) Support of XMI port *			2) Support of SSP scratchpad ECO *		Switch order of pcinfo structure to provide better *		alignment for XMI. * *	14-Mar-1988 - Larry Cohen *		Remove all references to ra_info. * *	15-Feb-1988 - map *		Removed ACCEPT_REQUEST buffers from port_info structure */#define TENSEC	(1000)/* Macros */						/* Shorthand notations */#define	Lpinfo		pccb->lpinfo.pd.uq#define	Pccb		pccb->pd.uq#define Bh		bhp->pd.uq.bh#define	Pos_to_ppdh( uqbp )	\	( UQPPDH * )(( u_char * )uqbp + sizeof(UQH) + sizeof(SCSH) - sizeof(UQPPDH))#define	UQ_header( scsbp )	\	( UQH * )(( u_char * )scsbp - sizeof( UQH ))#define	SCS_msg_header(uqbp)	\	( SCSH * )(( u_char * )uqbp + sizeof( UQH ))#define	Store_connid( connid )	\	*( u_long * )&connid#define	Load_connid( connid ) \	*( u_long *)&connid/* * UQ Communications Area */typedef struct _uqca {	struct {		volatile unsigned long	rsvd:16;		volatile unsigned long	scp_size:16; /* Size of scratchpad */	} ca_scp1;	volatile unsigned long	ca_scp_add;	/* Address of scratchpad */	struct {		union {			    struct {				volatile unsigned long	rsvd:24; /* Reserved */				volatile unsigned long 	bdp:8;  /* Buffered data path for purge */		            }uq;			    struct {				volatile unsigned long pfn:16;				volatile unsigned long flags:4;				volatile unsigned long psi:4;				volatile unsigned long rsvd:8;			    } xmi;			}ca_busdep_un;	}ca_busdep;	volatile unsigned short	ca_cmdint; /* command queue transition interrupt flag */	volatile unsigned short	ca_rspint; /* response queue transition interrupt flag */	volatile unsigned long	ca_rspdsc[NRSP];/* response descriptors */	volatile unsigned long	ca_cmddsc[NCMD];/* command descriptors 	*/} UQCA;#define	ca_ringbase	ca_rspdsc[0]#define ca_bdp		ca_busdep.ca_busdep_un.uq.bdp#define	ca_xmi		ca_busdep.ca_busdep_un.xmi#define	ca_scp_size	ca_scp1.scp_size#define	UQ_SCP_SIZE	0x40	/* Size of controller scratchpad	*/typedef struct _uqscp {	volatile char scrpad[UQ_SCP_SIZE];} UQ_SCP;/* * MSCP packet info */typedef	struct uq_phdr {	u_long	uqp_msglen  : 16; /* length of application message	*/	u_long	uqp_credits : 4; /* credits 				*/	u_long	uqp_msgtype : 4; /* message type 			*/	u_long	uqp_cid     : 8; /* connection id 			*/}UQPPDH;typedef	struct	_uqh	{	/* UQ port header			*/	struct	_uqbq	*flink;	/* Port buffer queue pointers		*/	struct	_uqbq	*blink;	long	ua;		/* Address used in ring entry for this	*/				/* packet				*/} UQH;typedef	struct	_app_buf {	union {	MSCP_MAXBUF _mscp_buf;	/* Max of MSCP buffers			*/	CONN_REQ    _con_req;	/* Biggest SCS buffer			*/	}un;} APP_BUF;typedef	struct	uq_buf {	/* UQ port message buffer		*/	struct	_uqh	uqh;	/* UQ specific info			*/	struct	_scsh	scsh;	/* SCS header				*/	APP_BUF app_buf;	/* Max of MSCP and SCS buffers		*/} UQBUF;typedef	struct	_uq {	volatile struct	_uqca	uqca;	/* Communications area		*/	UQBUF	uq_buf[NBUF]; 	/* Message buffers			*/} UQ;/* 	Port Info Block */struct	port_info {	UQ	uq;		/* Rings and buffers			*/	PCCB	*pc_ptr;	/* Pointer to PCCB			*/};

⌨️ 快捷键说明

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