<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+<!ENTITY % defs SYSTEM "defs.ent"> %defs;
+]>
<!-- lifted from troff+ms+XMan by doclifter -->
<bookinfo>
<title>Inter-Client Exchange (ICE) Protocol</title>
<subtitle>X Consortium Standard</subtitle>
- <releaseinfo>X Version 11, Release 6.4</releaseinfo>
+ <releaseinfo>X Version 11, Release &fullrelvers;</releaseinfo>
<authorgroup>
<author>
<firstname>Robert</firstname><surname>Scheifler</surname>
+ <affiliation><orgname>X Consortium</orgname></affiliation>
</author>
<othercredit>
<firstname>Jordan</firstname><surname>Brown</surname>
<affiliation><orgname>Quarterdeck Office Systems</orgname></affiliation>
</othercredit>
</authorgroup>
- <corpname>X Consortium Standard</corpname>
- <copyright><year>1993</year><holder>X Consortium</holder></copyright>
- <copyright><year>1994</year><holder>X Consortium</holder></copyright>
- <releaseinfo>Version 1.0</releaseinfo>
- <affiliation><orgname>X Consortium</orgname></affiliation>
- <productnumber>X Version 11, Release 7</productnumber>
+ <releaseinfo>Version 1.1</releaseinfo>
+ <copyright>
+ <year>1993</year><year>1994</year>
+ <holder>X Consortium</holder>
+ </copyright>
<legalnotice>
<para>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</para>
<para>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</para>
-<para>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</para>
+<para>THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</para>
<para>Except as contained in this notice, the name of the X Consortium shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the X Consortium.</para>
-<para>X Window System is a trademark of X Consortium, Inc.</para>
+<para>X Window System is a trademark of The Open Group.</para>
</legalnotice>
<abstract>
</abstract>
</bookinfo>
-<chapter id="purpose_and_goals">
+<chapter id='Purpose_and_Goals'>
<title>Purpose and Goals</title>
<para>
</chapter>
-<chapter id="overview_of_the_protocol">
+<chapter id='Overview_of_the_Protocol'>
<title>Overview of the Protocol</title>
<!-- .nH 1 "Data Types" -->
</chapter>
-<chapter id="data_types">
+<chapter id='Data_Types'>
<title>Data Types</title>
<para>ICE messages contain several types of data. Byte order is negotiated in
pad(<emphasis remap='I'>E</emphasis>, <emphasis remap='I'>b</emphasis>) = (<emphasis remap='I'>b</emphasis> - (<emphasis remap='I'>E</emphasis> mod <emphasis remap='I'>b</emphasis>)) mod <emphasis remap='I'>b</emphasis>
</literallayout>
-<sect1 id="primitive_types">
+<sect1 id='Primitive_Types'>
<title>Primitive Types</title>
-<informaltable pgwide='1' frame='none'>
- <tgroup cols='2' align='center'>
- <colspec colname='c1'/>
- <colspec colname='c2'/>
+<informaltable frame='topbot'>
+ <?dbfo keep-together="always" ?>
+ <tgroup cols='2' align='left' colsep='0' rowsep='0'>
+ <colspec colname='c1' colwidth='1.0*'/>
+ <colspec colname='c2' colwidth='3.0*'/>
<thead>
- <row>
- <entry align='left'>Type Name</entry>
- <entry align='left'>Description</entry>
+ <row rowsep='1'>
+ <entry>Type Name</entry>
+ <entry>Description</entry>
</row>
</thead>
<tbody>
<row>
- <entry align='left'>CARD8</entry>
- <entry align='left'>8-bit unsigned integer</entry>
+ <entry>CARD8</entry>
+ <entry>8-bit unsigned integer</entry>
</row>
<row>
- <entry align='left'>CARD16</entry>
- <entry align='left'>16-bit unsigned integer</entry>
+ <entry>CARD16</entry>
+ <entry>16-bit unsigned integer</entry>
</row>
<row>
- <entry align='left'>CARD32</entry>
- <entry align='left'>32-bit unsigned integer</entry>
+ <entry>CARD32</entry>
+ <entry>32-bit unsigned integer</entry>
</row>
<row>
- <entry align='left'>BOOL</entry>
- <entry align='left'><para><function>False</function>
+ <entry>BOOL</entry>
+ <entry><para><function>False</function>
or
<function>True</function></para></entry>
</row>
<row>
- <entry align='left'>LPCE</entry>
- <entry align='left'>A character from the X Portable Character Set in Latin Portable Character
+ <entry>LPCE</entry>
+ <entry>A character from the X Portable Character Set in Latin Portable Character
Encoding</entry>
</row>
</tbody>
</sect1>
-<sect1 id="complex_types">
+<sect1 id='Complex_Types'>
<title>Complex Types</title>
-<informaltable pgwide='1' frame='none'>
- <tgroup cols='2' align='center'>
- <colspec colname='c1'/>
- <colspec colname='c2'/>
+<informaltable frame='topbot'>
+ <?dbfo keep-together="always" ?>
+ <tgroup cols='2' align='left' colsep='0' rowsep='0'>
+ <colspec colname='c1' colwidth='1.0*'/>
+ <colspec colname='c2' colwidth='3.0*'/>
<thead>
- <row>
- <entry align='left'>Type Name</entry>
- <entry align='left'>Type</entry>
- </row>
- <row>
- <entry align='left'>.TH</entry>
- <entry align='left'></entry>
+ <row rowsep='1'>
+ <entry>Type Name</entry>
+ <entry>Type</entry>
</row>
</thead>
<tbody>
<row>
- <entry align='left'>VERSION</entry>
- <entry align='left'>[Major, minor: CARD16]</entry>
+ <entry>VERSION</entry>
+ <entry>[Major, minor: CARD16]</entry>
</row>
<row>
- <entry align='left'>STRING</entry>
- <entry align='left'>LISTofLPCE</entry>
+ <entry>STRING</entry>
+ <entry>LISTofLPCE</entry>
</row>
</tbody>
</tgroup>
<!-- .nH 1 "Message Format" -->
</sect1>
-<sect1 id="message_format">
+<sect1 id='Message_Format'>
<title>Message Format</title>
<para>All ICE messages include the following information:</para>
-<informaltable pgwide='1' frame='none'>
- <tgroup cols='2' align='center'>
- <colspec colname='c1'/>
- <colspec colname='c2'/>
+<informaltable frame='topbot'>
+ <?dbfo keep-together="always" ?>
+ <tgroup cols='2' align='left' colsep='0' rowsep='0'>
+ <colspec colname='c1' colwidth='1.0*'/>
+ <colspec colname='c2' colwidth='3.0*'/>
<thead>
- <row>
+ <row rowsep='1'>
<entry>Field Type</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
- <entry align='left'>CARD8</entry>
- <entry align='left'>protocol major opcode</entry>
+ <entry>CARD8</entry>
+ <entry>protocol major opcode</entry>
</row>
<row>
- <entry align='left'>CARD8</entry>
- <entry align='left'>protocol minor opcode</entry>
+ <entry>CARD8</entry>
+ <entry>protocol minor opcode</entry>
</row>
<row>
- <entry align='left'>CARD32</entry>
- <entry align='left'>length of remaining data in 8-byte units</entry>
+ <entry>CARD32</entry>
+ <entry>length of remaining data in 8-byte units</entry>
</row>
</tbody>
</tgroup>
</chapter>
-<chapter id="overall_protocol_description">
+<chapter id='Overall_Protocol_Description'>
<title>Overall Protocol Description</title>
<para>
messages for any protocols on the connection. The sender
is required to conform to specified severity conditions
for generic and ICE (major opcode 0) errors; see
-<link linkend="generic_error_classes">
-<xref linkend="generic_error_classes"></xref></link> and
-<link linkend="ice_error_classes">
-<xref linkend="ice_error_classes"></xref></link>.
+<xref linkend='Generic_Error_Classes' xrefstyle='select: title'/>
+<xref linkend='ICE_Error_Classes' xrefstyle='select: title'/>
.
The class defines the generic class of
error. Classes are specified separately for each protocol (numeric
</para>
</chapter>
-<chapter id="ice_control_subprotocol__major_opcode_0">
+<chapter id='ICE_Control_Subprotocol____Major_Opcode_0_0'>
<title>ICE Control Subprotocol -- Major Opcode 0</title>
<para>
<function>WantToClose</function> at some future time.
</para>
-<sect1 id="generic_error_classes">
+<sect1 id='Generic_Error_Classes'>
<title>Generic Error Classes</title>
<para>
</sect1>
-<sect1 id="ice_error_classes">
+<sect1 id='ICE_Error_Classes'>
<title>ICE Error Classes</title>
<para>These errors are all major opcode 0 errors.</para>
</sect1>
</chapter>
-<chapter id="state_diagrams">
+<chapter id='State_Diagrams'>
<title>State Diagrams</title>
<para>
connection close -> <emphasis remap='C'>quit</emphasis>
</literallayout>
</chapter>
-<chapter id="protocol_encoding">
+<chapter id='Protocol_Encoding'>
<title>Protocol Encoding</title>
<para>
in the message.
</para>
-<sect1 id="primitives">
+<sect1 id='Primitives'>
<title>Primitives</title>
-<informaltable pgwide='1' frame='none'>
- <tgroup cols='3' align='center'>
- <colspec colname='c1'/>
- <colspec colname='c2'/>
- <colspec colname='c3'/>
+<informaltable frame='topbot'>
+ <?dbfo keep-together="always" ?>
+ <tgroup cols='3' align='left' colsep='0' rowsep='0'>
+ <colspec colname='c1' colwidth='1.0*'/>
+ <colspec colname='c2' colwidth='1.0*'/>
+ <colspec colname='c3' colwidth='3.0*'/>
<thead>
- <row>
- <entry align='left'>Type Name</entry>
- <entry align='left'>Length (bytes)</entry>
- <entry align='left'>Description</entry>
+ <row rowsep='1'>
+ <entry>Type Name</entry>
+ <entry>Length (bytes)</entry>
+ <entry>Description</entry>
</row>
</thead>
<tbody>
<row>
- <entry align='left'>CARD8</entry>
- <entry align='left'>1</entry>
- <entry align='left'>8-bit unsigned integer</entry>
+ <entry>CARD8</entry>
+ <entry>1</entry>
+ <entry>8-bit unsigned integer</entry>
</row>
<row>
- <entry align='left'>CARD16</entry>
- <entry align='left'>2</entry>
- <entry align='left'>16-bit unsigned integer</entry>
+ <entry>CARD16</entry>
+ <entry>2</entry>
+ <entry>16-bit unsigned integer</entry>
</row>
<row>
- <entry align='left'>CARD32</entry>
- <entry align='left'>4</entry>
- <entry align='left'>32-bit unsigned integer</entry>
+ <entry>CARD32</entry>
+ <entry>4</entry>
+ <entry>32-bit unsigned integer</entry>
</row>
<row>
- <entry align='left'>LPCE</entry>
- <entry align='left'>1</entry>
- <entry align='left'><para>A character from the X Portable Character Set in Latin Portable Character
+ <entry>LPCE</entry>
+ <entry>1</entry>
+ <entry><para>A character from the X Portable Character Set in Latin Portable Character
Encoding</para></entry>
</row>
</tbody>
</sect1>
-<sect1 id="enumerations">
+<sect1 id='Enumerations'>
<title>Enumerations</title>
-<informaltable pgwide='1' frame='none'>
- <tgroup cols='3' align='center'>
- <colspec colname='c1'/>
- <colspec colname='c2'/>
- <colspec colname='c3'/>
+<informaltable frame='topbot'>
+ <?dbfo keep-together="always" ?>
+ <tgroup cols='3' align='left' colsep='0' rowsep='0'>
+ <colspec colname='c1' colwidth='1.0*'/>
+ <colspec colname='c2' colwidth='1.0*'/>
+ <colspec colname='c3' colwidth='3.0*'/>
<thead>
- <row>
- <entry align='left'>Type Name</entry>
- <entry align='left'>Value</entry>
- <entry align='left'>Description</entry>
+ <row rowsep='1'>
+ <entry>Type Name</entry>
+ <entry>Value</entry>
+ <entry>Description</entry>
</row>
</thead>
<tbody>
<row>
- <entry align='left'>BOOL</entry>
- <entry align='left'>0</entry>
- <entry align='left'>False</entry>
+ <entry>BOOL</entry>
+ <entry>0</entry>
+ <entry>False</entry>
</row>
<row>
- <entry align='left'></entry>
- <entry align='left'>1</entry>
- <entry align='left'>True</entry>
+ <entry></entry>
+ <entry>1</entry>
+ <entry>True</entry>
</row>
</tbody>
</tgroup>
</sect1>
-<sect1 id="compound_types">
+<sect1 id='Compound_Types'>
<title>Compound Types</title>
-<informaltable pgwide='1' frame='none'>
- <tgroup cols='4' align='center'>
- <colspec colname='c1'/>
- <colspec colname='c2'/>
- <colspec colname='c3'/>
- <colspec colname='c4'/>
+<informaltable frame='topbot'>
+ <?dbfo keep-together="always" ?>
+ <tgroup cols='4' align='left' colsep='0' rowsep='0'>
+ <colspec colname='c1' colwidth='1.0*'/>
+ <colspec colname='c2' colwidth='1.0*'/>
+ <colspec colname='c3' colwidth='1.0*'/>
+ <colspec colname='c4' colwidth='2.0*'/>
<thead>
- <row>
- <entry align='left'>Type Name</entry>
- <entry align='left'>Length (bytes)</entry>
- <entry align='left'>Type</entry>
- <entry align='left'>Description</entry>
+ <row rowsep='1'>
+ <entry>Type Name</entry>
+ <entry>Length (bytes)</entry>
+ <entry>Type</entry>
+ <entry>Description</entry>
</row>
</thead>
<tbody>
<row>
- <entry align='left'>VERSION</entry>
- <entry align='left'></entry>
- <entry align='left'></entry>
- <entry align='left'></entry>
+ <entry>VERSION</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
</row>
<row>
- <entry align='left'></entry>
- <entry align='left'>2</entry>
- <entry align='left'>CARD16</entry>
- <entry align='left'>Major version number</entry>
+ <entry></entry>
+ <entry>2</entry>
+ <entry>CARD16</entry>
+ <entry>Major version number</entry>
</row>
<row>
- <entry align='left'></entry>
- <entry align='left'>2</entry>
- <entry align='left'>CARD16</entry>
- <entry align='left'>Minor version number</entry>
+ <entry></entry>
+ <entry>2</entry>
+ <entry>CARD16</entry>
+ <entry>Minor version number</entry>
</row>
<row>
- <entry align='left'>STRING</entry>
- <entry align='left'></entry>
- <entry align='left'></entry>
- <entry align='left'></entry>
+ <entry>STRING</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
</row>
<row>
- <entry align='left'></entry>
- <entry align='left'>2</entry>
- <entry align='left'>CARD16</entry>
- <entry align='left'>length of string in bytes</entry>
+ <entry></entry>
+ <entry>2</entry>
+ <entry>CARD16</entry>
+ <entry>length of string in bytes</entry>
</row>
<row>
- <entry align='left'></entry>
- <entry align='left'>n</entry>
- <entry align='left'>LISTofLPCE</entry>
- <entry align='left'>string</entry>
+ <entry></entry>
+ <entry>n</entry>
+ <entry>LISTofLPCE</entry>
+ <entry>string</entry>
</row>
<row>
- <entry align='left'></entry>
- <entry align='left'>p</entry>
- <entry align='left'></entry>
- <entry align='left'>unused, p = pad(n+2, 4)</entry>
+ <entry></entry>
+ <entry>p</entry>
+ <entry></entry>
+ <entry>unused, p = pad(n+2, 4)</entry>
</row>
</tbody>
</tgroup>
</sect1>
-<sect1 id="ice_minor_opcodes">
+<sect1 id='ICE_Minor_opcodes'>
<title>ICE Minor opcodes</title>
-<informaltable pgwide='0' frame='none'>
- <tgroup cols='2' align='center'>
- <colspec colname='c1'/>
- <colspec colname='c2'/>
+<informaltable frame='topbot'>
+ <tgroup cols='2' align='left' colsep='0' rowsep='0'>
+ <colspec colname='c1' colwidth='1.0*'/>
+ <colspec colname='c2' colwidth='1.0*'/>
<thead>
- <row>
- <entry align='left'>Message Name</entry>
- <entry align='right'>Encoding</entry>
+ <row rowsep='1'>
+ <entry>Message Name</entry>
+ <entry>Encoding</entry>
</row>
</thead>
<tbody>
<row>
- <entry align='left'>Error</entry>
- <entry align='right'>0</entry>
+ <entry>Error</entry>
+ <entry>0</entry>
</row>
<row>
- <entry align='left'>ByteOrder</entry>
- <entry align='right'>1</entry>
+ <entry>ByteOrder</entry>
+ <entry>1</entry>
</row>
<row>
- <entry align='left'>ConnectionSetup</entry>
- <entry align='right'>2</entry>
+ <entry>ConnectionSetup</entry>
+ <entry>2</entry>
</row>
<row>
- <entry align='left'>AuthenticationRequired</entry>
- <entry align='right'>3</entry>
+ <entry>AuthenticationRequired</entry>
+ <entry>3</entry>
</row>
<row>
- <entry align='left'>AuthenticationReply</entry>
- <entry align='right'>4</entry>
+ <entry>AuthenticationReply</entry>
+ <entry>4</entry>
</row>
<row>
- <entry align='left'>AuthenticationNextPhase</entry>
- <entry align='right'>5</entry>
+ <entry>AuthenticationNextPhase</entry>
+ <entry>5</entry>
</row>
<row>
- <entry align='left'>ConnectionReply</entry>
- <entry align='right'>6</entry>
+ <entry>ConnectionReply</entry>
+ <entry>6</entry>
</row>
<row>
- <entry align='left'>ProtocolSetup</entry>
- <entry align='right'>7</entry>
+ <entry>ProtocolSetup</entry>
+ <entry>7</entry>
</row>
<row>
- <entry align='left'>ProtocolReply</entry>
- <entry align='right'>8</entry>
+ <entry>ProtocolReply</entry>
+ <entry>8</entry>
</row>
<row>
- <entry align='left'>Ping</entry>
- <entry align='right'>9</entry>
+ <entry>Ping</entry>
+ <entry>9</entry>
</row>
<row>
- <entry align='left'>PingReply</entry>
- <entry align='right'>10</entry>
+ <entry>PingReply</entry>
+ <entry>10</entry>
</row>
<row>
- <entry align='left'>WantToClose</entry>
- <entry align='right'>11</entry>
+ <entry>WantToClose</entry>
+ <entry>11</entry>
</row>
<row>
- <entry align='left'>NoClose</entry>
- <entry align='right'>12</entry>
+ <entry>NoClose</entry>
+ <entry>12</entry>
</row>
</tbody>
</tgroup>
</sect1>
-<sect1 id="message_encoding">
+<sect1 id='Message_Encoding'>
<title>Message Encoding</title>
<literallayout class="monospaced">
</sect1>
-<sect1 id="error_class_encoding">
+<sect1 id='Error_Class_Encoding'>
<title>Error Class Encoding</title>
<para>
subprotocol-specific errors are in the range 0x0000-0x7FFF.
</para>
-<sect2 id="generic_error_class_encoding">
+<sect2 id='Generic_Error_Class_Encoding'>
<title>Generic Error Class Encoding</title>
-<informaltable pgwide='0' frame='none'>
- <tgroup cols='2' align='center'>
- <colspec colname='c1'/>
- <colspec colname='c2'/>
+<informaltable frame='topbot'>
+ <?dbfo keep-together="always" ?>
+ <tgroup cols='2' align='left' colsep='0' rowsep='0'>
+ <colspec colname='c1' colwidth='1.0*'/>
+ <colspec colname='c2' colwidth='3.0*'/>
<thead>
- <row>
- <entry align='left'>Class</entry>
- <entry align='center'>Encoding</entry>
+ <row rowsep='1'>
+ <entry>Class</entry>
+ <entry>Encoding</entry>
</row>
</thead>
<tbody>
<row>
- <entry align='left'>BadMinor</entry>
- <entry align='right'>0x8000</entry>
+ <entry>BadMinor</entry>
+ <entry>0x8000</entry>
</row>
<row>
- <entry align='left'>BadState</entry>
- <entry align='right'>0x8001</entry>
+ <entry>BadState</entry>
+ <entry>0x8001</entry>
</row>
<row>
- <entry align='left'>BadLength</entry>
- <entry align='right'>0x8002</entry>
+ <entry>BadLength</entry>
+ <entry>0x8002</entry>
</row>
<row>
- <entry align='left'>BadValue</entry>
- <entry align='right'>0x8003</entry>
+ <entry>BadValue</entry>
+ <entry>0x8003</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
-<sect2 id="ice_specific_error_class_encoding">
+<sect2 id='ICE_specific_Error_Class_Encoding'>
<title>ICE-specific Error Class Encoding</title>
-<informaltable pgwide='0' frame='none'>
- <tgroup cols='2' align='center'>
- <colspec colname='c1'/>
- <colspec colname='c2'/>
+<informaltable frame='topbot'>
+ <?dbfo keep-together="always" ?>
+ <tgroup cols='2' align='left' colsep='0' rowsep='0'>
+ <colspec colname='c1' colwidth='1.0*'/>
+ <colspec colname='c2' colwidth='3.0*'/>
<thead>
- <row>
- <entry align='left'>Class</entry>
- <entry align='center'>Encoding</entry>
+ <row rowsep='1'>
+ <entry>Class</entry>
+ <entry>Encoding</entry>
</row>
</thead>
<tbody>
<row>
- <entry align='left'>BadMajor</entry>
- <entry align='right'>0</entry>
+ <entry>BadMajor</entry>
+ <entry>0</entry>
</row>
<row>
- <entry align='left'>NoAuthentication</entry>
- <entry align='right'>1</entry>
+ <entry>NoAuthentication</entry>
+ <entry>1</entry>
</row>
<row>
- <entry align='left'>NoVersion</entry>
- <entry align='right'>2</entry>
+ <entry>NoVersion</entry>
+ <entry>2</entry>
</row>
<row>
- <entry align='left'>SetupFailed</entry>
- <entry align='right'>3</entry>
+ <entry>SetupFailed</entry>
+ <entry>3</entry>
</row>
<row>
- <entry align='left'>AuthenticationRejected</entry>
- <entry align='right'>4</entry>
+ <entry>AuthenticationRejected</entry>
+ <entry>4</entry>
</row>
<row>
- <entry align='left'>AuthenticationFailed</entry>
- <entry align='right'>5</entry>
+ <entry>AuthenticationFailed</entry>
+ <entry>5</entry>
</row>
<row>
- <entry align='left'>ProtocolDuplicate</entry>
- <entry align='right'>6</entry>
+ <entry>ProtocolDuplicate</entry>
+ <entry>6</entry>
</row>
<row>
- <entry align='left'>MajorOpcodeDuplicate</entry>
- <entry align='right'>7</entry>
+ <entry>MajorOpcodeDuplicate</entry>
+ <entry>7</entry>
</row>
<row>
- <entry align='left'>UnknownProtocol</entry>
- <entry align='right'>8</entry>
+ <entry>UnknownProtocol</entry>
+ <entry>8</entry>
</row>
</tbody>
</tgroup>
<title>Modification History</title>
-<sect1 id="release_6_to_release_6_1">
+<sect1 id='Release_6_to_Release_61_1'>
<title>Release 6 to Release 6.1</title>
<para>
Release 6.1 added the ICE X rendezvous protocol (Appendix B) and
</para>
</sect1>
-<sect1 id="release_6_1_to_release_6_3">
+<sect1 id='Release_61_to_Release_63_3'>
<title>Release 6.1 to Release 6.3</title>
<para>Release 6.3 added the listen on well known ports feature.</para>
</sect1>
<appendix id="ice_x_rendezvous_protocol">
<title>ICE X Rendezvous Protocol</title>
-<sect1 id="introduction">
+<sect1 id='Introduction'>
<title>Introduction</title>
<para>
The ICE X rendezvous protocol is designed to answer the need posed
</para>
</sect1>
-<sect1 id="overview_of_ice_x_rendezvous">
+<sect1 id='Overview_of_ICE_X_Rendezvous'>
<title>Overview of ICE X Rendezvous</title>
<para>
</para>
</sect1>
-<sect1 id="registering_known_protocols">
+<sect1 id='Registering_Known_Protocols'>
<title>Registering Known Protocols</title>
<para>
</para>
</sect1>
-<sect1 id="initiating_the_rendezvoud">
+<sect1 id='Initiating_the_Rendezvous'>
<title>Initiating the Rendezvous</title>
<para>
property is as follows:
</para>
-<informaltable pgwide='0' frame='none'>
- <tgroup cols='2' align='center'>
- <colspec colname='c1'/>
- <colspec colname='c2'/>
+<informaltable frame='topbot'>
+ <?dbfo keep-together="always" ?>
+ <tgroup cols='2' align='left' colsep='0' rowsep='0'>
+ <colspec colname='c1' colwidth='1.0*'/>
+ <colspec colname='c2' colwidth='3.0*'/>
<thead>
- <row>
- <entry align='left'>Field</entry>
- <entry align='left'>Value</entry>
+ <row rowsep='1'>
+ <entry>Field</entry>
+ <entry>Value</entry>
</row>
</thead>
<tbody>
<row>
- <entry align='left'>type</entry>
- <entry align='left'>XA_STRING</entry>
+ <entry>type</entry>
+ <entry>XA_STRING</entry>
</row>
<row>
- <entry align='left'>format</entry>
- <entry align='left'>8</entry>
+ <entry>format</entry>
+ <entry>8</entry>
</row>
<row>
- <entry align='left'>value</entry>
- <entry align='left'>comma-separated list of ICE network IDs</entry>
+ <entry>value</entry>
+ <entry>comma-separated list of ICE network IDs</entry>
</row>
</tbody>
</tgroup>
subprotocol in an ICE_PROTOCOLS property on their top-level window.
</para>
-<informaltable pgwide='0' frame='none'>
- <tgroup cols='2' align='center'>
- <colspec colname='c1'/>
- <colspec colname='c2'/>
+<informaltable frame='topbot'>
+ <?dbfo keep-together="always" ?>
+ <tgroup cols='2' align='left' colsep='0' rowsep='0'>
+ <colspec colname='c1' colwidth='1.0*'/>
+ <colspec colname='c2' colwidth='3.0*'/>
<thead>
- <row>
- <entry align='left'>Field</entry>
- <entry align='left'>Value</entry>
+ <row rowsep='1'>
+ <entry>Field</entry>
+ <entry>Value</entry>
</row>
</thead>
<tbody>
<row>
- <entry align='left'>message_type</entry>
- <entry align='left'>Atom = "ICE_PROTOCOLS"</entry>
+ <entry>message_type</entry>
+ <entry>Atom = "ICE_PROTOCOLS"</entry>
</row>
<row>
- <entry align='left'>format</entry>
- <entry align='left'>32</entry>
+ <entry>format</entry>
+ <entry>32</entry>
</row>
<row>
- <entry align='left'>data.l[0]</entry>
- <entry align='left'>Atom identifying the ICE subprotocol to speak</entry>
+ <entry>data.l[0]</entry>
+ <entry>Atom identifying the ICE subprotocol to speak</entry>
</row>
<row>
- <entry align='left'>data.l[1]</entry>
- <entry align='left'>Timestamp</entry>
+ <entry>data.l[1]</entry>
+ <entry>Timestamp</entry>
</row>
<row>
- <entry align='left'>data.l[2]</entry>
- <entry align='left'><para>ICE answering party's window ID with
+ <entry>data.l[2]</entry>
+ <entry><para>ICE answering party's window ID with
ICE network IDs text property</para></entry>
</row>
<row>
- <entry align='left'>data.l[3]</entry>
- <entry align='left'>Atom naming text property containing the ICE
+ <entry>data.l[3]</entry>
+ <entry>Atom naming text property containing the ICE
answering party's ICE network IDs</entry>
</row>
<row>
- <entry align='left'>data.l[4]</entry>
- <entry align='left'>Reserved. Must be 0.</entry>
+ <entry>data.l[4]</entry>
+ <entry>Reserved. Must be 0.</entry>
</row>
</tbody>
</tgroup>
event has the following format:
</para>
-<informaltable pgwide='0' frame='none'>
- <tgroup cols='2' align='center'>
- <colspec colname='c1'/>
- <colspec colname='c2'/>
+<informaltable frame='topbot'>
+ <?dbfo keep-together="always" ?>
+ <tgroup cols='2' align='left' colsep='0' rowsep='0'>
+ <colspec colname='c1' colwidth='1.0*'/>
+ <colspec colname='c2' colwidth='3.0*'/>
<thead>
- <row>
- <entry align='left'>Field</entry>
- <entry align='left'>Value</entry>
+ <row rowsep='1'>
+ <entry>Field</entry>
+ <entry>Value</entry>
</row>
</thead>
<tbody>
<row>
- <entry align='left'>message_type</entry>
- <entry align='left'>Atom = "ICE_INITIATE_FAILED"</entry>
+ <entry>message_type</entry>
+ <entry>Atom = "ICE_INITIATE_FAILED"</entry>
</row>
<row>
- <entry align='left'>format</entry>
- <entry align='left'>32</entry>
+ <entry>format</entry>
+ <entry>32</entry>
</row>
<row>
- <entry align='left'>data.l[0]</entry>
- <entry align='left'>Atom identifying the ICE subprotocol requested</entry>
+ <entry>data.l[0]</entry>
+ <entry>Atom identifying the ICE subprotocol requested</entry>
</row>
<row>
- <entry align='left'>data.l[1]</entry>
- <entry align='left'>Timestamp</entry>
+ <entry>data.l[1]</entry>
+ <entry>Timestamp</entry>
</row>
<row>
- <entry align='left'>data.l[2]</entry>
- <entry align='left'><para>Initiating party's window ID
+ <entry>data.l[2]</entry>
+ <entry><para>Initiating party's window ID
(holding ICE_PROTOCOLS)</para></entry>
</row>
<row>
- <entry align='left'>data.l[3]</entry>
- <entry align='left'>int: reason for failure</entry>
+ <entry>data.l[3]</entry>
+ <entry>int: reason for failure</entry>
</row>
<row>
- <entry align='left'>data.l[4]</entry>
- <entry align='left'>Reserved, must be 0</entry>
+ <entry>data.l[4]</entry>
+ <entry>Reserved, must be 0</entry>
</row>
</tbody>
</tgroup>
<!-- .ne 21 -->
-<informaltable pgwide='0' frame='none'>
- <tgroup cols='3' align='center'>
- <colspec colname='c1'/>
- <colspec colname='c2'/>
- <colspec colname='c3'/>
+<informaltable frame='topbot'>
+ <tgroup cols='3' align='left' colsep='0' rowsep='0'>
+ <colspec colname='c1' colwidth='1.5*'/>
+ <colspec colname='c2' colwidth='1.0*'/>
+ <colspec colname='c3' colwidth='3.0*'/>
<thead>
- <row>
- <entry align='left'>Value</entry>
- <entry align='left'>Encoding</entry>
- <entry align='left'>Description</entry>
+ <row rowsep='1'>
+ <entry>Value</entry>
+ <entry>Encoding</entry>
+ <entry>Description</entry>
</row>
</thead>
<tbody>
<row>
- <entry align='left'>OpenFailed</entry>
- <entry align='center'>1</entry>
- <entry align='left'>
+ <entry>OpenFailed</entry>
+ <entry>1</entry>
+ <entry>
The client was unable to open the connection
(e.g. a call to IceOpenConnection() failed). If the
client is able to distinguish authentication or
</entry>
</row>
<row>
- <entry align='left'>AuthenticationFailed</entry>
- <entry align='center'>2</entry>
- <entry align='left'>Authentication or authorization of the
+ <entry>AuthenticationFailed</entry>
+ <entry>2</entry>
+ <entry>Authentication or authorization of the
connection or protocol setup was refused.
This reply will be given only if the client is
able to distinguish it from
will be returned.</entry>
</row>
<row>
- <entry align='left'>SetupFailed</entry>
- <entry align='center'>3</entry>
- <entry align='left'>The client was unable to initiate the specified
+ <entry>SetupFailed</entry>
+ <entry>3</entry>
+ <entry>The client was unable to initiate the specified
protocol on the connection (e.g. a call to
IceProtocolSetup() failed).</entry>
</row>
<row>
- <entry align='left'>UnknownProtocol</entry>
- <entry align='center'>4</entry>
- <entry align='left'>The client does not recognize the requested
+ <entry>UnknownProtocol</entry>
+ <entry>4</entry>
+ <entry>The client does not recognize the requested
protocol. (This represents a semantic error
on the part of the answering party.)</entry>
</row>
<row>
- <entry align='left'>Refused</entry>
- <entry align='center'>5</entry>
- <entry align='left'>
+ <entry>Refused</entry>
+ <entry>5</entry>
+ <entry>
The client was in the process of removing
ICE_INITIATE_<emphasis remap='I'>pname</emphasis>
from its ICE_PROTOCOLS list
</note>
</sect1>
-<sect1 id="ice_subprotocol_versioning">
+<sect1 id='ICE_Subprotocol_Versioning'>
<title>ICE Subprotocol Versioning</title>
<para>