Annotation of Gnu-Mach/scsi/compat_30.h, revision 1.1

1.1     ! root        1: /* 
        !             2:  * Mach Operating System
        !             3:  * Copyright (c) 1991,1990 Carnegie Mellon University
        !             4:  * All Rights Reserved.
        !             5:  * 
        !             6:  * Permission to use, copy, modify and distribute this software and its
        !             7:  * documentation is hereby granted, provided that both the copyright
        !             8:  * notice and this permission notice appear in all copies of the
        !             9:  * software, derivative works or modified versions, and any portions
        !            10:  * thereof, and that both notices appear in supporting documentation.
        !            11:  * 
        !            12:  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
        !            13:  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
        !            14:  * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
        !            15:  * 
        !            16:  * Carnegie Mellon requests users of this software to return to
        !            17:  * 
        !            18:  *  Software Distribution Coordinator  or  [email protected]
        !            19:  *  School of Computer Science
        !            20:  *  Carnegie Mellon University
        !            21:  *  Pittsburgh PA 15213-3890
        !            22:  * 
        !            23:  * any improvements or extensions that they make and grant Carnegie Mellon
        !            24:  * the rights to redistribute these changes.
        !            25:  */
        !            26: /*
        !            27:  *     File: compat_30.h
        !            28:  *     Author: Alessandro Forin, Carnegie Mellon University
        !            29:  *     Date:   4/91
        !            30:  *
        !            31:  *     Compatibility defs to retrofit Mach 3.0 drivers
        !            32:  *     into Mach 2.6.
        !            33:  */
        !            34: 
        !            35: #ifndef        _SCSI_COMPAT_30_
        !            36: #define        _SCSI_COMPAT_30_
        !            37: 
        !            38: #include <kern/assert.h>
        !            39: 
        !            40: #ifdef MACH_KERNEL
        !            41: /*
        !            42:  * Mach 3.0 compiles with these definitions
        !            43:  */
        !            44: 
        !            45: #include <device/param.h>
        !            46: #include <device/io_req.h>
        !            47: #include <device/device_types.h>
        !            48: #include <device/disk_status.h>
        !            49: 
        !            50: /*
        !            51:  * Scratch temporary in io_req structure (for error handling)
        !            52:  */
        !            53: #define        io_temporary    io_error
        !            54: 
        !            55: #else  /*MACH_KERNEL*/
        !            56: /*
        !            57:  * Mach 2.x compiles with these definitions
        !            58:  */
        !            59: 
        !            60: /* ??? */
        !            61: typedef        int     dev_mode_t;
        !            62: typedef int    *dev_status_t;  /* Variable-length array of integers */
        !            63: /* ??? */
        !            64: 
        !            65: /* Buffer structures */
        !            66: 
        !            67: typedef        int     io_return_t;
        !            68: 
        !            69: #include <sys/param.h>
        !            70: #include <sys/buf.h>
        !            71: 
        !            72: #define        io_req  buf
        !            73: typedef        struct buf      *io_req_t;
        !            74: 
        !            75: #define        io_req_alloc(ior,size)  ior = geteblk(size)
        !            76: #define        io_req_free(ior)        brelse(ior)
        !            77: 
        !            78: /*
        !            79:  * Redefine fields for drivers using new names
        !            80:  */
        !            81: #define        io_op           b_flags
        !            82: #define        io_count        b_bcount
        !            83: #define        io_error        b_error
        !            84: #define        io_unit         b_dev
        !            85: #define        io_recnum       b_blkno
        !            86: #define        io_residual     b_resid
        !            87: #define        io_data         b_un.b_addr
        !            88: #define        io_done         b_iodone
        !            89: 
        !            90: /*
        !            91:  * Redefine fields for driver request list heads, using new names.
        !            92:  */
        !            93: #define        io_next         av_forw
        !            94: #define        io_prev         av_back
        !            95: /*#define      io_next         b_actf*/
        !            96: /*#define      io_prev         b_actl*/
        !            97: #define        io_link         b_forw
        !            98: #define        io_rlink        b_back
        !            99: /*#define      io_count        b_active*/
        !           100: /*#define      io_residual     b_errcnt*/
        !           101: #define        io_alloc_size   b_bufsize
        !           102: 
        !           103: /*
        !           104:  * Scratch temporary in io_req structure (for error handling)
        !           105:  */
        !           106: #define        io_temporary    b_pfcent
        !           107: 
        !           108: /*
        !           109:  * Redefine flags
        !           110:  */
        !           111: #define        IO_WRITE        B_WRITE
        !           112: #define        IO_READ         B_READ
        !           113: #define        IO_OPEN         B_OPEN
        !           114: #define        IO_DONE         B_DONE
        !           115: #define        IO_ERROR        B_ERROR
        !           116: #define        IO_BUSY         B_BUSY
        !           117: #define        IO_WANTED       B_WANTED
        !           118: #define        IO_BAD          B_BAD
        !           119: #define        IO_CALL         B_CALL
        !           120: #define        IO_INTERNAL     B_MD1
        !           121: 
        !           122: #define        IO_SPARE_START  B_MD1
        !           123: 
        !           124: #include <sys/disklabel.h>
        !           125: 
        !           126: /* Error codes */
        !           127: 
        !           128: #include <sys/errno.h>
        !           129: 
        !           130: #define        D_SUCCESS               ESUCCESS
        !           131: #define        D_IO_ERROR              EIO
        !           132: #define        D_NO_SUCH_DEVICE        ENXIO
        !           133: #define        D_INVALID_SIZE          EINVAL
        !           134: #define        D_ALREADY_OPEN          EBUSY
        !           135: #define        D_INVALID_OPERATION     EINVAL
        !           136: #define D_NO_MEMORY            ENOMEM
        !           137: #define D_WOULD_BLOCK          EWOULDBLOCK
        !           138: #define D_DEVICE_DOWN          EIO
        !           139: #define        D_READ_ONLY             EROFS
        !           140: 
        !           141: /*
        !           142:  * Debugging support
        !           143:  */
        !           144: #define db_printf              kdbprintf
        !           145: #define db_printsym(s,m)       kdbpsymoff(s,1,"")
        !           146: 
        !           147: /*
        !           148:  * Miscellaneous utils
        !           149:  */
        !           150: 
        !           151: #define        check_memory(addr,dow)  ((dow) ? wbadaddr(addr,4) : badaddr(addr,4))
        !           152: 
        !           153: #include <sys/kernel.h>                /* for hz */
        !           154: #include <scsi/adapters/scsi_user_dma.h>
        !           155: 
        !           156: #ifdef DECSTATION
        !           157: #include <mach/mips/vm_param.h>        /* for page size */
        !           158: #define        ULTRIX_COMPAT   1       /* support for rzdisk disk formatter  */
        !           159: #endif /*DECSTATION*/
        !           160: 
        !           161: #endif /*MACH_KERNEL*/
        !           162: 
        !           163: #endif /*_SCSI_COMPAT_30_*/

unix.superglobalmegacorp.com

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