Annotation of Net2/arch/hp300/dev/ctreg.h, revision 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.