.gitignore | 74 INSTALL | 229 -- Makefile.am | 11 README | 4 configure.ac | 30 doc/.gitignore | 6 doc/ICElib.xml | 4588 +++++++++++++++++++++++++++++++++++++++++++++ doc/Makefile.am | 64 include/X11/ICE/ICE.h | 1 include/X11/ICE/ICEconn.h | 1 include/X11/ICE/ICElib.h | 2 include/X11/ICE/ICEmsg.h | 2 include/X11/ICE/ICEproto.h | 1 include/X11/ICE/ICEutil.h | 2 specs/.gitignore | 6 specs/Makefile.am | 64 specs/ice.xml | 2593 +++++++++++++++++++++++++ src/ICElibint.h | 2 src/Makefile.am | 7 src/accept.c | 1 src/authutil.c | 3 src/connect.c | 2 src/error.c | 3 src/getauth.c | 2 src/globals.h | 2 src/iceauth.c | 2 src/listen.c | 3 src/listenwk.c | 3 src/locking.c | 1 src/misc.c | 2 src/ping.c | 1 src/process.c | 2 src/protosetup.c | 2 src/register.c | 1 src/replywait.c | 1 src/setauth.c | 2 src/shutdown.c | 2 src/watch.c | 1 38 files changed, 7415 insertions(+), 308 deletions(-)
New commits: commit 9856f5679b2b2d458cf830c1e8fdd206c724dfc5 Author: Adam Jackson <[email protected]> Date: Tue Oct 19 11:19:08 2010 -0400 libICE 1.0.7 Signed-off-by: Adam Jackson <[email protected]> diff --git a/configure.ac b/configure.ac index 7b5956e..172b885 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ([2.60]) AC_INIT([libICE], - [1.0.6], + [1.0.7], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libICE]) commit 59a8d5609398824c81b72deb82735a55332ca239 Author: Jeremy Huddleston <[email protected]> Date: Sun Oct 17 21:26:31 2010 -0700 Fix include ordering, so -I../include precedes $CPPFLAGS which could cause us to include installed rather than packaged headers. Signed-off-by: Jeremy Huddleston <[email protected]> diff --git a/src/Makefile.am b/src/Makefile.am index 621a82d..a5dd7d4 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,7 +1,8 @@ lib_LTLIBRARIES=libICE.la +AM_CPPFLAGS = -I${top_srcdir}/include + AM_CFLAGS = \ - -I${top_srcdir}/include \ $(ICE_CFLAGS) \ $(XTRANS_CFLAGS) \ $(CWARNFLAGS) \ commit 4a6f7a357222b2c1fa289d6e7b5fcc8c361e20e9 Author: Jesse Adkins <[email protected]> Date: Tue Sep 28 13:30:01 2010 -0700 Purge cvs tags. Signed-off-by: Jesse Adkins <[email protected]> Signed-off-by: Alan Coopersmith <[email protected]> diff --git a/include/X11/ICE/ICE.h b/include/X11/ICE/ICE.h index e2924f1..7560647 100644 --- a/include/X11/ICE/ICE.h +++ b/include/X11/ICE/ICE.h @@ -1,4 +1,3 @@ -/* $Xorg: ICE.h,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** diff --git a/include/X11/ICE/ICEconn.h b/include/X11/ICE/ICEconn.h index cdfacca..f169b6c 100644 --- a/include/X11/ICE/ICEconn.h +++ b/include/X11/ICE/ICEconn.h @@ -1,4 +1,3 @@ -/* $Xorg: ICEconn.h,v 1.5 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** diff --git a/include/X11/ICE/ICElib.h b/include/X11/ICE/ICElib.h index 5950ecd..ba42119 100644 --- a/include/X11/ICE/ICElib.h +++ b/include/X11/ICE/ICElib.h @@ -1,4 +1,3 @@ -/* $Xorg: ICElib.h,v 1.5 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** @@ -26,7 +25,6 @@ in this Software without prior written authorization from The Open Group. Author: Ralph Mor, X Consortium ******************************************************************************/ -/* $XFree86: xc/lib/ICE/ICElib.h,v 3.4 2001/12/14 19:53:35 dawes Exp $ */ #ifndef _ICELIB_H_ #define _ICELIB_H_ diff --git a/include/X11/ICE/ICEmsg.h b/include/X11/ICE/ICEmsg.h index 3329ee9..6a60f1c 100644 --- a/include/X11/ICE/ICEmsg.h +++ b/include/X11/ICE/ICEmsg.h @@ -1,4 +1,3 @@ -/* $Xorg: ICEmsg.h,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** @@ -26,7 +25,6 @@ in this Software without prior written authorization from The Open Group. Author: Ralph Mor, X Consortium ******************************************************************************/ -/* $XFree86: xc/lib/ICE/ICEmsg.h,v 1.4 2001/12/20 19:40:59 tsi Exp $ */ #ifndef _ICEMSG_H_ #define _ICEMSG_H_ diff --git a/include/X11/ICE/ICEproto.h b/include/X11/ICE/ICEproto.h index 9ca7c44..1fcbe6b 100644 --- a/include/X11/ICE/ICEproto.h +++ b/include/X11/ICE/ICEproto.h @@ -1,4 +1,3 @@ -/* $Xorg: ICEproto.h,v 1.5 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** diff --git a/include/X11/ICE/ICEutil.h b/include/X11/ICE/ICEutil.h index 8651d94..2852931 100644 --- a/include/X11/ICE/ICEutil.h +++ b/include/X11/ICE/ICEutil.h @@ -1,4 +1,3 @@ -/* $Xorg: ICEutil.h,v 1.5 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** @@ -26,7 +25,6 @@ in this Software without prior written authorization from The Open Group. Author: Ralph Mor, X Consortium ******************************************************************************/ -/* $XFree86: xc/lib/ICE/ICEutil.h,v 1.4 2001/12/20 19:40:59 tsi Exp $ */ #ifndef _ICEUTIL_H_ #define _ICEUTIL_H_ diff --git a/src/ICElibint.h b/src/ICElibint.h index 42983cc..3df59d6 100644 --- a/src/ICElibint.h +++ b/src/ICElibint.h @@ -1,4 +1,3 @@ -/* $Xorg: ICElibint.h,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** @@ -26,7 +25,6 @@ in this Software without prior written authorization from The Open Group. Author: Ralph Mor, X Consortium ******************************************************************************/ -/* $XFree86: xc/lib/ICE/ICElibint.h,v 1.6 2001/12/14 19:53:35 dawes Exp $ */ #ifndef _ICELIBINT_H_ #define _ICELIBINT_H_ diff --git a/src/accept.c b/src/accept.c index 150d8bd..6bc40ad 100644 --- a/src/accept.c +++ b/src/accept.c @@ -1,4 +1,3 @@ -/* $Xorg: accept.c,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** diff --git a/src/authutil.c b/src/authutil.c index 2191f06..fd0a77d 100644 --- a/src/authutil.c +++ b/src/authutil.c @@ -1,5 +1,3 @@ -/* $Xorg: authutil.c,v 1.5 2001/02/09 02:03:26 xorgcvs Exp $ */ -/* $XdotOrg: xc/lib/ICE/authutil.c,v 1.3 2005/05/17 20:53:55 sandmann Exp $ */ /****************************************************************************** @@ -27,7 +25,6 @@ in this Software without prior written authorization from The Open Group. Author: Ralph Mor, X Consortium ******************************************************************************/ -/* $XFree86: authutil.c,v 3.9 2002/05/31 18:45:41 dawes Exp $ */ #ifdef HAVE_CONFIG_H #include <config.h> diff --git a/src/connect.c b/src/connect.c index f948a0a..2542a0c 100644 --- a/src/connect.c +++ b/src/connect.c @@ -1,4 +1,3 @@ -/* $Xorg: connect.c,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** @@ -26,7 +25,6 @@ in this Software without prior written authorization from The Open Group. Author: Ralph Mor, X Consortium ******************************************************************************/ -/* $XFree86: xc/lib/ICE/connect.c,v 3.9 2001/12/14 19:53:35 dawes Exp $ */ #ifdef HAVE_CONFIG_H #include <config.h> diff --git a/src/error.c b/src/error.c index 44b8853..5c9aa51 100644 --- a/src/error.c +++ b/src/error.c @@ -1,5 +1,3 @@ -/* $XdotOrg: $ */ -/* $Xorg: error.c,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** @@ -27,7 +25,6 @@ in this Software without prior written authorization from The Open Group. Author: Ralph Mor, X Consortium ******************************************************************************/ -/* $XFree86: xc/lib/ICE/error.c,v 1.5 2001/10/28 03:32:28 tsi Exp $ */ #ifdef HAVE_CONFIG_H #include <config.h> diff --git a/src/getauth.c b/src/getauth.c index 0e86044..aa5d72d 100644 --- a/src/getauth.c +++ b/src/getauth.c @@ -1,4 +1,3 @@ -/* $Xorg: getauth.c,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** @@ -26,7 +25,6 @@ in this Software without prior written authorization from The Open Group. Author: Ralph Mor, X Consortium ******************************************************************************/ -/* $XFree86: xc/lib/ICE/getauth.c,v 1.2 2001/10/28 03:32:28 tsi Exp $ */ #ifdef HAVE_CONFIG_H #include <config.h> diff --git a/src/globals.h b/src/globals.h index f3d0955..2102384 100644 --- a/src/globals.h +++ b/src/globals.h @@ -1,4 +1,3 @@ -/* $Xorg: globals.h,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** @@ -26,7 +25,6 @@ in this Software without prior written authorization from The Open Group. Author: Ralph Mor, X Consortium ******************************************************************************/ -/* $XFree86: xc/lib/ICE/globals.h,v 1.4 2001/12/14 19:53:35 dawes Exp $ */ #ifndef __UNIXOS2__ IceConn _IceConnectionObjs[256]; diff --git a/src/iceauth.c b/src/iceauth.c index 40f1fff..7dc46da 100644 --- a/src/iceauth.c +++ b/src/iceauth.c @@ -1,4 +1,3 @@ -/* $Xorg: iceauth.c,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** @@ -26,7 +25,6 @@ in this Software without prior written authorization from The Open Group. Author: Ralph Mor, X Consortium ******************************************************************************/ -/* $XFree86: xc/lib/ICE/iceauth.c,v 3.5 2001/12/14 19:53:36 dawes Exp $ */ #ifdef HAVE_CONFIG_H #include <config.h> diff --git a/src/listen.c b/src/listen.c index be28aef..22602d4 100644 --- a/src/listen.c +++ b/src/listen.c @@ -1,4 +1,3 @@ -/* $Xorg: listen.c,v 1.5 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** diff --git a/src/listenwk.c b/src/listenwk.c index f5061c4..7747af6 100644 --- a/src/listenwk.c +++ b/src/listenwk.c @@ -1,5 +1,3 @@ -/* $Xorg: listenwk.c,v 1.5 2001/02/09 02:03:26 xorgcvs Exp $ */ - /* Copyright 1996, 1998 The Open Group @@ -25,7 +23,6 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from The Open Group. */ -/* $XFree86: xc/lib/ICE/listenwk.c,v 1.3 2001/01/17 19:41:29 dawes Exp $ */ /* Author: Ralph Mor, X Consortium */ diff --git a/src/locking.c b/src/locking.c index e504e3f..79a0a74 100644 --- a/src/locking.c +++ b/src/locking.c @@ -1,4 +1,3 @@ -/* $Xorg: locking.c,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** diff --git a/src/misc.c b/src/misc.c index ea8bbde..890da9a 100644 --- a/src/misc.c +++ b/src/misc.c @@ -1,4 +1,3 @@ -/* $Xorg: misc.c,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** @@ -26,7 +25,6 @@ in this Software without prior written authorization from The Open Group. Author: Ralph Mor, X Consortium ******************************************************************************/ -/* $XFree86: xc/lib/ICE/misc.c,v 1.3 2001/01/17 19:41:29 dawes Exp $ */ #ifdef WIN32 #define _WILLWINSOCK_ diff --git a/src/ping.c b/src/ping.c index 04fe735..93d82de 100644 --- a/src/ping.c +++ b/src/ping.c @@ -1,4 +1,3 @@ -/* $Xorg: ping.c,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** diff --git a/src/process.c b/src/process.c index 7797641..583ea1d 100644 --- a/src/process.c +++ b/src/process.c @@ -1,4 +1,3 @@ -/* $Xorg: process.c,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** @@ -26,7 +25,6 @@ in this Software without prior written authorization from The Open Group. Author: Ralph Mor, X Consortium ******************************************************************************/ -/* $XFree86: xc/lib/ICE/process.c,v 3.9tsi Exp $ */ #ifdef HAVE_CONFIG_H #include <config.h> diff --git a/src/protosetup.c b/src/protosetup.c index c6f19e1..2aab6d9 100644 --- a/src/protosetup.c +++ b/src/protosetup.c @@ -1,4 +1,3 @@ -/* $Xorg: protosetup.c,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** @@ -26,7 +25,6 @@ in this Software without prior written authorization from The Open Group. Author: Ralph Mor, X Consortium ******************************************************************************/ -/* $XFree86: xc/lib/ICE/protosetup.c,v 1.2 2001/10/28 03:32:28 tsi Exp $ */ #ifdef HAVE_CONFIG_H #include <config.h> diff --git a/src/register.c b/src/register.c index ac04df5..5b67bf2 100644 --- a/src/register.c +++ b/src/register.c @@ -1,4 +1,3 @@ -/* $Xorg: register.c,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** diff --git a/src/replywait.c b/src/replywait.c index 4e9ee16..e29f019 100644 --- a/src/replywait.c +++ b/src/replywait.c @@ -1,4 +1,3 @@ -/* $Xorg: replywait.c,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** diff --git a/src/setauth.c b/src/setauth.c index e20af09..d190de5 100644 --- a/src/setauth.c +++ b/src/setauth.c @@ -1,4 +1,3 @@ -/* $Xorg: setauth.c,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** @@ -26,7 +25,6 @@ in this Software without prior written authorization from The Open Group. Author: Ralph Mor, X Consortium ******************************************************************************/ -/* $XFree86: xc/lib/ICE/setauth.c,v 1.4 2001/12/14 19:53:36 dawes Exp $ */ #ifdef HAVE_CONFIG_H #include <config.h> diff --git a/src/shutdown.c b/src/shutdown.c index e928be2..da80e1f 100644 --- a/src/shutdown.c +++ b/src/shutdown.c @@ -1,4 +1,3 @@ -/* $Xorg: shutdown.c,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** @@ -26,7 +25,6 @@ in this Software without prior written authorization from The Open Group. Author: Ralph Mor, X Consortium ******************************************************************************/ -/* $XFree86: xc/lib/ICE/shutdown.c,v 3.3 2001/08/01 00:44:37 tsi Exp $ */ #ifdef HAVE_CONFIG_H #include <config.h> diff --git a/src/watch.c b/src/watch.c index 00897ee..b197a50 100644 --- a/src/watch.c +++ b/src/watch.c @@ -1,4 +1,3 @@ -/* $Xorg: watch.c,v 1.4 2001/02/09 02:03:26 xorgcvs Exp $ */ /****************************************************************************** commit 5bb806a65bf23a507b135abe1e4a8b3cabc7b8aa Author: Matt Dew <[email protected]> Date: Wed Jun 30 16:52:22 2010 -0400 specs: convert ICE doc/specs from xorg-docs module to DocBook XML Signed-off-by: Gaetan Nadon <[email protected]> diff --git a/Makefile.am b/Makefile.am index c766add..c2110ec 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = src doc +SUBDIRS = doc specs src pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = ice.pc diff --git a/configure.ac b/configure.ac index 1a53f2a..7b5956e 100644 --- a/configure.ac +++ b/configure.ac @@ -13,11 +13,16 @@ AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE AM_CONFIG_HEADER([config.h]) -# Require xorg-macros: XORG_DEFAULT_OPTIONS +# Require xorg-macros minimum of 1.10 for DocBook XML documentation m4_ifndef([XORG_MACROS_VERSION], - [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])]) -XORG_MACROS_VERSION(1.3) + [m4_fatal([must install xorg-macros 1.10 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.10) XORG_DEFAULT_OPTIONS +XORG_ENABLE_DOCS +XORG_ENABLE_SPECS +XORG_WITH_XMLTO(0.0.20) +XORG_WITH_FOP +XORG_CHECK_SGML_DOCTOOLS(1.5) # Checks for programs. AC_PROG_LIBTOOL @@ -47,5 +52,6 @@ LINT_FLAGS="${LINT_FLAGS} ${ICE_CFLAGS} ${XTRANS_CFLAGS}" AC_OUTPUT([Makefile doc/Makefile + specs/Makefile src/Makefile ice.pc]) diff --git a/doc/.gitignore b/doc/.gitignore new file mode 100644 index 0000000..12fe512 --- /dev/null +++ b/doc/.gitignore @@ -0,0 +1,6 @@ +# Add & Override for this directory and it's subdirectories +*.html +*.ps +*.pdf +*.txt +*.css diff --git a/doc/ICElib.ms b/doc/ICElib.ms deleted file mode 100644 index 0c35d60..0000000 --- a/doc/ICElib.ms +++ /dev/null @@ -1,3400 +0,0 @@ -.\" $Xorg: ICElib.ms,v 1.3 2000/08/17 19:42:09 cpqbld Exp $ -.\" $XdotOrg: xc/doc/specs/ICE/ICElib.ms,v 1.2 2004/04/23 18:42:16 eich Exp $ -.\" -.\" Use tbl, -ms, and macros.t -.\" -.\" macro: start marker -.de sM -.ne 4 -.sp 1 -\\h'-0.3i'\\L'-1v'\\v'3p'\\l'1v'\\v'1v-3p' -.sp -1 -.. -.\" macro: end marker -.de eM -.sp -1 -\\h'-0.3i'\\L'-1v'\\v'1v+4p'\\l'1v'\\v'-4p' -.sp 1 -.. -.EH '''' -.OH '''' -.EF '''' -.OF '''' -.ad b -.sp 10 -.TL -\s+2\fBInter-Client Exchange Library\fP\s-2 -.sp -Version 1.0 -.sp -X Consortium Standard -.sp -X Version 11, Release 6.8 -.AU -Ralph Mor -.AI -X Consortium -.LP -.DS C -Copyright \(co 1993, 1994, 1996 X Consortium -.DE -.LP -.sp 5 -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: -.LP -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. -.LP -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. -.LP -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. -.sp 5 -X Window System is a trademark of The Open Group. -.bp -.EH '\fBInter-Client Exchange Library\fP''\fBX11, Release 6.8\fP' -.OH '\fBInter-Client Exchange Library\fP''\fBX11, Release 6.8\fP' -.bp 1 -.EF ''\- \\\\n(PN \-'' -.OF ''\- \\\\n(PN \-'' -.NH 1 -Overview of ICE -.XS -\*(SN Overview of ICE -.XE -.LP -There are numerous possible inter-client protocols, with many similarities -and common needs - authentication, version negotiation, byte -order negotiation, and so on. -The Inter-Client Exchange (ICE) protocol is intended to provide a framework -for building such protocols, allowing them to make use of common negotiation -mechanisms and to be multiplexed over a single transport connection. -.NH 1 -The ICE Library - C Language Interface to ICE -.XS -\*(SN The ICE Library - C Language Interface to ICE -.XE -.LP -A client that wishes to utilize ICE must first register the protocols it -understands with the ICE library. Each protocol is dynamically assigned -a major opcode ranging from 1-255 (two clients can use different -major opcodes for the same protocol). The next step for the client is either -to open a connection with another client or to wait for connections made -by other clients. Authentication may be required. A client can both -initiate connections with other clients and be -waiting for clients to connect to itself (a nested session manager is an -example). Once an ICE connection is established between the two clients, one -of the clients needs to initiate a -.PN ProtocolSetup -in order to -"activate" a given protocol. Once the other client accepts the -.PN ProtocolSetup -(once again, authentication may be required), the -two clients are ready to start passing messages specific to that protocol to -each other. Multiple protocols may be active on a single ICE connection. -Clients are responsible for notifying the ICE library when a protocol is no -longer active on an ICE connection, although ICE does not define how each -subprotocol triggers a protocol shutdown. -.LP -The ICE library utilizes callbacks to process incoming messages. Using -callbacks allows -.PN ProtocolSetup -messages and authentication to happen -behind the scenes. An additional benefit is that messages never need -to be buffered up by the library when the client blocks waiting for a -particular message. -.NH 1 -Intended Audience -.XS -\*(SN Intended Audience -.XE -.LP -This document is intended primarily for implementors of protocol libraries -layered on top of ICE. Typically, applications that wish to utilize ICE -will make calls into individual protocol libraries rather than directly -make calls into the ICE library. However, some applications will have to -make some initial calls into the ICE library in order to accept ICE -connections (for example, a session manager accepting connections from -clients). But in general, protocol libraries should be designed to hide -the inner details of ICE from applications. -.NH 1 -Header Files and Library Name -.XS -\*(SN Header Files and Library Name -.XE -.LP -The header file -.Pn < X11/ICE/ICElib.h > -defines all of the ICElib data structures and function prototypes. -.PN ICElib.h -includes the header file -.Pn < X11/ICE/ICE.h >, -which defines all of the ICElib constants. -Protocol libraries that need to read and write messages should include -the header file -.Pn < X11/ICE/ICEmsg.h >. -.LP -Applications should link against ICElib using -lICE. -.NH 1 -Note on Prefixes -.XS -\*(SN Note on Prefixes -.XE -.LP -The following name prefixes are used in the library to distinguish between -a client that initiates a -.PN ProtocolSetup -and a client that -responds with a -.PN ProtocolReply : -.IP \(bu 5 -.PN IcePo -\- Ice Protocol Originator -.IP \(bu 5 -.PN IcePa -\- Ice Protocol Acceptor -.NH 1 -Protocol Registration -.XS -\*(SN Protocol Registration -.XE -.LP -In order for two clients to exchange messages for a given protocol, each -side must register the protocol with the ICE library. The purpose of -registration is for each side to obtain a major opcode for the protocol -and to provide callbacks for processing messages and handling authentication. -There are two separate registration functions: -.IP \(bu 5 -One to handle the side that does a -.PN ProtocolSetup -.IP \(bu 5 -One to handle the side that responds with a -.PN ProtocolReply -.LP -It is recommended that protocol registration occur before the two clients -establish an ICE connection. If protocol registration occurs after an -ICE connection is created, there can be a brief interval of time in which -a -.PN ProtocolSetup -is received, but the protocol is not registered. -If it is not possible to register a protocol before the creation of an -ICE connection, proper precautions should be taken to avoid the above race -condition. -.sp -.LP -The -.PN IceRegisterForProtocolSetup -function should be called for the client that initiates a -.PN ProtocolSetup . -.sM -.FD 0 -int IceRegisterForProtocolSetup\^(\^\fIprotocol_name\fP, \fIvendor\fP\^, \ -\fIrelease\fP\^, \fIversion_count\fP\^, \fIversion_recs\fP\^, -.br - \fIauth_count\fP\^, \fIauth_names\fP\^, \fIauth_procs\fP\^, \ -\fIio_error_proc\fP\^) -.br - char *\fIprotocol_name\fP\^; -.br - char *\fIvendor\fP\^; -.br - char *\fIrelease\fP\^; -.br - int \fIversion_count\fP\^; -.br - IcePoVersionRec *\fIversion_recs\fP\^; -.br - int \fIauth_count\fP\^; -.br - char **\fIauth_names\fP\^; -.br - IcePoAuthProc *\fIauth_procs\fP\^; -.br - IceIOErrorProc \fIio_error_proc\fP\^; -.FN -.IP \fIprotocol_name\fP 1i -A string specifying the name of the protocol to register. -.IP \fIvendor\fP 1i -A vendor string with semantics specified by the protocol. -.IP \fIrelease\fP 1i -A release string with semantics specified by the protocol. -.IP \fIversion_count\fP 1i -The number of different versions of the protocol supported. -.IP \fIversion_recs\fP 1i -List of versions and associated callbacks. -.IP \fIauth_count\fP 1i -The number of authentication methods supported. -.IP \fIauth_names\fP 1i -The list of authentication methods supported. -.IP \fIauth_procs\fP 1i -The list of authentication callbacks, one for each authentication method. -.IP \fIio_error_proc\fP 1i -IO error handler, or NULL. -.LP -.eM -.PN IceRegisterForProtocolSetup -returns the major opcode reserved or -1 if an error occurred. In order -to actually activate the protocol, the -.PN IceProtocolSetup -function needs to be called with this major opcode. Once the protocol is -activated, all messages for the protocol should be sent using this major -opcode. -.LP -A protocol library may support multiple versions of the same protocol. -The version_recs argument specifies a list of supported versions of the protocol, -which are prioritized in decreasing order of preference. -Each version record consists of a major and minor version of the protocol -as well as a callback to be used for processing incoming messages. -.LP -.sM -.Ds 0 -.TA .5i -.ta .5i -typedef struct { - int major_version; - int minor_version; - IcePoProcessMsgProc process_msg_proc; -} IcePoVersionRec; -.De -.LP -.eM -The -.PN IcePoProcessMsgProc -callback is responsible for processing the set of messages that can be -received by the client that initiated the -.PN ProtocolSetup . -For further information, -see section 6.1, ``Callbacks for Processing Messages.'' -.LP -Authentication may be required before the protocol can become active. -The protocol library must register the authentication methods that it -supports with the ICE library. -The auth_names and auth_procs arguments are a list of authentication names -and callbacks that are prioritized in decreasing order of preference. -For information on the -.PN IcePoAuthProc -callback, see section 6.2, ``Authentication Methods.'' -.LP -The -.PN IceIOErrorProc -callback is invoked if the ICE connection unexpectedly breaks. -You should pass NULL for io_error_proc if not interested in being notified. -For further information, -see section 13, ``Error Handling.'' -.sp -.LP -The -.PN IceRegisterForProtocolReply -function should be called for the client that responds to a -.PN ProtocolSetup -with a -.PN ProtocolReply . -.sM -.FD 0 -int IceRegisterForProtocolReply\^(\^\fIprotocol_name\fP, \fIvendor\fP\^, \fIrelease\fP\^, \fIversion_count\fP\^, \fIversion_recs\fP\^, -.br - \fIauth_count\fP\^, \fIauth_names\fP\^, \fIauth_procs\fP\^, \fIhost_based_auth_proc\fP\^, \fIprotocol_setup_proc\fP\^, -.br - \fIprotocol_activate_proc\fP\^, \fIio_error_proc\fP\^) -.br - char *\fIprotocol_name\fP\^; -.br - char *\fIvendor\fP\^; -.br - char *\fIrelease\fP\^; -.br - int \fIversion_count\fP\^; -.br - IcePaVersionRec *\fIversion_recs\fP\^; -.br - int \fIauth_count\fP\^; -.br - char **\fIauth_names\fP\^; -.br - IcePaAuthProc *\fIauth_procs\fP\^; -.br - IceHostBasedAuthProc \fIhost_based_auth_proc\fP\^; -.br - IceProtocolSetupProc \fIprotocol_setup_proc\fP\^; -.br - IceProtocolActivateProc \fIprotocol_activate_proc\fP\^; -.br - IceIOErrorProc \fIio_error_proc\fP\^; -.FN -.IP \fIprotocol_name\fP 1i -A string specifying the name of the protocol to register. -.IP \fIvendor\fP 1i -A vendor string with semantics specified by the protocol. -.IP \fIrelease\fP 1i -A release string with semantics specified by the protocol. -.IP \fIversion_count\fP 1i -The number of different versions of the protocol supported. -.IP \fIversion_recs\fP 1i -List of versions and associated callbacks. -.IP \fIauth_count\fP 1i -The number of authentication methods supported. -.IP \fIauth_names\fP 1i -The list of authentication methods supported. -.IP \fIauth_procs\fP 1i -The list of authentication callbacks, one for each authentication method. -.IP \fIhost_based_auth_proc\fP 1i -Host based authentication callback. -.IP \fIprotocol_setup_proc\fP 1i -A callback to be invoked when authentication has succeeded for a -.PN ProtocolSetup -but before the -.PN ProtocolReply -is sent. -.IP \fIprotocol_activate_proc\fP 1i -A callback to be invoked after the -.PN ProtocolReply -is sent. -.IP \fIio_error_proc\fP 1i -IO error handler, or NULL. -.LP -.eM -.PN IceRegisterForProtocolReply -returns the major opcode reserved or -1 if an error occurred. The major -opcode should be used in all subsequent messages sent for this protocol. -.LP -A protocol library may support multiple versions of the same protocol. -The version_recs argument specifies a list of supported versions of the protocol, -which are prioritized in decreasing order of preference. -Each version record consists of a major and minor version of the protocol -as well as a callback to be used for processing incoming messages. -.LP -.sM -.Ds 0 -.TA .5i -.ta .5i -typedef struct { - int major_version; - int minor_version; - IcePaProcessMsgProc process_msg_proc; -} IcePaVersionRec; -.De -.LP -.eM -The -.PN IcePaProcessMsgProc -callback is responsible for processing the set of messages that can be -received by the client that accepted the -.PN ProtocolSetup . -For further information, -see section 6.1, ``Callbacks for Processing Messages.'' -.LP -Authentication may be required before the protocol can become active. -The protocol library must register the authentication methods that it -supports with the ICE library. -The auth_names and auth_procs arguments are a list of authentication names -and callbacks that are prioritized in decreasing order of preference. -For information on the -.PN IcePaAuthProc -callback, see section 6.2, ``Authentication Methods.'' -.LP -If authentication fails and the client attempting to initiate -the -.PN ProtocolSetup -has not required authentication, the -.PN IceHostBasedAuthProc -callback is invoked with the host name of the originating client. -If the callback returns -.PN True , -the -.PN ProtocolSetup -will succeed, even though the original -authentication failed. -Note that authentication can effectively be disabled by registering an -.PN IceHostBasedAuthProc , -which always returns -.PN True . -If no host based -authentication is allowed, you should pass NULL for host_based_auth_proc. -.LP -.sM -.FD 0 -typedef Bool (*IceHostBasedAuthProc) (); - -Bool HostBasedAuthProc\^(\^\fIhost_name\fP\^) -.br - char *\fIhost_name\fP\^; -.FN -.IP \fIhost_name\fP 1i -The host name of the client that sent the -.PN ProtocolSetup . -.LP -.eM -The host_name argument is a string of the form \fIprotocol\fP\^/\^\fIhostname\fP, -where \fIprotocol\fP\^ is one of {tcp, decnet, local}. -.LP -Because -.PN ProtocolSetup -messages and authentication happen behind the scenes -via callbacks, the protocol library needs some way of being notified when the -.PN ProtocolSetup -has completed. -This occurs in two phases. -In the first phase, the -.PN IceProtocolSetupProc -callback is invoked after authentication has -successfully completed but before the ICE library sends a -.PN ProtocolReply . -Any resources required for this protocol should be allocated at this time. -If the -.PN IceProtocolSetupProc -returns a successful status, the ICE library will -send the -.PN ProtocolReply -and then invoke the -.PN IceProtocolActivateProc -callback. Otherwise, an error will be sent to the -other client in response to the -.PN ProtocolSetup . -.LP -The -.PN IceProtocolActivateProc -is an optional callback and should be registered only if the protocol -library intends to generate a message immediately following the -.PN ProtocolReply . -You should pass NULL for protocol_activate_proc if not interested -in this callback. -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

