[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

libice: Changes to 'upstream-unstable'



 .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 <ajax@redhat.com>
Date:   Tue Oct 19 11:19:08 2010 -0400

    libICE 1.0.7
    
    Signed-off-by: Adam Jackson <ajax@redhat.com>

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 <jeremyhu@apple.com>
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 <jeremyhu@apple.com>

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 <jesserayadkins@gmail.com>
Date:   Tue Sep 28 13:30:01 2010 -0700

    Purge cvs tags.
    
    Signed-off-by: Jesse Adkins <jesserayadkins@gmail.com>
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

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 <matt@osource.org>
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 <memsize@videotron.ca>

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.


Reply to: