Annotation of qemu/roms/SLOF/lib/libvirtio/virtio-blk.h, revision 1.1

1.1     ! root        1: /******************************************************************************
        !             2:  * Copyright (c) 2011 IBM Corporation
        !             3:  * All rights reserved.
        !             4:  * This program and the accompanying materials
        !             5:  * are made available under the terms of the BSD License
        !             6:  * which accompanies this distribution, and is available at
        !             7:  * http://www.opensource.org/licenses/bsd-license.php
        !             8:  *
        !             9:  * Contributors:
        !            10:  *     IBM Corporation - initial implementation
        !            11:  *****************************************************************************/
        !            12: 
        !            13: /*
        !            14:  * Virtio block device definitions.
        !            15:  * See Virtio Spec, Appendix D, for details
        !            16:  */
        !            17: 
        !            18: #ifndef _VIRTIO_BLK_H
        !            19: #define _VIRTIO_BLK_H
        !            20: 
        !            21: #include <stdint.h>
        !            22: 
        !            23: 
        !            24: /* Device configuration layout */
        !            25: /*
        !            26: struct virtio_blk_config {
        !            27:        uint64_t        capacity;
        !            28:        uint32_t        size_max;
        !            29:        uint32_t        seg_max;
        !            30:        struct  virtio_blk_geometry {
        !            31:                uint16_t        cylinders;
        !            32:                uint8_t         heads;
        !            33:                uint8_t         sectors;
        !            34:        } geometry;
        !            35:        uint32_t        blk_size;
        !            36:        uint32_t        sectors_max;
        !            37: };
        !            38: */
        !            39: 
        !            40: /* Block request */
        !            41: struct virtio_blk_req {
        !            42:        uint32_t  type ;
        !            43:        uint32_t  ioprio ;
        !            44:        uint64_t  sector ;
        !            45: };
        !            46: 
        !            47: /* Block request types */
        !            48: #define VIRTIO_BLK_T_IN                        0
        !            49: #define VIRTIO_BLK_T_OUT               1
        !            50: #define VIRTIO_BLK_T_SCSI_CMD          2
        !            51: #define VIRTIO_BLK_T_SCSI_CMD_OUT      3
        !            52: #define VIRTIO_BLK_T_FLUSH             4
        !            53: #define VIRTIO_BLK_T_FLUSH_OUT         5
        !            54: #define VIRTIO_BLK_T_BARRIER           0x80000000
        !            55: 
        !            56: extern int virtioblk_init(struct virtio_device *dev);
        !            57: extern void virtioblk_shutdown(struct virtio_device *dev);
        !            58: extern int virtioblk_read(struct virtio_device *dev, char *buf, long blocknum, long cnt);
        !            59: 
        !            60: #endif  /* _VIRTIO_BLK_H */

unix.superglobalmegacorp.com

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