libguac  0.9.5
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
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 = 0x202, GUAC_PROTOCOL_STATUS_UPSTREAM_ERROR = 0x203, GUAC_PROTOCOL_STATUS_RESOURCE_NOT_FOUND = 0x204, GUAC_PROTOCOL_STATUS_RESOURCE_CONFLICT = 0x205,
  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

Composite modes used by Guacamole draw instructions.

Each composite mode maps to a unique channel mask integer.

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 environmental.
0x0300 - 0x03FF: Operations that failed due to user 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_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.

Default transfer functions.

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