diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2010-06-24 12:25:21 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2010-06-29 12:30:20 +0200 |
commit | e03e4f0fc9fc41ecfb9ea5bc3183ec9dc20eb426 (patch) | |
tree | 7788e4f3b26ff563f0ee8daed592523a8308e6ce /server/red_parse_qxl.c | |
parent | 5de492e930ebe7597279b7392e14fe1d0653c94c (diff) | |
download | spice-e03e4f0fc9fc41ecfb9ea5bc3183ec9dc20eb426.tar.gz spice-e03e4f0fc9fc41ecfb9ea5bc3183ec9dc20eb426.tar.xz spice-e03e4f0fc9fc41ecfb9ea5bc3183ec9dc20eb426.zip |
qxl abi: parse QXLSurfaceCmd.
Diffstat (limited to 'server/red_parse_qxl.c')
-rw-r--r-- | server/red_parse_qxl.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/server/red_parse_qxl.c b/server/red_parse_qxl.c index 6c8eb69a..f45ab0b9 100644 --- a/server/red_parse_qxl.c +++ b/server/red_parse_qxl.c @@ -352,3 +352,31 @@ void red_put_message(RedMessage *red) /* nothing yet */ } +void red_get_surface_cmd(RedMemSlotInfo *slots, int group_id, + RedSurfaceCmd *red, SPICE_ADDRESS addr) +{ + QXLSurfaceCmd *qxl; + + qxl = (QXLSurfaceCmd *)get_virt(slots, addr, sizeof(*qxl), group_id); + red->release_info = &qxl->release_info; + + red->surface_id = qxl->surface_id; + red->type = qxl->type; + red->flags = qxl->flags; + + switch (red->type) { + case QXL_SURFACE_CMD_CREATE: + red->u.surface_create.format = qxl->u.surface_create.format; + red->u.surface_create.width = qxl->u.surface_create.width; + red->u.surface_create.height = qxl->u.surface_create.height; + red->u.surface_create.stride = qxl->u.surface_create.stride; + red->u.surface_create.data = qxl->u.surface_create.data; + break; + } +} + +void red_put_surface_cmd(RedSurfaceCmd *red) +{ + /* nothing yet */ +} + |