File:  [Qemu by Fabrice Bellard] / qemu / iorange.h
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 19:34:12 2018 UTC (13 months ago) by root
Branches: qemu, MAIN
CVS tags: qemu1101, HEAD
qemu 1.1.1

#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);
    void (*destructor)(IORange *iorange);
};

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