libguac  1.0.0
Enumerations
protocol-types.h File Reference

Type definitions related to the Guacamole protocol. More...

Go to the source code of this file.

Enumerations

enum  guac_protocol_status {
  GUAC_PROTOCOL_STATUS_SUCCESS = 0x0000, GUAC_PROTOCOL_STATUS_UNSUPPORTED = 0x0100, GUAC_PROTOCOL_STATUS_SERVER_ERROR = 0x0200, GUAC_PROTOCOL_STATUS_SERVER_BUSY = 0x0201,
  GUAC_PROTOCOL_STATUS_UPSTREAM_TIMEOUT = 0x0202, GUAC_PROTOCOL_STATUS_UPSTREAM_ERROR = 0x0203, GUAC_PROTOCOL_STATUS_RESOURCE_NOT_FOUND = 0x0204, GUAC_PROTOCOL_STATUS_RESOURCE_CONFLICT = 0x0205,
  GUAC_PROTOCOL_STATUS_RESOURCE_CLOSED = 0x0206, GUAC_PROTOCOL_STATUS_UPSTREAM_NOT_FOUND = 0x0207, GUAC_PROTOCOL_STATUS_UPSTREAM_UNAVAILABLE = 0x0208, GUAC_PROTOCOL_STATUS_SESSION_CONFLICT = 0x0209,
  GUAC_PROTOCOL_STATUS_SESSION_TIMEOUT = 0x020A, GUAC_PROTOCOL_STATUS_SESSION_CLOSED = 0x020B, GUAC_PROTOCOL_STATUS_CLIENT_BAD_REQUEST = 0x300, GUAC_PROTOCOL_STATUS_CLIENT_UNAUTHORIZED = 0x0301,
  GUAC_PROTOCOL_STATUS_CLIENT_FORBIDDEN = 0x0303, GUAC_PROTOCOL_STATUS_CLIENT_TIMEOUT = 0x308, GUAC_PROTOCOL_STATUS_CLIENT_OVERRUN = 0x30D, GUAC_PROTOCOL_STATUS_CLIENT_BAD_TYPE = 0x30F,
  GUAC_PROTOCOL_STATUS_CLIENT_TOO_MANY = 0x31D
}
 Set of all possible status codes returned by protocol operations. More...
 
enum  guac_composite_mode {
  GUAC_COMP_ROUT = 0x2, GUAC_COMP_ATOP = 0x6, GUAC_COMP_XOR = 0xA, GUAC_COMP_ROVER = 0xB,
  GUAC_COMP_OVER = 0xE, GUAC_COMP_PLUS = 0xF, GUAC_COMP_RIN = 0x1, GUAC_COMP_IN = 0x4,
  GUAC_COMP_OUT = 0x8, GUAC_COMP_RATOP = 0x9, GUAC_COMP_SRC = 0xC
}
 Composite modes used by Guacamole draw instructions. More...
 
enum  guac_transfer_function {
  GUAC_TRANSFER_BINARY_BLACK = 0x0, GUAC_TRANSFER_BINARY_WHITE = 0xF, GUAC_TRANSFER_BINARY_SRC = 0x3, GUAC_TRANSFER_BINARY_DEST = 0x5,
  GUAC_TRANSFER_BINARY_NSRC = 0xC, GUAC_TRANSFER_BINARY_NDEST = 0xA, GUAC_TRANSFER_BINARY_AND = 0x1, GUAC_TRANSFER_BINARY_NAND = 0xE,
  GUAC_TRANSFER_BINARY_OR = 0x7, GUAC_TRANSFER_BINARY_NOR = 0x8, GUAC_TRANSFER_BINARY_XOR = 0x6, GUAC_TRANSFER_BINARY_XNOR = 0x9,
  GUAC_TRANSFER_BINARY_NSRC_AND = 0x4, GUAC_TRANSFER_BINARY_NSRC_NAND = 0xB, GUAC_TRANSFER_BINARY_NSRC_OR = 0xD, GUAC_TRANSFER_BINARY_NSRC_NOR = 0x2,
  GUAC_TRANSFER_BINARY_NDEST_AND = 0x2, GUAC_TRANSFER_BINARY_NDEST_NAND = 0xD, GUAC_TRANSFER_BINARY_NDEST_OR = 0xB, GUAC_TRANSFER_BINARY_NDEST_NOR = 0x4
}
 Default transfer functions. More...
 
