| <?xml version="1.0" encoding="UTF-8"?> |
| <section xml:id="ack-instruction" xmlns="http://docbook.org/ns/docbook" version="5.0" xml:lang="en" |
| xmlns:xi="http://www.w3.org/2001/XInclude"> |
| <title>ack</title> |
| <indexterm> |
| <primary>ack</primary> |
| </indexterm> |
| <para>The ack instruction acknowledges a received data blob, providing a status code and message |
| indicating whether the operation associated with the blob succeeded or failed. A status code |
| other than <constant>SUCCESS</constant> implicitly ends the stream.</para> |
| <variablelist> |
| <varlistentry> |
| <term><parameter>stream</parameter></term> |
| <listitem> |
| <para>The index of the stream the corresponding blob was received on.</para> |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><parameter>message</parameter></term> |
| <listitem> |
| <para>A human-readable error message. This typically is not exposed within any user |
| interface, and mainly helps with debugging.</para> |
| </listitem> |
| </varlistentry> |
| <varlistentry> |
| <term><parameter>status</parameter></term> |
| <listitem> |
| <para>The Guacamole status code denoting success or failure.</para> |
| </listitem> |
| </varlistentry> |
| </variablelist> |
| <section xml:id="status-codes"> |
| <title>Status codes</title> |
| <para>Several Guacamole instructions, and various other internals of the Guacamole core, use |
| a common set of numeric status codes. These codes denote success or failure of |
| operations, and can be rendered by user interfaces in a human-readable |
| way.<informaltable frame="all"> |
| <tgroup cols="3"> |
| <colspec colname="c1" colnum="1" colwidth="1.25*"/> |
| <colspec colname="c2" colnum="2" colwidth="3.25*"/> |
| <colspec colname="c3" colnum="3" colwidth="9*"/> |
| <thead> |
| <row> |
| <entry>Code</entry> |
| <entry>Name</entry> |
| <entry>Description</entry> |
| </row> |
| </thead> |
| <tbody> |
| <row> |
| <entry>0</entry> |
| <entry><constant>SUCCESS</constant></entry> |
| <entry> |
| <para>The operation succeeded. No error.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>256</entry> |
| <entry><constant>UNSUPPORTED</constant></entry> |
| <entry> |
| <para>The requested operation is unsupported.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>512</entry> |
| <entry><constant>SERVER_ERROR</constant></entry> |
| <entry> |
| <para>An internal error occurred, and the operation could not be |
| performed.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>513</entry> |
| <entry><constant>SERVER_BUSY</constant></entry> |
| <entry> |
| <para>The operation could not be performed because the server is |
| busy.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>514</entry> |
| <entry><constant>UPSTREAM_TIMEOUT</constant></entry> |
| <entry> |
| <para>The upstream server is not responding. In most cases, the |
| upstream server is the remote desktop server.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>515</entry> |
| <entry><constant>UPSTREAM_ERROR</constant></entry> |
| <entry> |
| <para>The upstream server encountered an error. In most cases, the |
| upstream server is the remote desktop server.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>516</entry> |
| <entry><constant>RESOURCE_NOT_FOUND</constant></entry> |
| <entry> |
| <para>An associated resource, such as a file or stream, could not be |
| found, and thus the operation failed.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>517</entry> |
| <entry><constant>RESOURCE_CONFLICT</constant></entry> |
| <entry> |
| <para>A resource is already in use or locked, preventing the |
| requested operation.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>518</entry> |
| <entry><constant>RESOURCE_CLOSED</constant></entry> |
| <entry> |
| <para>The requested operation cannot continue because the associated |
| resource has been closed.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>519</entry> |
| <entry><constant>UPSTREAM_NOT_FOUND</constant></entry> |
| <entry> |
| <para>The upstream server does not appear to exist, or cannot be |
| reached over the network. In most cases, the upstream server is |
| the remote desktop server.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>520</entry> |
| <entry><constant>UPSTREAM_UNAVAILABLE</constant></entry> |
| <entry> |
| <para>The upstream server is refusing to service connections. In |
| most cases, the upstream server is the remote desktop |
| server.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>521</entry> |
| <entry><constant>SESSION_CONFLICT</constant></entry> |
| <entry> |
| <para>The session within the upstream server has ended because it |
| conflicts with another session. In most cases, the upstream |
| server is the remote desktop server.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>522</entry> |
| <entry><constant>SESSION_TIMEOUT</constant></entry> |
| <entry> |
| <para>The session within the upstream server has ended because it |
| appeared to be inactive. In most cases, the upstream server is |
| the remote desktop server.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>523</entry> |
| <entry><constant>SESSION_CLOSED</constant></entry> |
| <entry> |
| <para>The session within the upstream server has been forcibly |
| closed. In most cases, the upstream server is the remote desktop |
| server.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>768</entry> |
| <entry><constant>CLIENT_BAD_REQUEST</constant></entry> |
| <entry> |
| <para>The parameters of the request are illegal or otherwise |
| invalid.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>769</entry> |
| <entry><constant>CLIENT_UNAUTHORIZED</constant></entry> |
| <entry> |
| <para>Permission was denied, because the user is not logged in. Note |
| that the user may be logged into Guacamole, but still not logged |
| in with respect to the remote desktop server.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>771</entry> |
| <entry><constant>CLIENT_FORBIDDEN</constant></entry> |
| <entry> |
| <para>Permission was denied, and logging in will not solve the |
| problem.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>776</entry> |
| <entry><constant>CLIENT_TIMEOUT</constant></entry> |
| <entry> |
| <para>The client (usually the user of Guacamole or their browser) is |
| taking too long to respond.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>781</entry> |
| <entry><constant>CLIENT_OVERRUN</constant></entry> |
| <entry> |
| <para>The client has sent more data than the protocol allows.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>783</entry> |
| <entry><constant>CLIENT_BAD_TYPE</constant></entry> |
| <entry> |
| <para>The client has sent data of an unexpected or illegal |
| type.</para> |
| </entry> |
| </row> |
| <row> |
| <entry>797</entry> |
| <entry><constant>CLIENT_TOO_MANY</constant></entry> |
| <entry> |
| <para>The client is already using too many resources. Existing |
| resources must be freed before further requests are |
| allowed.</para> |
| </entry> |
| </row> |
| </tbody> |
| </tgroup> |
| </informaltable></para> |
| </section> |
| </section> |