libguac
0.9.1
Main Page
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
guacamole
protocol.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2013 Glyptodon LLC
3
*
4
* Permission is hereby granted, free of charge, to any person obtaining a copy
5
* of this software and associated documentation files (the "Software"), to deal
6
* in the Software without restriction, including without limitation the rights
7
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
* copies of the Software, and to permit persons to whom the Software is
9
* furnished to do so, subject to the following conditions:
10
*
11
* The above copyright notice and this permission notice shall be included in
12
* all copies or substantial portions of the Software.
13
*
14
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
* THE SOFTWARE.
21
*/
22
23
#ifndef _GUAC_PROTOCOL_H
24
#define _GUAC_PROTOCOL_H
25
34
#include "
layer-types.h
"
35
#include "
protocol-types.h
"
36
#include "
socket-types.h
"
37
#include "
stream-types.h
"
38
#include "
timestamp-types.h
"
39
40
#include <cairo/cairo.h>
41
#include <stdarg.h>
42
43
/* CONTROL INSTRUCTIONS */
44
59
int
guac_protocol_send_ack
(
guac_socket
* socket,
guac_stream
* stream,
60
const
char
* error,
guac_protocol_status
status);
61
72
int
guac_protocol_send_args
(
guac_socket
* socket,
const
char
** args);
73
84
int
guac_protocol_send_connect
(
guac_socket
* socket,
const
char
** args);
85
95
int
guac_protocol_send_disconnect
(
guac_socket
* socket);
96
108
int
guac_protocol_send_error
(
guac_socket
* socket,
const
char
* error,
109
guac_protocol_status
status);
110
123
int
guac_protocol_send_log
(
guac_socket
* socket,
const
char
* format, ...);
124
137
int
vguac_protocol_send_log
(
guac_socket
* socket,
const
char
* format,
138
va_list args);
139
153
int
guac_protocol_send_nest
(
guac_socket
* socket,
int
index,
154
const
char
* data);
155
166
int
guac_protocol_send_nop
(
guac_socket
* socket);
167
180
int
guac_protocol_send_set
(
guac_socket
* socket,
const
guac_layer
* layer,
181
const
char
* name,
const
char
* value);
182
193
int
guac_protocol_send_select
(
guac_socket
* socket,
const
char
* protocol);
194
206
int
guac_protocol_send_sync
(
guac_socket
* socket,
guac_timestamp
timestamp);
207
208
/* MEDIA INSTRUCTIONS */
209
223
int
guac_protocol_send_audio
(
guac_socket
* socket,
const
guac_stream
* stream,
224
int
channel,
const
char
* mimetype,
double
duration);
225
238
int
guac_protocol_send_file
(
guac_socket
* socket,
const
guac_stream
* stream,
239
const
char
* mimetype,
const
char
* name);
240
253
int
guac_protocol_send_pipe
(
guac_socket
* socket,
const
guac_stream
* stream,
254
const
char
* mimetype,
const
char
* name);
255
270
int
guac_protocol_send_blob
(
guac_socket
* socket,
const
guac_stream
* stream,
271
void
* data,
int
count);
272
283
int
guac_protocol_send_end
(
guac_socket
* socket,
const
guac_stream
* stream);
284
298
int
guac_protocol_send_video
(
guac_socket
* socket,
const
guac_stream
* stream,
299
const
guac_layer
* layer,
const
char
* mimetype,
double
duration);
300
301
/* DRAWING INSTRUCTIONS */
302
320
int
guac_protocol_send_arc
(
guac_socket
* socket,
const
guac_layer
* layer,
321
int
x,
int
y,
int
radius,
double
startAngle,
double
endAngle,
322
int
negative);
323
339
int
guac_protocol_send_cfill
(
guac_socket
* socket,
340
guac_composite_mode
mode,
const
guac_layer
* layer,
341
int
r,
int
g,
int
b,
int
a);
342
353
int
guac_protocol_send_clip
(
guac_socket
* socket,
const
guac_layer
* layer);
354
365
int
guac_protocol_send_close
(
guac_socket
* socket,
const
guac_layer
* layer);
366
387
int
guac_protocol_send_copy
(
guac_socket
* socket,
388
const
guac_layer
* srcl,
int
srcx,
int
srcy,
int
w,
int
h,
389
guac_composite_mode
mode,
const
guac_layer
* dstl,
int
dstx,
int
dsty);
390
409
int
guac_protocol_send_cstroke
(
guac_socket
* socket,
410
guac_composite_mode
mode,
const
guac_layer
* layer,
411
guac_line_cap_style
cap,
guac_line_join_style
join,
int
thickness,
412
int
r,
int
g,
int
b,
int
a);
413
430
int
guac_protocol_send_cursor
(
guac_socket
* socket,
int
x,
int
y,
431
const
guac_layer
* srcl,
int
srcx,
int
srcy,
int
w,
int
h);
432
449
int
guac_protocol_send_curve
(
guac_socket
* socket,
const
guac_layer
* layer,
450
int
cp1x,
int
cp1y,
int
cp2x,
int
cp2y,
int
x,
int
y);
451
462
int
guac_protocol_send_identity
(
guac_socket
* socket,
const
guac_layer
* layer);
463
476
int
guac_protocol_send_lfill
(
guac_socket
* socket,
477
guac_composite_mode
mode,
const
guac_layer
* layer,
478
const
guac_layer
* srcl);
479
492
int
guac_protocol_send_line
(
guac_socket
* socket,
const
guac_layer
* layer,
493
int
x,
int
y);
494
510
int
guac_protocol_send_lstroke
(
guac_socket
* socket,
511
guac_composite_mode
mode,
const
guac_layer
* layer,
512
guac_line_cap_style
cap,
guac_line_join_style
join,
int
thickness,
513
const
guac_layer
* srcl);
514
530
int
guac_protocol_send_png
(
guac_socket
* socket,
guac_composite_mode
mode,
531
const
guac_layer
* layer,
int
x,
int
y, cairo_surface_t* surface);
532
543
int
guac_protocol_send_pop
(
guac_socket
* socket,
const
guac_layer
* layer);
544
555
int
guac_protocol_send_push
(
guac_socket
* socket,
const
guac_layer
* layer);
556
571
int
guac_protocol_send_rect
(
guac_socket
* socket,
const
guac_layer
* layer,
572
int
x,
int
y,
int
width,
int
height);
573
584
int
guac_protocol_send_reset
(
guac_socket
* socket,
const
guac_layer
* layer);
585
598
int
guac_protocol_send_start
(
guac_socket
* socket,
const
guac_layer
* layer,
599
int
x,
int
y);
600
621
int
guac_protocol_send_transfer
(
guac_socket
* socket,
622
const
guac_layer
* srcl,
int
srcx,
int
srcy,
int
w,
int
h,
623
guac_transfer_function
fn,
const
guac_layer
* dstl,
int
dstx,
int
dsty);
624
641
int
guac_protocol_send_transform
(
guac_socket
* socket,
642
const
guac_layer
* layer,
643
double
a,
double
b,
double
c,
644
double
d,
double
e,
double
f);
645
646
/* LAYER INSTRUCTIONS */
647
658
int
guac_protocol_send_dispose
(
guac_socket
* socket,
const
guac_layer
* layer);
659
676
int
guac_protocol_send_distort
(
guac_socket
* socket,
677
const
guac_layer
* layer,
678
double
a,
double
b,
double
c,
679
double
d,
double
e,
double
f);
680
696
int
guac_protocol_send_move
(
guac_socket
* socket,
const
guac_layer
* layer,
697
const
guac_layer
* parent,
int
x,
int
y,
int
z);
698
710
int
guac_protocol_send_shade
(
guac_socket
* socket,
const
guac_layer
* layer,
711
int
a);
712
725
int
guac_protocol_send_size
(
guac_socket
* socket,
const
guac_layer
* layer,
726
int
w,
int
h);
727
728
/* TEXT INSTRUCTIONS */
729
741
int
guac_protocol_send_clipboard
(
guac_socket
* socket,
const
guac_stream
* stream,
742
const
char
* mimetype);
743
751
int
guac_protocol_send_name
(
guac_socket
* socket,
const
char
* name);
752
760
int
guac_protocol_decode_base64
(
char
* base64);
761
762
#endif
763
Generated on Fri May 23 2014 11:59:25 for libguac by
1.8.1.2