diff options
author | Alon Levy <alevy@redhat.com> | 2010-11-07 12:30:47 +0200 |
---|---|---|
committer | Alon Levy <alevy@redhat.com> | 2010-11-07 12:35:19 +0200 |
commit | 64d1deed403a39a684949ff604d563133e0cec3d (patch) | |
tree | d48920546294b8987169769721aae4f666c28b45 | |
parent | 46dc081b555bab025519215a7e80ef0ecadbea7b (diff) | |
download | spice-64d1deed403a39a684949ff604d563133e0cec3d.tar.gz spice-64d1deed403a39a684949ff604d563133e0cec3d.tar.xz spice-64d1deed403a39a684949ff604d563133e0cec3d.zip |
server/red_channel: change sig of red_channel_handle_message for later usage with red_worker
-rw-r--r-- | server/red_channel.c | 11 | ||||
-rw-r--r-- | server/red_channel.h | 4 | ||||
-rw-r--r-- | server/red_tunnel_worker.c | 4 |
3 files changed, 11 insertions, 8 deletions
diff --git a/server/red_channel.c b/server/red_channel.c index 0b4e6f18..82181d6d 100644 --- a/server/red_channel.c +++ b/server/red_channel.c @@ -385,15 +385,16 @@ void red_channel_init_outgoing_messages_window(RedChannel *channel) red_channel_push(channel); } -int red_channel_handle_message(RedChannel *channel, SpiceDataHeader *header, uint8_t *msg) +int red_channel_handle_message(RedChannel *channel, uint32_t size, + uint16_t type, void *message) { - switch (header->type) { + switch (type) { case SPICE_MSGC_ACK_SYNC: - if (header->size != sizeof(uint32_t)) { + if (size != sizeof(uint32_t)) { red_printf("bad message size"); return FALSE; } - channel->ack_data.client_generation = *(uint32_t *)(msg); + channel->ack_data.client_generation = *(uint32_t *)(message); break; case SPICE_MSGC_ACK: if (channel->ack_data.client_generation == channel->ack_data.generation) { @@ -402,7 +403,7 @@ int red_channel_handle_message(RedChannel *channel, SpiceDataHeader *header, uin } break; default: - red_printf("invalid message type %u", header->type); + red_printf("invalid message type %u", type); return FALSE; } return TRUE; diff --git a/server/red_channel.h b/server/red_channel.h index 16b3f2dd..e4b46554 100644 --- a/server/red_channel.h +++ b/server/red_channel.h @@ -199,7 +199,9 @@ void red_channel_shutdown(RedChannel *channel); void red_channel_init_outgoing_messages_window(RedChannel *channel); /* handles general channel msgs from the client */ -int red_channel_handle_message(RedChannel *channel, SpiceDataHeader *header, uint8_t *msg); +int red_channel_handle_message(RedChannel *channel, uint32_t size, + uint16_t type, void *message); + /* when preparing send_data: should call reset, then init and then add_buf per buffer that is being sent */ diff --git a/server/red_tunnel_worker.c b/server/red_tunnel_worker.c index 6092a76f..344188bc 100644 --- a/server/red_tunnel_worker.c +++ b/server/red_tunnel_worker.c @@ -2247,7 +2247,7 @@ static int tunnel_channel_handle_message(RedChannel *channel, SpiceDataHeader *h } break; default: - return red_channel_handle_message(channel, header, msg); + return red_channel_handle_message(channel, header->size, header->type, msg); } switch (header->type) { @@ -2325,7 +2325,7 @@ static int tunnel_channel_handle_message(RedChannel *channel, SpiceDataHeader *h } return tunnel_channel_handle_migrate_data(tunnel_channel, (TunnelMigrateData *)msg); default: - return red_channel_handle_message(channel, header, msg); + return red_channel_handle_message(channel, header->size, header->type, msg); } return TRUE; } |