diff options
Diffstat (limited to 'server/red_dispatcher.h')
-rw-r--r-- | server/red_dispatcher.h | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/server/red_dispatcher.h b/server/red_dispatcher.h index c2582f43..7417aac1 100644 --- a/server/red_dispatcher.h +++ b/server/red_dispatcher.h @@ -32,5 +32,154 @@ int red_dispatcher_add_renderer(const char *name); uint32_t red_dispatcher_qxl_ram_size(void); int red_dispatcher_qxl_count(void); void red_dispatcher_async_complete(struct RedDispatcher *, AsyncCommand *); +struct Dispatcher *red_dispatcher_get_dispatcher(struct RedDispatcher *); + +typedef struct RedWorkerMessageDisplayConnect { + RedClient * client; + RedsStream * stream; + int migration; +} RedWorkerMessageDisplayConnect; + +typedef struct RedWorkerMessageDisplayDisconnect { + RedChannelClient *rcc; +} RedWorkerMessageDisplayDisconnect; + +typedef struct RedWorkerMessageDisplayMigrate { + RedChannelClient *rcc; +} RedWorkerMessageDisplayMigrate; + +typedef struct RedWorkerMessageCursorConnect { + RedClient *client; + RedsStream *stream; + int migration; +} RedWorkerMessageCursorConnect; + +typedef struct RedWorkerMessageCursorDisconnect { + RedChannelClient *rcc; +} RedWorkerMessageCursorDisconnect; + +typedef struct RedWorkerMessageCursorMigrate { + RedChannelClient *rcc; +} RedWorkerMessageCursorMigrate; + +typedef struct RedWorkerMessageUpdate { + uint32_t surface_id; + QXLRect * qxl_area; + QXLRect * qxl_dirty_rects; + uint32_t num_dirty_rects; + uint32_t clear_dirty_region; +} RedWorkerMessageUpdate; + +typedef struct RedWorkerMessageAsync { + AsyncCommand *cmd; +} RedWorkerMessageAsync; + +typedef struct RedWorkerMessageUpdateAsync { + RedWorkerMessageAsync base; + uint32_t surface_id; + QXLRect qxl_area; + uint32_t clear_dirty_region; +} RedWorkerMessageUpdateAsync; + +typedef struct RedWorkerMessageAddMemslot { + QXLDevMemSlot mem_slot; +} RedWorkerMessageAddMemslot; + +typedef struct RedWorkerMessageAddMemslotAsync { + RedWorkerMessageAsync base; + QXLDevMemSlot mem_slot; +} RedWorkerMessageAddMemslotAsync; + +typedef struct RedWorkerMessageDelMemslot { + uint32_t slot_group_id; + uint32_t slot_id; +} RedWorkerMessageDelMemslot; + +typedef struct RedWorkerMessageDestroySurfaces { +} RedWorkerMessageDestroySurfaces; + +typedef struct RedWorkerMessageDestroySurfacesAsync { + RedWorkerMessageAsync base; +} RedWorkerMessageDestroySurfacesAsync; + + +typedef struct RedWorkerMessageDestroyPrimarySurface { + uint32_t surface_id; +} RedWorkerMessageDestroyPrimarySurface; + +typedef struct RedWorkerMessageDestroyPrimarySurfaceAsync { + RedWorkerMessageAsync base; + uint32_t surface_id; +} RedWorkerMessageDestroyPrimarySurfaceAsync; + +typedef struct RedWorkerMessageCreatePrimarySurfaceAsync { + RedWorkerMessageAsync base; + uint32_t surface_id; + QXLDevSurfaceCreate surface; +} RedWorkerMessageCreatePrimarySurfaceAsync; + +typedef struct RedWorkerMessageCreatePrimarySurface { + uint32_t surface_id; + QXLDevSurfaceCreate surface; +} RedWorkerMessageCreatePrimarySurface; + +typedef struct RedWorkerMessageResetImageCache { +} RedWorkerMessageResetImageCache; + +typedef struct RedWorkerMessageResetCursor { +} RedWorkerMessageResetCursor; + +typedef struct RedWorkerMessageWakeup { +} RedWorkerMessageWakeup; + +typedef struct RedWorkerMessageOom { +} RedWorkerMessageOom; + +typedef struct RedWorkerMessageStart { +} RedWorkerMessageStart; + +typedef struct RedWorkerMessageFlushSurfacesAsync { + RedWorkerMessageAsync base; +} RedWorkerMessageFlushSurfacesAsync; + +typedef struct RedWorkerMessageStop { +} RedWorkerMessageStop; + +/* this command is sync, so it's ok to pass a pointer */ +typedef struct RedWorkerMessageLoadvmCommands { + uint32_t count; + QXLCommandExt *ext; +} RedWorkerMessageLoadvmCommands; + +typedef struct RedWorkerMessageSetCompression { + spice_image_compression_t image_compression; +} RedWorkerMessageSetCompression; + +typedef struct RedWorkerMessageSetStreamingVideo { + uint32_t streaming_video; +} RedWorkerMessageSetStreamingVideo; + +typedef struct RedWorkerMessageSetMouseMode { + uint32_t mode; +} RedWorkerMessageSetMouseMode; + +typedef struct RedWorkerMessageDisplayChannelCreate { +} RedWorkerMessageDisplayChannelCreate; + +typedef struct RedWorkerMessageCursorChannelCreate { +} RedWorkerMessageCursorChannelCreate; + +typedef struct RedWorkerMessageDestroySurfaceWait { + uint32_t surface_id; +} RedWorkerMessageDestroySurfaceWait; + +typedef struct RedWorkerMessageDestroySurfaceWaitAsync { + RedWorkerMessageAsync base; + uint32_t surface_id; +} RedWorkerMessageDestroySurfaceWaitAsync; + +typedef struct RedWorkerMessageResetMemslots { +} RedWorkerMessageResetMemslots; + #endif |