diff options
Diffstat (limited to 'sys/i386/isa/ftreg.h')
-rw-r--r-- | sys/i386/isa/ftreg.h | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/sys/i386/isa/ftreg.h b/sys/i386/isa/ftreg.h new file mode 100644 index 0000000..c54249f --- /dev/null +++ b/sys/i386/isa/ftreg.h @@ -0,0 +1,83 @@ +/* + * Copyright (c) 1993 Steve Gerakines + * + * This is freely redistributable software. You may do anything you + * wish with it, so long as the above notice stays intact. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * ftreg.h - QIC-40/80 floppy tape driver header + * 10/30/93 v0.3 + * More things will end up here. QC_VENDORID and QC_VERSION now used. + * + * 08/07/93 v0.2 release + * Things that should've been here in the first place were moved. + * Tape geometry and segment request types were added. + * + * 06/03/93 v0.1 Alpha release + * Initial revision. Many more things should be moved here. + * + * $Id$ + */ + +/* QIC-117 command set. */ +#define QC_RESET 1 /* reset */ +#define QC_NEXTBIT 2 /* report next bit */ +#define QC_PAUSE 3 /* pause */ +#define QC_STPAUSE 4 /* step pause */ +#define QC_TIMEOUT 5 /* alt timeout */ +#define QC_STATUS 6 /* report status */ +#define QC_ERRCODE 7 /* report error code */ +#define QC_CONFIG 8 /* report config */ +#define QC_VERSION 9 /* report version */ +#define QC_FORWARD 10 /* logical forward */ +#define QC_SEEKSTART 11 /* seek to track start */ +#define QC_SEEKEND 12 /* seek to track end */ +#define QC_SEEKTRACK 13 /* seek head to track */ +#define QC_SEEKLOAD 14 /* seek load point */ +#define QC_FORMAT 15 /* format mode */ +#define QC_WRITEREF 16 /* write reference */ +#define QC_VERIFY 17 /* verify mode */ +#define QC_STOP 18 /* stop tape */ +#define QC_STEPUP 21 /* step head up */ +#define QC_STEPDOWN 22 /* step head down */ +#define QC_SEEKREV 25 /* seek reverse */ +#define QC_SEEKFWD 26 /* seek forward */ +#define QC_RATE 27 /* select data rate */ +#define QC_DIAG1 28 /* diagnostic mode 1 */ +#define QC_DIAG2 29 /* diagnostic mode 2 */ +#define QC_PRIMARY 30 /* primary mode */ +#define QC_VENDORID 32 /* vendor id */ +#define QC_TSTATUS 33 /* report tape status */ +#define QC_EXTREV 34 /* extended skip reverse */ +#define QC_EXTFWD 35 /* extended skip forward */ + +/* Colorado enable/disable. */ +#define QC_COL_ENABLE1 46 /* enable */ +#define QC_COL_ENABLE2 2 /* null-op */ +#define QC_COL_DISABLE 47 /* disable */ + +/* Mountain enable/disable. */ +#define QC_MTN_ENABLE1 23 /* enable 1 */ +#define QC_MTN_ENABLE2 20 /* enable 2 */ +#define QC_MTN_DISABLE 24 /* disable */ + +/* Segment I/O request. */ +typedef struct segq { + unsigned char buff[QCV_SEGSIZE];/* Segment data; first for alignment */ + int reqtype; /* Request type */ + long reqcrc; /* CRC Errors found */ + long reqbad; /* Bad sector map */ + long reqblk; /* Block request starts at */ + int reqcan; /* Cancel read-ahead */ +} SegReq; |