Xinu7/include/xebec.h

/* xebec.h */

/* Xebec S1410 5.25 inch Winchester Disk Controller */

struct	xbdcb	{			/* Xebec disk controller regs.	*/
	char	xop;			/* command class/opcode		*/
	char	xunit;			/* unit/high-order address bits	*/
	char	xmaddr;			/* middle-order address bits	*/
	char	xladdr;			/* low-order address bits	*/
	char	xcount;			/* block count			*/
	char	xcntl;			/* control field		*/
	char	xres1;			/* reserved field #1		*/
	char	xres2;			/* reserved field #2		*/
};

/* Xebec controller operation codes */

#define	XOTDR	 0			/* Test Drive Ready		*/
#define	XORCAL	 1			/* Recalibrate			*/
#define	XONONO	 2			/* Reserved (is a no-no)	*/
#define	XORSS	 3			/* Request Sense Status		*/
#define	XOFMTD	 4			/* Format Drive			*/
#define	XOCTF	 5			/* Check Track Format		*/
#define	XOFMTT	 6			/* Format Track			*/
#define	XOFMTBT	 7			/* Format Bad Track		*/
#define	XOREAD	 8			/* Read				*/
#define XONO2	 9			/* Reserved (is also a no-no)	*/
#define	XOWRITE	10			/* Write			*/
#define	XOSEEK	11			/* Seek				*/
#define	XOINIT	12			/* Initialize Drive Character.	*/
#define	XOREBEL	13			/* Read ECC Burst Error Length	*/
#define	XORAMD	14			/* Perform RAM Diagnostic Test	*/

#define	XRETRY	0			/* retry control byte		*/