Xinu7/include/tu58.h

/*
 * flags for the descriptor block -- the first three are the same as the bit
 * to be flipped in the	appropriate byte, the rest distinct from these three
 */
#define	VFY		0x1		/* read, write in verification mode */
#define	MTM		0x10		/* use maintenance mode	*/
#define	SAM		0x80		/* use 128 byte	addressing */
#define	OPEN		0x1		/* TU58	is open	*/
#define	READ		0x2		/* TU58	is to be read */
#define	WRITE		0x4		/* TU58	is to be written */
#define	ROPEN		(OPEN |	READ)	/* TU58	is open	for reading */
#define	WOPEN		(OPEN |	WRITE)	/* TU58	is open	for writing */
#define	RWOPEN		(OPEN |	READ | WRITE)	/* TU58	is open	for reading and	writing	*/

/*
 * some	internal constants
 */
#define	TU58FILE	"/dev/LSIfast"	/* device name for the TU58 */
#define	TU58LOCK	"/tmp/LSIlock"	/* lock	file name for the TU58 */
#define	IOBLKSZ		128		/* bytes per i/o block */
#define	SAMSIZE		128		/* bytes / block in SAM	*/
#define	NBLKSAM		(512 * 4)	/* blocks/tape in SAM */
#define	NORMSIZE	512		/* bytes / block not in	SAM */
#define	NBLKNORM	512		/* blocks/tape not in SAM */
#define	NDRIVES		2		/* number of drives on the TU58	*/
#define	MAXCHAR		1000		/* max INITS before giving up */
#define	SYSERR		-1		/* returned in some cases on error */

/*
 * one-byte commands
 */
#define	BDATA		0x1		/* byte	to signal data packet */
#define	BCTRL		0x2		/* byte	to signal command packet */
#define	BEND		0x2		/* byte	to signal end packet */
#define	BINIT		0x4		/* byte	to initialize TU58 */
#define	BCONT		0x10		/* byte	to resume sending bytes	*/
#define	BXOFF		0x13		/* byte	to stop	incoming bytes */
#define	CREAD		0x2		/* command to read from	TU58 */
#define	CWRITE		0x3		/* command to write to TU58 */
#define	CPOSIT		0x5		/* command to position the TU58	*/
#define	CEND		0x40		/* command signalling end packet */
/*
 * this	file includes the TU58 error messages
 */
#include <tu58errno.h>

/*
 * this	file includes the TU58 structure
 */
#include <tu58io.h>