libguac
0.9.2
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
178
int
guac_protocol_send_ready
(
guac_socket
* socket,
const
char
*
id
);
179
192
int
guac_protocol_send_set
(
guac_socket
* socket,
const
guac_layer
* layer,
193
const
char
* name,
const
char
* value);
194
205
int
guac_protocol_send_select
(
guac_socket
* socket,
const
char
* protocol);
206
218
int
guac_protocol_send_sync
(
guac_socket
* socket,
guac_timestamp
timestamp);
219
220
/* MEDIA INSTRUCTIONS */
221
235
int
guac_protocol_send_audio
(
guac_socket
* socket,
const
guac_stream
* stream,
236
int
channel,
const
char
* mimetype,
double
duration);
237
250
int
guac_protocol_send_file
(
guac_socket
* socket,
const
guac_stream
* stream,
251
const
char
* mimetype,
const
char
* name);
252
265
int
guac_protocol_send_pipe
(
guac_socket
* socket,
const
guac_stream
* stream,
266
const
char
* mimetype,
const
char
* name);
267
282
int
guac_protocol_send_blob
(
guac_socket
* socket,
const
guac_stream
* stream,
283
void
* data,
int
count);
284
295
int
guac_protocol_send_end
(
guac_socket
* socket,
const
guac_stream
* stream);
296
310
int
guac_protocol_send_video
(
guac_socket
* socket,
const
guac_stream
* stream,
311
const
guac_layer
* layer,
const
char
* mimetype,
double
duration);
312
313
/* DRAWING INSTRUCTIONS */
314
332
int
guac_protocol_send_arc
(
guac_socket
* socket,
const
guac_layer
* layer,
333
int
x,
int
y,
int
radius,
double
startAngle,
double
endAngle,
334
int
negative);
335
351
int
guac_protocol_send_cfill
(
guac_socket
* socket,
352
guac_composite_mode
mode,
const
guac_layer
* layer,
353
int
r,
int
g,
int
b,
int
a);
354
365
int
guac_protocol_send_clip
(
guac_socket
* socket,
const
guac_layer
* layer);
366
377
int
guac_protocol_send_close
(
guac_socket
* socket,
const
guac_layer
* layer);
378
399
int
guac_protocol_send_copy
(
guac_socket
* socket,
400
const
guac_layer
* srcl,
int
srcx,
int
srcy,
int
w,
int
h,
401
guac_composite_mode
mode,
const
guac_layer
* dstl,
int
dstx,
int
dsty);
402
421
int
guac_protocol_send_cstroke
(
guac_socket
* socket,
422
guac_composite_mode
mode,
const
guac_layer
* layer,
423
guac_line_cap_style
cap,
guac_line_join_style
join,
int
thickness,
424
int
r,
int
g,
int
b,
int
a);
425
442
int
guac_protocol_send_cursor
(
guac_socket
* socket,
int
x,
int
y,
443
const
guac_layer
* srcl,
int
srcx,
int
srcy,
int
w,
int
h);
444
461
int
guac_protocol_send_curve
(
guac_socket
* socket,
const
guac_layer
* layer,
462
int
cp1x,
int
cp1y,
int
cp2x,
int
cp2y,
int
x,
int
y);
463
474
int
guac_protocol_send_identity
(
guac_socket
* socket,
const
guac_layer
* layer);
475
488
int
guac_protocol_send_lfill
(
guac_socket
* socket,
489
guac_composite_mode
mode,
const
guac_layer
* layer,
490
const
guac_layer
* srcl);
491
504
int
guac_protocol_send_line
(
guac_socket
* socket,
const
guac_layer
* layer,
505
int
x,
int
y);
506
522
int
guac_protocol_send_lstroke
(
guac_socket
* socket,
523
guac_composite_mode
mode,
const
guac_layer
* layer,
524
guac_line_cap_style
cap,
guac_line_join_style
join,
int
thickness,
525
const
guac_layer
* srcl);
526
542
int
guac_protocol_send_png
(
guac_socket
* socket,
guac_composite_mode
mode,
543
const
guac_layer
* layer,
int
x,
int
y, cairo_surface_t* surface);
544
555
int
guac_protocol_send_pop
(
guac_socket
* socket,
const
guac_layer
* layer);
556
567
int
guac_protocol_send_push
(
guac_socket
* socket,
const
guac_layer
* layer);
568
583
int
guac_protocol_send_rect
(
guac_socket
* socket,
const
guac_layer
* layer,
584
int
x,
int
y,
int
width,
int
height);
585
596
int
guac_protocol_send_reset
(
guac_socket
* socket,
const
guac_layer
* layer);
597
610
int
guac_protocol_send_start
(
guac_socket
* socket,
const
guac_layer
* layer,
611
int
x,
int
y);
612
633
int
guac_protocol_send_transfer
(
guac_socket
* socket,
634
const
guac_layer
* srcl,
int
srcx,
int
srcy,
int
w,
int
h,
635
guac_transfer_function
fn,
const
guac_layer
* dstl,
int
dstx,
int
dsty);
636
653
int
guac_protocol_send_transform
(
guac_socket
* socket,
654
const
guac_layer
* layer,
655
double
a,
double
b,
double
c,
656
double
d,
double
e,
double
f);
657
658
/* LAYER INSTRUCTIONS */
659
670
int
guac_protocol_send_dispose
(
guac_socket
* socket,
const
guac_layer
* layer);
671
688
int
guac_protocol_send_distort
(
guac_socket
* socket,
689
const
guac_layer
* layer,
690
double
a,
double
b,
double
c,
691
double
d,
double
e,
double
f);
692
708
int
guac_protocol_send_move
(
guac_socket
* socket,
const
guac_layer
* layer,
709
const
guac_layer
* parent,
int
x,
int
y,
int
z);
710
722
int
guac_protocol_send_shade
(
guac_socket
* socket,
const
guac_layer
* layer,
723
int
a);
724
737
int
guac_protocol_send_size
(
guac_socket
* socket,
const
guac_layer
* layer,
738
int
w,
int
h);
739
740
/* TEXT INSTRUCTIONS */
741
753
int
guac_protocol_send_clipboard
(
guac_socket
* socket,
const
guac_stream
* stream,
754
const
char
* mimetype);
755
763
int
guac_protocol_send_name
(
guac_socket
* socket,
const
char
* name);
764
772
int
guac_protocol_decode_base64
(
char
* base64);
773
774
#endif
775
Generated on Mon Jul 21 2014 14:14:14 for libguac by
1.8.1.2