enum  guac_line_cap_style { GUAC_LINE_CAP_BUTT = 0x0, GUAC_LINE_CAP_ROUND = 0x1, GUAC_LINE_CAP_SQUARE = 0x2 }
 Supported line cap styles.
 
enum  guac_line_join_style { GUAC_LINE_JOIN_BEVEL = 0x0, GUAC_LINE_JOIN_MITER = 0x1, GUAC_LINE_JOIN_ROUND = 0x2 }
 Supported line join styles.
 

Detailed Description

Type definitions related to the Guacamole protocol.

Enumeration Type Documentation

◆ guac_composite_mode

Composite modes used by Guacamole draw instructions.

Each composite mode maps to a unique channel mask integer.

◆ guac_protocol_status

Set of all possible status codes returned by protocol operations.

These codes relate to Guacamole server/client communication, and not to internal communication of errors within libguac and linked software.

In general:

0x0000 - 0x00FF: Successful operations.
0x0100 - 0x01FF: Operations that failed due to implementation status.
0x0200 - 0x02FF: Operations that failed due to remote state/environment.
0x0300 - 0x03FF: Operations that failed due to user/client action.

There is a general correspondence of these status codes with HTTP response codes.

Enumerator
GUAC_PROTOCOL_STATUS_SUCCESS 

The operation succeeded.

GUAC_PROTOCOL_STATUS_UNSUPPORTED 

The requested operation is unsupported.

GUAC_PROTOCOL_STATUS_SERVER_ERROR 

The operation could not be performed due to an internal failure.

GUAC_PROTOCOL_STATUS_SERVER_BUSY 

The operation could not be performed due as the server is busy.

GUAC_PROTOCOL_STATUS_UPSTREAM_TIMEOUT 

The operation could not be performed because the upstream server is not responding.

GUAC_PROTOCOL_STATUS_UPSTREAM_ERROR 

The operation was unsuccessful due to an error or otherwise unexpected condition of the upstream server.

GUAC_PROTOCOL_STATUS_RESOURCE_NOT_FOUND 

The operation could not be performed as the requested resource does not exist.

GUAC_PROTOCOL_STATUS_RESOURCE_CONFLICT 

The operation could not be performed as the requested resource is already in use.

GUAC_PROTOCOL_STATUS_RESOURCE_CLOSED 

The operation could not be performed as the requested resource is now closed.

GUAC_PROTOCOL_STATUS_UPSTREAM_NOT_FOUND 

The operation could not be performed because the upstream server does not appear to exist.

GUAC_PROTOCOL_STATUS_UPSTREAM_UNAVAILABLE 

The operation could not be performed because the upstream server is not available to service the request.

GUAC_PROTOCOL_STATUS_SESSION_CONFLICT 

The session within the upstream server has ended because it conflicted with another session.

GUAC_PROTOCOL_STATUS_SESSION_TIMEOUT 

The session within the upstream server has ended because it appeared to be inactive.

GUAC_PROTOCOL_STATUS_SESSION_CLOSED 

The session within the upstream server has been forcibly terminated.

GUAC_PROTOCOL_STATUS_CLIENT_BAD_REQUEST 

The operation could not be performed because bad parameters were given.

GUAC_PROTOCOL_STATUS_CLIENT_UNAUTHORIZED 

Permission was denied to perform the operation, as the user is not yet authorized (not yet logged in, for example).

GUAC_PROTOCOL_STATUS_CLIENT_FORBIDDEN 

Permission was denied to perform the operation, and this permission will not be granted even if the user is authorized.

GUAC_PROTOCOL_STATUS_CLIENT_TIMEOUT 

The client took too long to respond.

GUAC_PROTOCOL_STATUS_CLIENT_OVERRUN 

The client sent too much data.

GUAC_PROTOCOL_STATUS_CLIENT_BAD_TYPE 

The client sent data of an unsupported or unexpected type.

GUAC_PROTOCOL_STATUS_CLIENT_TOO_MANY 

The operation failed because the current client is already using too many resources.

◆ guac_transfer_function

Default transfer functions.

There is no current facility in the Guacamole protocol to define custom transfer functions.