summaryrefslogtreecommitdiffstats
path: root/common/canvas_base.h
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2010-03-02 16:25:22 +0100
committerMarc-André Lureau <marcandre.lureau@gmail.com>2012-03-20 15:25:39 +0100
commit981270d38a77ce54e9ba3cc7403de27d157692a1 (patch)
tree35b6aab5a7b0a7ebdcf87926cd35df565a1081a6 /common/canvas_base.h
parent5912af45f071330da684ea357635695999afed88 (diff)
downloadspice-common-981270d38a77ce54e9ba3cc7403de27d157692a1.tar.gz
spice-common-981270d38a77ce54e9ba3cc7403de27d157692a1.tar.xz
spice-common-981270d38a77ce54e9ba3cc7403de27d157692a1.zip
Make virt mapping an interface
Diffstat (limited to 'common/canvas_base.h')
-rw-r--r--common/canvas_base.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/common/canvas_base.h b/common/canvas_base.h
index 7796245..4c28654 100644
--- a/common/canvas_base.h
+++ b/common/canvas_base.h
@@ -27,6 +27,7 @@
typedef struct _SpiceImageCache SpiceImageCache;
typedef struct _SpicePaletteCache SpicePaletteCache;
typedef struct _SpiceGlzDecoder SpiceGlzDecoder;
+typedef struct _SpiceVirtMapping SpiceVirtMapping;
typedef struct {
void (*put)(SpiceImageCache *cache,
@@ -64,11 +65,15 @@ struct _SpiceGlzDecoder {
SpiceGlzDecoderOps *ops;
};
-#ifndef CAIRO_CANVAS_NO_CHUNKS
-typedef void *(*get_virt_fn_t)(void *get_virt_opaque, unsigned long addr, uint32_t add_size);
-typedef void (*validate_virt_fn_t)(void *validate_virt_opaque, unsigned long virt,
- unsigned long from_addr, uint32_t add_size);
-#endif
+typedef struct {
+ void *(*get_virt)(SpiceVirtMapping *mapping, unsigned long addr, uint32_t add_size);
+ void (*validate_virt)(SpiceVirtMapping *mapping, unsigned long virt,
+ unsigned long from_addr, uint32_t add_size);
+} SpiceVirtMappingOps;
+
+struct _SpiceVirtMapping {
+ SpiceVirtMappingOps *ops;
+};
#endif