home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / bsd_srcs / sys / hp300 / dev / stvar.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-05-08  |  4.3 KB  |  174 lines

  1. /*
  2.  * Copyright (c) 1990 University of Utah.
  3.  * Copyright (c) 1990 The Regents of the University of California.
  4.  * All rights reserved.
  5.  *
  6.  * This code is derived from software contributed to Berkeley by
  7.  * the Systems Programming Group of the University of Utah Computer
  8.  * Science Department.
  9.  *
  10.  * Redistribution and use in source and binary forms, with or without
  11.  * modification, are permitted provided that the following conditions
  12.  * are met:
  13.  * 1. Redistributions of source code must retain the above copyright
  14.  *    notice, this list of conditions and the following disclaimer.
  15.  * 2. Redistributions in binary form must reproduce the above copyright
  16.  *    notice, this list of conditions and the following disclaimer in the
  17.  *    documentation and/or other materials provided with the distribution.
  18.  * 3. All advertising materials mentioning features or use of this software
  19.  *    must display the following acknowledgement:
  20.  *    This product includes software developed by the University of
  21.  *    California, Berkeley and its contributors.
  22.  * 4. Neither the name of the University nor the names of its contributors
  23.  *    may be used to endorse or promote products derived from this software
  24.  *    without specific prior written permission.
  25.  *
  26.  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  27.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  28.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  29.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  30.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  31.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  32.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  33.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  34.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  35.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  36.  * SUCH DAMAGE.
  37.  *
  38.  *      @(#)stvar.h    7.1 (Berkeley) 2/5/91
  39.  */
  40.  
  41. /*
  42.  * stvar.h scsi tape driver
  43.  */
  44.  
  45. struct exb_xsense {
  46.     u_char  reserved8;
  47.     u_char  reserved9;
  48.     u_char  reserved10;
  49.     u_char  reserved11;
  50.     u_char  addsens;
  51.     u_char  addsensq;
  52.     u_char  reserved14;
  53.     u_char  reserved15;
  54.     u_char  rwerrcnt2;
  55.     u_char  rwerrcnt1;
  56.     u_char  rwerrcnt0;
  57.     u_char  pf: 1,
  58.         bpe: 1,
  59.         fpe: 1,
  60.         me: 1,
  61.         eco: 1,
  62.         tme: 1,
  63.         tnp: 1,
  64.         bot: 1;
  65.     u_char  xfr: 1,
  66.         tmd: 1,
  67.          wp: 1,
  68.         fmke: 1,
  69.                ure: 1,
  70.         we1: 1,
  71.         sse: 1,
  72.         fe: 1;
  73.     u_char  rsvd: 6,
  74.         wseb: 1,
  75.         wseo: 1;
  76.     u_char  reserved22;
  77.     u_char  tplft2;
  78.     u_char  tplft1;
  79.     u_char  tplft0;
  80. };
  81.  
  82. /* xsense sense key */
  83. #define XSK_NOSENCE    0x0
  84. #define XSK_NOTUSED1    0x1
  85. #define XSK_NOTRDY    0x2
  86. #define XSK_MEDERR    0x3
  87. #define XSK_HRDWERR    0x4
  88. #define XSK_ILLREQ    0x5
  89. #define XSK_UNTATTEN    0x6
  90. #define XSK_DATAPROT    0x7
  91. #define XSK_BLNKCHK    0x8
  92. #define XSK_VENDOR    0x9
  93. #define XSK_CPYABORT    0xa
  94. #define XSK_ABORTCMD    0xb
  95. #define XSK_NOTUSEDC    0xc
  96. #define XSK_VOLOVER    0xd
  97. #define XSK_NOTUSEDE    0xe
  98. #define XSK_REVERVED    0xf
  99.  
  100. struct  exb_inquiry { 
  101.     char    venderunique[16];
  102. };
  103.  
  104. struct    st_mode {
  105.     u_char    sdl;    
  106.     u_char  medtype;
  107.     u_char  wp: 1,        /* write protect */
  108.         bfmd: 3,    /* buffered write mode */
  109.         speed: 4;
  110.     u_char    bdl;
  111.     u_char    dencod;
  112.     u_char    numblk2;    /* number of blocks */
  113.     u_char    numblk1;
  114.     u_char    numblk0;
  115.     u_char    rsvd1;
  116.     u_char    blklen2;    /* block length */
  117.     u_char    blklen1;
  118.     u_char    blklen0;
  119. };
  120.  
  121. struct st_mode_exvup {
  122.     /* vender unique */
  123.     u_char    ct: 1,        /* international cartridge */
  124.         rs1: 1,
  125.         nd: 1,        /* no disconnect, date transfer */
  126.         rs2: 1,
  127.         nbe: 1,        /* no busy enable */
  128.         ebd: 1,        /* even byte disconnect */
  129.         pe: 1,        /* parity enable */
  130.         nal: 1;        /* no auto load */
  131.     u_char    rsvd: 7,
  132.         p5: 1;
  133.     u_char    motionthres;
  134.     u_char    reconthres;
  135.     u_char    gapthres;
  136. };
  137.  
  138. struct mode_select_data {
  139.     u_char    rsvd1;
  140.     u_char    rsvd2;
  141.     u_char    rsvd3: 1,
  142.         buff: 3,
  143.         speed: 4;
  144.     u_char  blkdeslen;
  145.     u_char    density;
  146.     u_char    blks2;
  147.     u_char    blks1;
  148.     u_char    blks0;
  149.     u_char    rsvd4;
  150.     u_char    blklen2;
  151.     u_char    blklen1;
  152.     u_char    blklen0;
  153.     u_char    vupb;
  154.     u_char    rsvd5: 7,
  155.         p5: 1;
  156.     u_char    motionthres;
  157.     u_char    reconthres;
  158.      u_char    gapthres;
  159. };
  160.  
  161. struct mode_sense {
  162.     struct st_mode md;
  163.     struct st_mode_exvup ex;
  164. };
  165.  
  166. #define EXDS_BITS \
  167. "\20\20\
  168. \7MOVED\6LEOT\5CMD\4WRTTN\3WMODE\2OPEN\1ALIV"
  169.  
  170. #define EXER_BITS \
  171. "\20\20VAL\17FMK\16EOM\15ILI\14KEY3\13KEY2\12KEY1\11KEY0\
  172. \10RETRY7\7RETRY6\6RETRY5\5RETRY4\4RETRY3\3RETRY2\2RETRY1\1RETRY0"
  173.  
  174.