/*
 * @DEC_COPYRIGHT@
 */
/*
 * HISTORY
 * $Log:	uqsysap.h,v $
 * Revision 1.1.2.3  92/05/05  12:54:10  Peter_Keilty
 * 	merged with ag.latest
 * 	[92/05/04  17:09:52  Peter_Keilty]
 * 
 * 	Merge in Alpha DSA changes form Jay_Estabrook
 * 	[92/03/28  10:53:07  Peter_Keilty]
 * 
 * Revision 1.1.2.2  92/02/24  12:01:25  Peter_Keilty
 * 	Initial checkin of DSA IO subsystem and
 * 	related system files
 * 	[92/02/12  18:45:42  Peter_Keilty]
 * 
 * $EndLog$
 */
/*
 * @(#)$RCSfile: uqsysap.h,v $ $Revision: 1.1.2.3 $ (DEC) $Date: 92/05/05 12:54:10 $
 */
/*
 * derived from uqsysap.h	4.1	(ULTRIX)	7/2/90
 */
/*
 *	Modification History
 *
 * 17-Mar-88 -- map
 *	Change unmapped buffer handle to simply be a longword.
 */

#define	NCON	4		/* Number of possible connections	*/




/* UQ PPD Data Structure Definitions
 */

typedef struct _uqbhandle {			/* UQ buffer descriptor	    */
	union {					/* First word is overlaid   */
		struct {			/* Non-mapped descriptor    */
			u_int buf_add;		/* Buffer address to use    */
			u_int unused;		/* Unused longword MBZ      */
		}un_mapped;
		
		struct {			/* Mapped descriptor	    */
			u_int	map_idx;	/* Buf offset, map reg indx */
			u_int	map_base :30;	/* Base of map reg table    */
			u_int		:2;	/* MBZ		            */
		}mapped;

		struct {
			u_int		:31;	/* Don't care		    */
			u_int	map_flg	:1;	/* Mapping active flag	    */
		}mapflg;
	}bh;
} UQBHANDLE;



typedef struct _uqlpib {	/* UQ Local Port Information Block 	*/
	u_short	uq_state;	/* current state of port 		*/
	u_short	uq_credits[NCON]; /* uq port credits 			*/
	int	uq_type;	/* controller type 			*/
	u_short	uq_flags;	/* flag word				*/
	u_short	sa;		/* SA register contents for error log	*/
} UQLPIB;

