xref: /original-bsd/sys/hp300/dev/acioctl.h (revision 9639f1d4)
1877d8117Shibler /*
2877d8117Shibler  * Copyright (c) 1991 University of Utah.
3*9639f1d4Sbostic  * Copyright (c) 1990, 1993
4*9639f1d4Sbostic  *	The Regents of the University of California.  All rights reserved.
5877d8117Shibler  *
6877d8117Shibler  * This code is derived from software contributed to Berkeley by
7877d8117Shibler  * the Systems Programming Group of the University of Utah Computer
8877d8117Shibler  * Science Department.
9877d8117Shibler  *
10877d8117Shibler  * %sccs.include.redist.c%
11877d8117Shibler  *
12877d8117Shibler  * from: Utah $Hdr: acioctl.h 1.1 91/06/19$
13877d8117Shibler  *
14*9639f1d4Sbostic  *	@(#)acioctl.h	8.1 (Berkeley) 06/10/93
15877d8117Shibler  */
16877d8117Shibler 
17877d8117Shibler struct acinfo {
18877d8117Shibler 	short	fmte;		/* 1st medium transport elt (picker) */
19877d8117Shibler 	short	nmte;		/* # medium transport elts */
20877d8117Shibler 	short	fse;		/* 1st storage elt (slot) */
21877d8117Shibler 	short	nse;		/* # storage elts */
22877d8117Shibler 	short	fiee;		/* 1st import/export elt (mailslot) */
23877d8117Shibler 	short	niee;		/* # import/export elts */
24877d8117Shibler 	short	fdte;		/* 1st data transport elt (drive) */
25877d8117Shibler 	short	ndte;		/* # data transport elts */
26877d8117Shibler };
27877d8117Shibler 
28877d8117Shibler struct aceltstat {
29877d8117Shibler 	short	eaddr;		/* element adress */
30877d8117Shibler 	char	type;		/* type of element */
31877d8117Shibler 	char	flags;		/* flags */
32877d8117Shibler };
33877d8117Shibler 
34877d8117Shibler /* types */
35877d8117Shibler #define AC_MTE		0x01	/* picker */
36877d8117Shibler #define AC_SE		0x02	/* slot */
37877d8117Shibler #define AC_IEE		0x03	/* mailslot */
38877d8117Shibler #define AC_DTE		0x04	/* drive */
39877d8117Shibler /* flags */
40877d8117Shibler #define AC_FULL		0x01	/* media present */
41877d8117Shibler #define	AC_ERROR	0x04	/* error accessing element */
42877d8117Shibler #define AC_ACCESS	0x08	/* element accessible */
43877d8117Shibler #define AC_INVERT	0x80	/* media inverted prior to insertion */
44877d8117Shibler 
45877d8117Shibler struct acmove {
46877d8117Shibler 	short	srcelem;
47877d8117Shibler 	short	dstelem;
48877d8117Shibler 	short	flags;
49877d8117Shibler };
50877d8117Shibler 
51877d8117Shibler struct acbuffer {
52877d8117Shibler 	char	*bufptr;
53877d8117Shibler 	int	buflen;
54877d8117Shibler };
55877d8117Shibler 
56877d8117Shibler #define ACIOCINIT	_IO('A', 0x1)			/* init elt status */
57877d8117Shibler #define ACIOCGINFO	_IOR('A', 0x2, struct acinfo)	/* mode sense */
58877d8117Shibler #define ACIOCGSTAT	_IOW('A', 0x3, struct acbuffer)	/* read elem status */
59877d8117Shibler #define ACIOCMOVE	_IOW('A', 0x4, struct acmove)	/* move elem */
60877d8117Shibler #define ACIOCRAWES	_IOW('A', 0x5, struct acbuffer)	/* raw element stat */
61