File:  [Qemu by Fabrice Bellard] / qemu / iorange.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 18:33:39 2018 UTC (18 months, 3 weeks ago) by root
Branches: qemu, MAIN
CVS tags: qemu1001, qemu1000, qemu0151, qemu0150, qemu0141, qemu0140, HEAD
qemu 0.14.0

#ifndef IORANGE_H
#define IORANGE_H

#include <stdint.h>

typedef struct IORange IORange;
typedef struct IORangeOps IORangeOps;

struct IORangeOps {
    void (*read)(IORange *iorange, uint64_t offset, unsigned width,
                 uint64_t *data);
    void (*write)(IORange *iorange, uint64_t offset, unsigned width,
                  uint64_t data);
};

struct IORange {
    const IORangeOps *ops;
    uint64_t base;
    uint64_t len;
};

static inline void iorange_init(IORange *iorange, const IORangeOps *ops,
                                uint64_t base, uint64_t len)
{
    iorange->ops = ops;
    iorange->base = base;
    iorange->len = len;
}

#endif

unix.superglobalmegacorp.com