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