libguac 1.5.5
Loading...
Searching...
No Matches
protocol-types.h
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
20#ifndef _GUAC_PROTOCOL_TYPES_H
21#define _GUAC_PROTOCOL_TYPES_H
22
165
171
172 /*
173 * A: Source where destination transparent = S n D'
174 * B: Source where destination opaque = S n D
175 * C: Destination where source transparent = D n S'
176 * D: Destination where source opaque = D n S
177 *
178 * 0 = Active, 1 = Inactive
179 */
180 /* ABCD */
181 GUAC_COMP_ROUT = 0x2, /* 0010 - Clears destination where source opaque */
182 GUAC_COMP_ATOP = 0x6, /* 0110 - Fill where destination opaque only */
183 GUAC_COMP_XOR = 0xA, /* 1010 - XOR */
184 GUAC_COMP_ROVER = 0xB, /* 1011 - Fill where destination transparent only */
185 GUAC_COMP_OVER = 0xE, /* 1110 - Draw normally */
186 GUAC_COMP_PLUS = 0xF, /* 1111 - Add */
187
188 /* Unimplemented in client: */
189 /* NOT IMPLEMENTED: 0000 - Clear */
190 /* NOT IMPLEMENTED: 0011 - No operation */
191 /* NOT IMPLEMENTED: 0101 - Additive IN */
192 /* NOT IMPLEMENTED: 0111 - Additive ATOP */
193 /* NOT IMPLEMENTED: 1101 - Additive RATOP */
194
195 /* Buggy in webkit browsers, as they keep channel C on in all cases: */
196 GUAC_COMP_RIN = 0x1, /* 0001 */
197 GUAC_COMP_IN = 0x4, /* 0100 */
198 GUAC_COMP_OUT = 0x8, /* 1000 */
199 GUAC_COMP_RATOP = 0x9, /* 1001 */
200 GUAC_COMP_SRC = 0xC /* 1100 */
201
202 /* Bitwise composite operations (binary) */
203
204 /*
205 * A: S' & D'
206 * B: S' & D
207 * C: S & D'
208 * D: S & D
209 *
210 * 0 = Active, 1 = Inactive
211 */
212
214
220
221 /* Constant functions */ /* ABCD */
222 GUAC_TRANSFER_BINARY_BLACK = 0x0, /* 0000 */
223 GUAC_TRANSFER_BINARY_WHITE = 0xF, /* 1111 */
224
225 /* Copy functions */
226 GUAC_TRANSFER_BINARY_SRC = 0x3, /* 0011 */
227 GUAC_TRANSFER_BINARY_DEST = 0x5, /* 0101 */
228 GUAC_TRANSFER_BINARY_NSRC = 0xC, /* 1100 */
229 GUAC_TRANSFER_BINARY_NDEST = 0xA, /* 1010 */
230
231 /* AND / NAND */
232 GUAC_TRANSFER_BINARY_AND = 0x1, /* 0001 */
233 GUAC_TRANSFER_BINARY_NAND = 0xE, /* 1110 */
234
235 /* OR / NOR */
236 GUAC_TRANSFER_BINARY_OR = 0x7, /* 0111 */
237 GUAC_TRANSFER_BINARY_NOR = 0x8, /* 1000 */
238
239 /* XOR / XNOR */
240 GUAC_TRANSFER_BINARY_XOR = 0x6, /* 0110 */
241 GUAC_TRANSFER_BINARY_XNOR = 0x9, /* 1001 */
242
243 /* AND / NAND with inverted source */
244 GUAC_TRANSFER_BINARY_NSRC_AND = 0x4, /* 0100 */
245 GUAC_TRANSFER_BINARY_NSRC_NAND = 0xB, /* 1011 */
246
247 /* OR / NOR with inverted source */
248 GUAC_TRANSFER_BINARY_NSRC_OR = 0xD, /* 1101 */
249 GUAC_TRANSFER_BINARY_NSRC_NOR = 0x2, /* 0010 */
250
251 /* AND / NAND with inverted destination */
252 GUAC_TRANSFER_BINARY_NDEST_AND = 0x2, /* 0010 */
253 GUAC_TRANSFER_BINARY_NDEST_NAND = 0xD, /* 1101 */
254
255 /* OR / NOR with inverted destination */
256 GUAC_TRANSFER_BINARY_NDEST_OR = 0xB, /* 1011 */
257 GUAC_TRANSFER_BINARY_NDEST_NOR = 0x4 /* 0100 */
258
260
265 GUAC_LINE_CAP_BUTT = 0x0,
266 GUAC_LINE_CAP_ROUND = 0x1,
267 GUAC_LINE_CAP_SQUARE = 0x2
269
274 GUAC_LINE_JOIN_BEVEL = 0x0,
275 GUAC_LINE_JOIN_MITER = 0x1,
276 GUAC_LINE_JOIN_ROUND = 0x2
278
319
343
344#endif
345
guac_line_cap_style
Supported line cap styles.
Definition protocol-types.h:264
guac_line_join_style
Supported line join styles.
Definition protocol-types.h:273
guac_composite_mode
Composite modes used by Guacamole draw instructions.
Definition protocol-types.h:170
guac_transfer_function
Default transfer functions.
Definition protocol-types.h:219
guac_protocol_version
The set of protocol versions known to guacd to handle negotiation or feature support between differin...
Definition protocol-types.h:283
@ GUAC_PROTOCOL_VERSION_1_1_0
Protocol version 1.1.0, which includes support for parameter and version negotiation and for sending ...
Definition protocol-types.h:302
@ GUAC_PROTOCOL_VERSION_1_5_0
Protocol version 1.5.0, which supports the "msg" instruction, allowing messages to be sent to the cli...
Definition protocol-types.h:316
@ GUAC_PROTOCOL_VERSION_1_3_0
Protocol version 1.3.0, which supports the "required" instruction, allowing connections in guacd to r...
Definition protocol-types.h:309
@ GUAC_PROTOCOL_VERSION_UNKNOWN
An unknown version of the Guacamole protocol.
Definition protocol-types.h:288
@ GUAC_PROTOCOL_VERSION_1_0_0
Original protocol version 1.0.0, which lacks support for negotiating parameters and protocol version,...
Definition protocol-types.h:295
guac_message_type
A type that represents codes for human-readable messages sent by the "msg" instruction to the Client,...
Definition protocol-types.h:326
@ GUAC_MESSAGE_USER_LEFT
A message that notifies the owner of a connection that another user has left their connection.
Definition protocol-types.h:340
@ GUAC_MESSAGE_USER_JOINED
A message that notifies the owner of a connection that another user has joined their connection.
Definition protocol-types.h:333
guac_protocol_status
Set of all possible status codes returned by protocol operations.
Definition protocol-types.h:44
@ GUAC_PROTOCOL_STATUS_UPSTREAM_ERROR
The operation was unsuccessful due to an error or otherwise unexpected condition of the upstream serv...
Definition protocol-types.h:76
@ GUAC_PROTOCOL_STATUS_SERVER_BUSY
The operation could not be performed due as the server is busy.
Definition protocol-types.h:64
@ GUAC_PROTOCOL_STATUS_RESOURCE_CLOSED
The operation could not be performed as the requested resource is now closed.
Definition protocol-types.h:94
@ GUAC_PROTOCOL_STATUS_SERVER_ERROR
The operation could not be performed due to an internal failure.
Definition protocol-types.h:59
@ GUAC_PROTOCOL_STATUS_UPSTREAM_UNAVAILABLE
The operation could not be performed because the upstream server is not available to service the requ...
Definition protocol-types.h:106
@ GUAC_PROTOCOL_STATUS_CLIENT_BAD_REQUEST
The operation could not be performed because bad parameters were given.
Definition protocol-types.h:129
@ GUAC_PROTOCOL_STATUS_UNSUPPORTED
The requested operation is unsupported.
Definition protocol-types.h:54
@ GUAC_PROTOCOL_STATUS_RESOURCE_NOT_FOUND
The operation could not be performed as the requested resource does not exist.
Definition protocol-types.h:82
@ GUAC_PROTOCOL_STATUS_SESSION_TIMEOUT
The session within the upstream server has ended because it appeared to be inactive.
Definition protocol-types.h:118
@ GUAC_PROTOCOL_STATUS_CLIENT_TIMEOUT
The client took too long to respond.
Definition protocol-types.h:146
@ GUAC_PROTOCOL_STATUS_UPSTREAM_NOT_FOUND
The operation could not be performed because the upstream server does not appear to exist.
Definition protocol-types.h:100
@ GUAC_PROTOCOL_STATUS_UPSTREAM_TIMEOUT
The operation could not be performed because the upstream server is not responding.
Definition protocol-types.h:70
@ GUAC_PROTOCOL_STATUS_RESOURCE_CONFLICT
The operation could not be performed as the requested resource is already in use.
Definition protocol-types.h:88
@ GUAC_PROTOCOL_STATUS_CLIENT_OVERRUN
The client sent too much data.
Definition protocol-types.h:151
@ GUAC_PROTOCOL_STATUS_SESSION_CLOSED
The session within the upstream server has been forcibly terminated.
Definition protocol-types.h:123
@ GUAC_PROTOCOL_STATUS_CLIENT_FORBIDDEN
Permission was denied to perform the operation, and this permission will not be granted even if the u...
Definition protocol-types.h:141
@ GUAC_PROTOCOL_STATUS_SESSION_CONFLICT
The session within the upstream server has ended because it conflicted with another session.
Definition protocol-types.h:112
@ GUAC_PROTOCOL_STATUS_CLIENT_TOO_MANY
The operation failed because the current client is already using too many resources.
Definition protocol-types.h:162
@ GUAC_PROTOCOL_STATUS_SUCCESS
The operation succeeded.
Definition protocol-types.h:49
@ GUAC_PROTOCOL_STATUS_CLIENT_BAD_TYPE
The client sent data of an unsupported or unexpected type.
Definition protocol-types.h:156
@ GUAC_PROTOCOL_STATUS_CLIENT_UNAUTHORIZED
Permission was denied to perform the operation, as the user is not yet authorized (not yet logged in,...
Definition protocol-types.h:135