Annotation of 43BSDReno/sys/vax/rsp.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * Copyright (c) 1982, 1986 Regents of the University of California.
        !             3:  * All rights reserved.  The Berkeley software License Agreement
        !             4:  * specifies the terms and conditions for redistribution.
        !             5:  *
        !             6:  *     @(#)rsp.h       7.1 (Berkeley) 6/5/86
        !             7:  */
        !             8: 
        !             9: /*
        !            10:  * TU58 transfer protocol constants and data structures
        !            11:  */
        !            12: 
        !            13: /*
        !            14:  * Structure of a command packet
        !            15:  */
        !            16: struct packet {
        !            17:        u_char  pk_flag;        /* indicates packet type (cmd, data, etc.) */
        !            18:        u_char  pk_mcount;      /* length of packet (bytes) */
        !            19:        u_char  pk_op;          /* operation to perform (read, write, etc.) */
        !            20:        u_char  pk_mod;         /* modifier for op or returned status */
        !            21:        u_char  pk_unit;        /* unit number */
        !            22:        u_char  pk_sw;          /* switches */
        !            23:        u_short pk_seq;         /* sequence number, always zero */
        !            24:        u_short pk_count;       /* requested byte count for read or write */
        !            25:        u_short pk_block;       /* block number for read, write, or seek */
        !            26:        u_short pk_chksum;      /* checksum, by words with end around carry */
        !            27: };
        !            28: 
        !            29: /*
        !            30:  * States
        !            31:  */
        !            32: #define        TUS_INIT1       0       /* sending nulls */
        !            33: #define        TUS_INIT2       1       /* sending inits */
        !            34: #define        TUS_IDLE        2       /* initialized, no transfer in progress */
        !            35: #define        TUS_SENDH       3       /* sending header */
        !            36: #define        TUS_SENDD       4       /* sending data */
        !            37: #define        TUS_SENDC       5       /* sending checksum */
        !            38: #define        TUS_SENDR       6       /* sending read command packet */
        !            39: #define        TUS_SENDW       7       /* sending write command packet */
        !            40: #define        TUS_GETH        8       /* reading header */
        !            41: #define        TUS_GETD        9       /* reading data */
        !            42: #define        TUS_GETC        10      /* reading checksum */
        !            43: #define        TUS_GET         11      /* reading an entire packet */
        !            44: #define        TUS_WAIT        12      /* waiting for continue */
        !            45: #define        TUS_RCVERR      13      /* receiver error in pseudo DMA routine */
        !            46: #define        TUS_CHKERR      14      /* checksum error in pseudo DMA routine */
        !            47: 
        !            48: #define        TUS_NSTATES     15
        !            49: 
        !            50: #define        printstate(state) \
        !            51:        if ((state) < TUS_NSTATES) \
        !            52:                printf("%s", tustates[(state)]); \
        !            53:        else \
        !            54:                printf("%d", (state));
        !            55: 
        !            56: /*
        !            57:  * Packet Flags
        !            58:  */
        !            59: #define        TUF_DATA        1               /* data packet */
        !            60: #define        TUF_CMD         2               /* command packet */
        !            61: #define        TUF_INITF       4               /* initialize */
        !            62: #define        TUF_CONT        020             /* continue */
        !            63: #define        TUF_XOFF        023             /* flow control */
        !            64: 
        !            65: /*
        !            66:  * Op Codes
        !            67:  */
        !            68: #define        TUOP_NOOP       0               /* no operation */
        !            69: #define        TUOP_INIT       1               /* initialize */
        !            70: #define        TUOP_READ       2               /* read block */
        !            71: #define        TUOP_WRITE      3               /* write block */
        !            72: #define        TUOP_SEEK       5               /* seek to block */
        !            73: #define TUOP_DIAGNOSE  7               /* run micro-diagnostics */
        !            74: #define        TUOP_END        0100            /* end packet */
        !            75: 
        !            76: /*
        !            77:  * Mod Flags
        !            78:  */
        !            79: #define TUMD_WRV        1               /* write with read verify */
        !            80: 
        !            81: /*
        !            82:  * Switches
        !            83:  */
        !            84: #define        TUSW_MRSP       010             /* use Modified RSP */
        !            85: 

unix.superglobalmegacorp.com

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