Annotation of 43BSDReno/sys/hpdev/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 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.