aboutsummaryrefslogtreecommitdiff
path: root/include/exec/iorange.h
diff options
context:
space:
mode:
authorAndreas Färber <afaerber@suse.de>2012-12-23 00:39:34 +0100
committerAndreas Färber <afaerber@suse.de>2012-12-23 00:40:49 +0100
commit501a7ce7270955be151c442c27620fa7af2f3ce5 (patch)
tree0374e4d581a0246074d55712b81baf01f3c439b6 /include/exec/iorange.h
parent62e0c095450f6a7eb37914991f3f7966aa4da7a1 (diff)
parent36f25d2537c40c6c47f4abee5d31a24863d1adf7 (diff)
Merge branch 'master' of git://git.qemu.org/qemu into qom-cpu
Adapt header include paths. Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'include/exec/iorange.h')
-rw-r--r--include/exec/iorange.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/include/exec/iorange.h b/include/exec/iorange.h
new file mode 100644
index 0000000000..cd980a8312
--- /dev/null
+++ b/include/exec/iorange.h
@@ -0,0 +1,31 @@
+#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