xref: /csrg-svn/sys/hp300/dev/acioctl.h (revision 63151)
153931Shibler /*
253931Shibler  * Copyright (c) 1991 University of Utah.
3*63151Sbostic  * Copyright (c) 1990, 1993
4*63151Sbostic  *	The Regents of the University of California.  All rights reserved.
553931Shibler  *
653931Shibler  * This code is derived from software contributed to Berkeley by
753931Shibler  * the Systems Programming Group of the University of Utah Computer
853931Shibler  * Science Department.
953931Shibler  *
1053931Shibler  * %sccs.include.redist.c%
1153931Shibler  *
1253931Shibler  * from: Utah $Hdr: acioctl.h 1.1 91/06/19$
1353931Shibler  *
14*63151Sbostic  *	@(#)acioctl.h	8.1 (Berkeley) 06/10/93
1553931Shibler  */
1653931Shibler 
1753931Shibler struct acinfo {
1853931Shibler 	short	fmte;		/* 1st medium transport elt (picker) */
1953931Shibler 	short	nmte;		/* # medium transport elts */
2053931Shibler 	short	fse;		/* 1st storage elt (slot) */
2153931Shibler 	short	nse;		/* # storage elts */
2253931Shibler 	short	fiee;		/* 1st import/export elt (mailslot) */
2353931Shibler 	short	niee;		/* # import/export elts */
2453931Shibler 	short	fdte;		/* 1st data transport elt (drive) */
2553931Shibler 	short	ndte;		/* # data transport elts */
2653931Shibler };
2753931Shibler 
2853931Shibler struct aceltstat {
2953931Shibler 	short	eaddr;		/* element adress */
3053931Shibler 	char	type;		/* type of element */
3153931Shibler 	char	flags;		/* flags */
3253931Shibler };
3353931Shibler 
3453931Shibler /* types */
3553931Shibler #define AC_MTE		0x01	/* picker */
3653931Shibler #define AC_SE		0x02	/* slot */
3753931Shibler #define AC_IEE		0x03	/* mailslot */
3853931Shibler #define AC_DTE		0x04	/* drive */
3953931Shibler /* flags */
4053931Shibler #define AC_FULL		0x01	/* media present */
4153931Shibler #define	AC_ERROR	0x04	/* error accessing element */
4253931Shibler #define AC_ACCESS	0x08	/* element accessible */
4353931Shibler #define AC_INVERT	0x80	/* media inverted prior to insertion */
4453931Shibler 
4553931Shibler struct acmove {
4653931Shibler 	short	srcelem;
4753931Shibler 	short	dstelem;
4853931Shibler 	short	flags;
4953931Shibler };
5053931Shibler 
5153931Shibler struct acbuffer {
5253931Shibler 	char	*bufptr;
5353931Shibler 	int	buflen;
5453931Shibler };
5553931Shibler 
5653931Shibler #define ACIOCINIT	_IO('A', 0x1)			/* init elt status */
5753931Shibler #define ACIOCGINFO	_IOR('A', 0x2, struct acinfo)	/* mode sense */
5853931Shibler #define ACIOCGSTAT	_IOW('A', 0x3, struct acbuffer)	/* read elem status */
5953931Shibler #define ACIOCMOVE	_IOW('A', 0x4, struct acmove)	/* move elem */
6053931Shibler #define ACIOCRAWES	_IOW('A', 0x5, struct acbuffer)	/* raw element stat */
61