Annotation of 43BSDReno/sys/hpdev/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 is only permitted until one year after the first shipment
        !             6:  * of 4.4BSD by the Regents.  Otherwise, redistribution and use in source and
        !             7:  * binary forms are permitted provided that: (1) source distributions retain
        !             8:  * this entire copyright notice and comment, and (2) distributions including
        !             9:  * binaries display the following acknowledgement:  This product includes
        !            10:  * software developed by the University of California, Berkeley and its
        !            11:  * contributors'' in the documentation or other materials provided with the
        !            12:  * distribution and in all advertising materials mentioning features or use
        !            13:  * of this software.  Neither the name of the University nor the names of
        !            14:  * its contributors may be used to endorse or promote products derived from
        !            15:  * this software without specific prior written permission.
        !            16:  * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
        !            17:  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
        !            18:  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
        !            19:  *
        !            20:  *     @(#)ctreg.h     7.1 (Berkeley) 5/8/90
        !            21:  */
        !            22: 
        !            23: struct ct_iocmd {
        !            24:        char    unit;
        !            25:        char    saddr;
        !            26:        short   addr0;
        !            27:        long    addr;
        !            28:        char    nop2;
        !            29:        char    slen;
        !            30:        long    len;
        !            31:        char    nop3;
        !            32:        char    cmd;
        !            33: };
        !            34: 
        !            35: struct ct_rscmd {
        !            36:        char    unit;
        !            37:        char    cmd;
        !            38: };
        !            39: 
        !            40: struct ct_stat {
        !            41:        char    c_vu;
        !            42:        char    c_pend;
        !            43:        short   c_ref;
        !            44:        short   c_fef;
        !            45:        short   c_aef;
        !            46:        short   c_ief;
        !            47:        short   c_blk0;
        !            48:        long    c_blk;
        !            49:        char    c_pad[4];
        !            50: };
        !            51: 
        !            52: struct ct_ssmcmd {
        !            53:        char    unit;
        !            54:        char    cmd;
        !            55:        short   refm;
        !            56:        short   fefm;
        !            57:        short   aefm;
        !            58:        short   iefm;
        !            59: };
        !            60: 
        !            61: struct ct_srcmd {
        !            62:        char    unit;
        !            63:        char    nop;
        !            64:        char    cmd;
        !            65:        char    param;
        !            66: };
        !            67: 
        !            68: struct ct_soptcmd {
        !            69:        char    unit;
        !            70:        char    nop;
        !            71:        char    cmd;
        !            72:        char    opt;
        !            73: };
        !            74: 
        !            75: struct ct_ulcmd {
        !            76:        char    unit;
        !            77:        char    cmd;
        !            78: };
        !            79: 
        !            80: struct ct_wfmcmd {
        !            81:        char    unit;
        !            82:        char    cmd;
        !            83: };
        !            84: 
        !            85: struct ct_clearcmd {
        !            86:        char    unit;
        !            87:        char    cmd;
        !            88: };
        !            89: 
        !            90: struct ct_describe {
        !            91:        u_int   d_iuw:16,       /* controller: installed unit word */
        !            92:                d_cmaxxfr:16,   /* controller: max transfer rate (Kb) */
        !            93:                d_ctype:8,      /* controller: controller type */
        !            94:                d_utype:8,      /* unit: unit type */
        !            95:                d_name:24,      /* unit: name (6 BCD digits) */
        !            96:                d_sectsize:16,  /* unit: # of bytes per block (sector) */
        !            97:                d_blkbuf:8,     /* unit: # of blocks which can be buffered */
        !            98:                d_burstsize:8,  /* unit: recommended burst size */
        !            99:                d_blocktime:16, /* unit: block time (u-sec) */
        !           100:                d_uavexfr:16,   /* unit: average transfer rate (Kb) */
        !           101:                d_retry:16,     /* unit: optimal retry time (1/100-sec) */
        !           102:                d_access:16,    /* unit: access time param (1/100-sec) */
        !           103:                d_maxint:8,     /* unit: maximum interleave */
        !           104:                d_fvbyte:8,     /* unit: fixed volume byte */
        !           105:                d_rvbyte:8,     /* unit: removeable volume byte */
        !           106:                d_maxcyl:24,    /* volume: maximum cylinder */
        !           107:                d_maxhead:8,    /* volume: maximum head */
        !           108:                d_maxsect:16,   /* volume: maximum sector on track */
        !           109:                d_maxvsecth:16, /* volume: maximum sector on volume (MSW) */
        !           110:                d_maxvsectl:32, /* volume: maximum sector on volume (LSWs) */
        !           111:                d_interleave:8; /* volume: current interleave */
        !           112:  };
        !           113: 
        !           114: #define        CT7946ID        0x220
        !           115: #define CT9145ID       0x268
        !           116: #define        CT9144ID        0x260
        !           117: #define        CT9144          0
        !           118: #define        CT7912PID       0x209
        !           119: #define        CT7914PID       0x20B
        !           120: #define        CT88140         1
        !           121: 
        !           122: /* convert bytes to 1k tape block and back */
        !           123: #define CTBTOK(x)      ((x) >> 10)
        !           124: #define CTKTOB(x)      ((x) << 10)
        !           125: 
        !           126: #define        CTCTLR          15
        !           127: 
        !           128: #define        REF_MASK        0x0
        !           129: #define        FEF_MASK        0x0
        !           130: #define        AEF_MASK        0x0
        !           131: #define        IEF_MASK        0xF970
        !           132: 
        !           133: #define        FEF_PF          0x0002
        !           134: #define        FEF_REXMT       0x0001
        !           135: #define        AEF_EOF         0x0010
        !           136: #define        AEF_EOV         0x0008
        !           137: 
        !           138: #define        C_READ          0x00
        !           139: #define        C_WRITE         0x02
        !           140: #define        C_CLEAR         0x08
        !           141: #define        C_STATUS        0x0d
        !           142: #define        C_SADDR         0x10
        !           143: #define        C_SLEN          0x18
        !           144: #define        C_SUNIT(x)      (0x20 | (x))
        !           145: #define        C_SVOL(x)       (0x40 | (x))
        !           146: #define        C_NOP           0x34
        !           147: #define C_DESC         0x35
        !           148: #define        C_SOPT          0x38
        !           149: #define        C_SREL          0x3b
        !           150: #define        C_SSM           0x3e
        !           151: #define        C_WFM           0x49
        !           152: #define        C_UNLOAD        0x4a
        !           153: #define        C_REL           0x140
        !           154: 
        !           155: #define        C_CMD           0x05
        !           156: #define        C_EXEC          0x0e
        !           157: #define        C_QSTAT         0x10
        !           158: #define        C_TCMD          0x12
        !           159: 
        !           160: #define C_CC            1
        !           161: #define C_SKSPAR        2
        !           162: #define        C_OPT           4
        !           163: #define C_SPAR          4
        !           164: #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.