Annotation of Net2/arch/hp300/dev/ctreg.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1982, 1990 The Regents of the University of California.
                      3:  * All rights reserved.
                      4:  *
                      5:  * Redistribution and use in source and binary forms, with or without
                      6:  * modification, are permitted provided that the following conditions
                      7:  * are met:
                      8:  * 1. Redistributions of source code must retain the above copyright
                      9:  *    notice, this list of conditions and the following disclaimer.
                     10:  * 2. Redistributions in binary form must reproduce the above copyright
                     11:  *    notice, this list of conditions and the following disclaimer in the
                     12:  *    documentation and/or other materials provided with the distribution.
                     13:  * 3. All advertising materials mentioning features or use of this software
                     14:  *    must display the following acknowledgement:
                     15:  *     This product includes software developed by the University of
                     16:  *     California, Berkeley and its contributors.
                     17:  * 4. Neither the name of the University nor the names of its contributors
                     18:  *    may be used to endorse or promote products derived from this software
                     19:  *    without specific prior written permission.
                     20:  *
                     21:  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
                     22:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                     23:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                     24:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
                     25:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                     26:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                     27:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                     28:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                     29:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                     30:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                     31:  * SUCH DAMAGE.
                     32:  *
                     33:  *     @(#)ctreg.h     7.1 (Berkeley) 5/8/90
                     34:  */
                     35: 
                     36: struct ct_iocmd {
                     37:        char    unit;
                     38:        char    saddr;
                     39:        short   addr0;
                     40:        long    addr;
                     41:        char    nop2;
                     42:        char    slen;
                     43:        long    len;
                     44:        char    nop3;
                     45:        char    cmd;
                     46: };
                     47: 
                     48: struct ct_rscmd {
                     49:        char    unit;
                     50:        char    cmd;
                     51: };
                     52: 
                     53: struct ct_stat {
                     54:        char    c_vu;
                     55:        char    c_pend;
                     56:        short   c_ref;
                     57:        short   c_fef;
                     58:        short   c_aef;
                     59:        short   c_ief;
                     60:        short   c_blk0;
                     61:        long    c_blk;
                     62:        char    c_pad[4];
                     63: };
                     64: 
                     65: struct ct_ssmcmd {
                     66:        char    unit;
                     67:        char    cmd;
                     68:        short   refm;
                     69:        short   fefm;
                     70:        short   aefm;
                     71:        short   iefm;
                     72: };
                     73: 
                     74: struct ct_srcmd {
                     75:        char    unit;
                     76:        char    nop;
                     77:        char    cmd;
                     78:        char    param;
                     79: };
                     80: 
                     81: struct ct_soptcmd {
                     82:        char    unit;
                     83:        char    nop;
                     84:        char    cmd;
                     85:        char    opt;
                     86: };
                     87: 
                     88: struct ct_ulcmd {
                     89:        char    unit;
                     90:        char    cmd;
                     91: };
                     92: 
                     93: struct ct_wfmcmd {
                     94:        char    unit;
                     95:        char    cmd;
                     96: };
                     97: 
                     98: struct ct_clearcmd {
                     99:        char    unit;
                    100:        char    cmd;
                    101: };
                    102: 
                    103: struct ct_describe {
                    104:        u_int   d_iuw:16,       /* controller: installed unit word */
                    105:                d_cmaxxfr:16,   /* controller: max transfer rate (Kb) */
                    106:                d_ctype:8,      /* controller: controller type */
                    107:                d_utype:8,      /* unit: unit type */
                    108:                d_name:24,      /* unit: name (6 BCD digits) */
                    109:                d_sectsize:16,  /* unit: # of bytes per block (sector) */
                    110:                d_blkbuf:8,     /* unit: # of blocks which can be buffered */
                    111:                d_burstsize:8,  /* unit: recommended burst size */
                    112:                d_blocktime:16, /* unit: block time (u-sec) */
                    113:                d_uavexfr:16,   /* unit: average transfer rate (Kb) */
                    114:                d_retry:16,     /* unit: optimal retry time (1/100-sec) */
                    115:                d_access:16,    /* unit: access time param (1/100-sec) */
                    116:                d_maxint:8,     /* unit: maximum interleave */
                    117:                d_fvbyte:8,     /* unit: fixed volume byte */
                    118:                d_rvbyte:8,     /* unit: removeable volume byte */
                    119:                d_maxcyl:24,    /* volume: maximum cylinder */
                    120:                d_maxhead:8,    /* volume: maximum head */
                    121:                d_maxsect:16,   /* volume: maximum sector on track */
                    122:                d_maxvsecth:16, /* volume: maximum sector on volume (MSW) */
                    123:                d_maxvsectl:32, /* volume: maximum sector on volume (LSWs) */
                    124:                d_interleave:8; /* volume: current interleave */
                    125:  };
                    126: 
                    127: #define        CT7946ID        0x220
                    128: #define CT9145ID       0x268
                    129: #define        CT9144ID        0x260
                    130: #define        CT9144          0
                    131: #define        CT7912PID       0x209
                    132: #define        CT7914PID       0x20B
                    133: #define        CT88140         1
                    134: 
                    135: /* convert bytes to 1k tape block and back */
                    136: #define CTBTOK(x)      ((x) >> 10)
                    137: #define CTKTOB(x)      ((x) << 10)
                    138: 
                    139: #define        CTCTLR          15
                    140: 
                    141: #define        REF_MASK        0x0
                    142: #define        FEF_MASK        0x0
                    143: #define        AEF_MASK        0x0
                    144: #define        IEF_MASK        0xF970
                    145: 
                    146: #define        FEF_PF          0x0002
                    147: #define        FEF_REXMT       0x0001
                    148: #define        AEF_EOF         0x0010
                    149: #define        AEF_EOV         0x0008
                    150: 
                    151: #define        C_READ          0x00
                    152: #define        C_WRITE         0x02
                    153: #define        C_CLEAR         0x08
                    154: #define        C_STATUS        0x0d
                    155: #define        C_SADDR         0x10
                    156: #define        C_SLEN          0x18
                    157: #define        C_SUNIT(x)      (0x20 | (x))
                    158: #define        C_SVOL(x)       (0x40 | (x))
                    159: #define        C_NOP           0x34
                    160: #define C_DESC         0x35
                    161: #define        C_SOPT          0x38
                    162: #define        C_SREL          0x3b
                    163: #define        C_SSM           0x3e
                    164: #define        C_WFM           0x49
                    165: #define        C_UNLOAD        0x4a
                    166: #define        C_REL           0x140
                    167: 
                    168: #define        C_CMD           0x05
                    169: #define        C_EXEC          0x0e
                    170: #define        C_QSTAT         0x10
                    171: #define        C_TCMD          0x12
                    172: 
                    173: #define C_CC            1
                    174: #define C_SKSPAR        2
                    175: #define        C_OPT           4
                    176: #define C_SPAR          4
                    177: #define C_IMRPT         8

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.