Ejemplo n.º 1
0
void guac_rdp_process_seamrdp_event(guac_client* client, RDP_EVENT* event) {
	char *input;
	int length_raw, length_base64;

	input = (char*)(event->user_data);
	length_raw = strlen(input);
	length_base64 = (length_raw+2) / 3 * 4;

	guac_socket_write_string(client->socket, "7.seamrdp,");
	guac_socket_write_int   (client->socket, length_base64);
	guac_socket_write_string(client->socket, ".");
	guac_socket_write_base64(client->socket, input, length_raw);
	guac_socket_flush_base64(client->socket);
	guac_socket_write_string(client->socket, ";");
}
Ejemplo n.º 2
0
int guac_protocol_send_blob(guac_socket* socket, const guac_stream* stream,
        const void* data, int count) {

    int base64_length = (count + 2) / 3 * 4;

    int ret_val;

    guac_socket_instruction_begin(socket);
    ret_val =
           guac_socket_write_string(socket, "4.blob,")
        || __guac_socket_write_length_int(socket, stream->index)
        || guac_socket_write_string(socket, ",")
        || guac_socket_write_int(socket, base64_length)
        || guac_socket_write_string(socket, ".")
        || guac_socket_write_base64(socket, data, count)
        || guac_socket_flush_base64(socket)
        || guac_socket_write_string(socket, ";");

    guac_socket_instruction_end(socket);
    return ret_val;

}