summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorchatty2000-07-26 09:44:55 +0000
committerchatty2000-07-26 09:44:55 +0000
commit7261d1507b0c2c622c00d1d0889625a835a43f65 (patch)
treed7fda5bd4b8df86f88965c40c8f7a967a5bff2fd /doc
parent2f55d565b8fd9501757e343e4facc67b2e78888e (diff)
downloadivy-c-7261d1507b0c2c622c00d1d0889625a835a43f65.zip
ivy-c-7261d1507b0c2c622c00d1d0889625a835a43f65.tar.gz
ivy-c-7261d1507b0c2c622c00d1d0889625a835a43f65.tar.bz2
ivy-c-7261d1507b0c2c622c00d1d0889625a835a43f65.tar.xz
Removed documentation files that were generated from other files
Diffstat (limited to 'doc')
-rw-r--r--doc/ivy-c-1.html114
-rw-r--r--doc/ivy-c-2.html44
-rw-r--r--doc/ivy-c-3.html199
-rw-r--r--doc/ivy-c-4.html28
-rw-r--r--doc/ivy-c-5.html178
-rw-r--r--doc/ivy-c-6.html38
-rw-r--r--doc/ivy-c.html68
-rw-r--r--doc/man-ivy-c.html70
8 files changed, 0 insertions, 739 deletions
diff --git a/doc/ivy-c-1.html b/doc/ivy-c-1.html
deleted file mode 100644
index 3e22fab..0000000
--- a/doc/ivy-c-1.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
- <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.7">
- <TITLE>The Ivy C library guide: General information</TITLE>
- <LINK HREF="ivy-c-2.html" REL=next>
-
- <LINK HREF="ivy-c.html#toc1" REL=contents>
-</HEAD>
-<BODY>
-<A HREF="ivy-c-2.html">Next</A>
-Previous
-<A HREF="ivy-c.html#toc1">Contents</A>
-<HR>
-<H2><A NAME="s1">1. General information</A></H2>
-
-<H2><A NAME="ss1.1">1.1 What is Ivy?</A>
-</H2>
-
-<P>
-<P>Ivy is a software bus designed at CENA (France). A software bus is a system
-that allows software applications to exchange information with the illusion of
-broadcasting that information, selection being performed by the receiving
-applications. Using a software bus is very similar to dealing with events in a
-graphical toolkit: on one side, messages are emitted without caring about who
-will handle them, and on the other side, one decide to handle the messages that
-have a certain type or follow a certain pattern. Software buses are mainly aimed
-at facilitating the rapid development of new agents, and at managing a dynamic
-collection of agents on the bus: agents show up, emit messages and receive some,
-then leave the bus without blocking the others.
-<P>
-<H3>Architecture and principles</H3>
-
-<P>As opposed to other software buses, Ivy does not depend on a centralised
-server. Actually, Ivy is mostly a communication convention between processes,
-implemented through a collection of libraries in several languages.
-<P>
-<P>
-<P>From the programmer's point of view, Ivy is an information broadcasting
-channel. The main functions are:
-<P>
-<UL>
-<LI> connecting to a bus.<EM> Example: IvyInit (b, 2011)</EM></LI>
-<LI> sending a message.<EM> Example: IvySend (b, "HELLO %s", world)</EM></LI>
-<LI> bind a message pattern to a callback function.<EM> Example: IvyBind (b, "HELLO (.*)", cb)</EM></LI>
-<LI> the main loop.<EM> Example : IvyLoop ()</EM></LI>
-</UL>
-<P>Ivy's
-decentralised connection scheme probably incurs limitations in terms of how many
-applications can be connected to an Ivy bus, but this simplifies management a
-lot. Basically, an Ivy bus is just a set of applications that decide to
-communicate together. The only conventions between these applications are:
-<OL>
-<LI> the use of the Ivy protocol (for obvious reasons)</LI>
-<LI> a bus address, made of a broadcast port number (a bit like a citizen band
-channel) and a set of networks addresses</LI>
-</OL>
-
-When an application wants to connect to a bus, it sends a broadcast message on the
-networks specified in the bus address, so that all applications present on those
-networks and listening on the specified port number connect to it. It then
-becomes part of the bus, and listens like the other ones.
-<P>The messages are exchanged in text format, and bindings are based on regular
-expressions with captures. If an application subscribes to
-<CODE>HELLO (.*)</CODE> and if another application emits the message <CODE>HELLO WORLD</CODE>, a
-callback will be called in the first application with <CODE>WORLD</CODE> as an argument.
-<P>
-<P>
-<H3>Using Ivy</H3>
-
-<P>You can use Ivy through applications that have been provided to you. This is the
-case for <CODE>ivyprobe</CODE>, an Ivy agent that allows you to examine the messages
-exchanged on a given bus and to send messages on that bus. You can refer to the
-web site <CODE>http:</CODE> for a list of available agents. However, what you will
-usually want to do is to develop your own applications. In order to do that you
-can use an Ivy connection kit, that is a library that implements Ivy.
-<P>
-<P>
-<P>Libraries that implement Ivy are available in the following environments:
-<UL>
-<LI> in C on Unix and Windows platforms, with its own communication library</LI>
-<LI> in C++ on Windows platforms</LI>
-<LI> in C++ on Unix platforms, integrated with the Uch communication library</LI>
-<LI> in C++ on Unix platforms, integrated with OpenInventor</LI>
-<LI> in C++ on Macintosh</LI>
-<LI> in Perl and in Perl/Tk</LI>
-<LI> integrated with Object Caml on Unix platforms</LI>
-<LI> in Scheme on Unix platforms</LI>
-<LI> in Java</LI>
-</UL>
-<P>
-<P>Connecting your application to an Ivy bus just consists in choosing the
-appropriate library, add the appropriate message emission and reception calls to
-your code, use the main loop provided in the library or make the necessary
-integrations, and get your code running!
-<P>
-<H2><A NAME="ss1.2">1.2 The Ivy C library</A>
-</H2>
-
-<P>The Ivy C library (aka Ivy-C or ivy-c) is a C library that allows you to connect
-applications to an Ivy bus. You can use it to write applications in C or any
-other language that supports C extensions. This guide documents how you can do
-that.
-<P>The Ivy C library is known to compile and work in WindowsNT and Linux
-environments. It should be easy to use on most Posix environments.
-<P>The Ivy C library was originally developed by François-Régis Colin at CENA. It
-is maintained by the CENA-Toulouse team.
-<P>
-<HR>
-<A HREF="ivy-c-2.html">Next</A>
-Previous
-<A HREF="ivy-c.html#toc1">Contents</A>
-</BODY>
-</HTML>
diff --git a/doc/ivy-c-2.html b/doc/ivy-c-2.html
deleted file mode 100644
index 2e03154..0000000
--- a/doc/ivy-c-2.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
- <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.7">
- <TITLE>The Ivy C library guide: Getting and installing the Ivy C library</TITLE>
- <LINK HREF="ivy-c-3.html" REL=next>
- <LINK HREF="ivy-c-1.html" REL=previous>
- <LINK HREF="ivy-c.html#toc2" REL=contents>
-</HEAD>
-<BODY>
-<A HREF="ivy-c-3.html">Next</A>
-<A HREF="ivy-c-1.html">Previous</A>
-<A HREF="ivy-c.html#toc2">Contents</A>
-<HR>
-<H2><A NAME="s2">2. Getting and installing the Ivy C library</A></H2>
-
-<P>You can get the latest versions of the Ivy C library from CENA (http://XXX) or
-from one of the Fairway sites (for instance http://XXX). Depending whether you
-use a supported distribution of Linux or not, you have the following options:
-<P>
-<H2><A NAME="ss2.1">2.1 Installing RedHat or Debian packages</A>
-</H2>
-<p>If your system is Linux/Redhat, you have to use the command <em><strong> rpm -i package-name</strong></em>.
-<p>If your system is Linux/Debian, you have to use the command <em><strong> dpkg -i package-name</strong></em>.
-
-
-<P>
-<P>
-<H2><A NAME="ss2.2">2.2 Getting and compiling the sources</A>
-</H2>
-<p>If your system is not a Linux one, you have to get and compile the source of the ivy-c library.
-In this case, you have to get the source from CENA at http://XXX or from one of the Fairway sites.
-
-
-<P>
-<P>
-<P>
-<P>
-<HR>
-<A HREF="ivy-c-3.html">Next</A>
-<A HREF="ivy-c-1.html">Previous</A>
-<A HREF="ivy-c.html#toc2">Contents</A>
-</BODY>
-</HTML>
diff --git a/doc/ivy-c-3.html b/doc/ivy-c-3.html
deleted file mode 100644
index fef73f8..0000000
--- a/doc/ivy-c-3.html
+++ /dev/null
@@ -1,199 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
- <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.7">
- <TITLE>The Ivy C library guide: Basic functions</TITLE>
- <LINK HREF="ivy-c-4.html" REL=next>
- <LINK HREF="ivy-c-2.html" REL=previous>
- <LINK HREF="ivy-c.html#toc3" REL=contents>
-</HEAD>
-<BODY>
-<A HREF="ivy-c-4.html">Next</A>
-<A HREF="ivy-c-2.html">Previous</A>
-<A HREF="ivy-c.html#toc3">Contents</A>
-<HR>
-<H2><A NAME="s3">3. Basic functions</A></H2>
-
-<H2><A NAME="ss3.1">3.1 Initialization and main loop</A>
-</H2>
-
-<P>Initializing an Ivy agent with the Ivy C library is a two-step process. First of
-all, you should initialize the library by calling function <CODE>IvyInit</CODE>. Once
-the library is initialized you can create timers and add subscriptions, but your
-agent is still not connected to any bus. In order to connect, you should call
-function <CODE>IvyStart</CODE>. In theory, initialization is then over. However in
-practice, as for any asynchronous communication or interaction library, nothing
-happens until your application has reached the main loop.
-<P>The Ivy C library provides its own main loop: <CODE>IvyMainLoop</CODE>. You should use
-it unless you already use a toolkit that provides its own main loop and you want
-to use that one. If it is the case, please refer to section XX. Otherwise, just
-call <CODE>IvyMainLoop</CODE>. From within the main loop, you can call <CODE>IvyStop</CODE> to
-exit the loop.
-<P>Here are more details on those functions:
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-void IvyInit (const char* agentname,
- const char* hello_msg,
- IvyApplicationCallback app_cb,
- void *app_data,
- IvyDieCallback die_cb,
- void *die_data);
-</PRE>
-</CODE></BLOCKQUOTE>
-
-initializes the library.
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-void IvyStart (const char* bus);
-</PRE>
-</CODE></BLOCKQUOTE>
-
-connects your application to the bus specified in <CODE>bus</CODE>. The string provided
-should follow the convention described in section XX. Example: <CODE>"127:2010"</CODE>.
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-void IvyMainLoop (void (*hook) (void));
-</PRE>
-</CODE></BLOCKQUOTE>
-
-makes your application enter the main loop in which it will handle asynchronous
-communications and signals.
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-void IvyStop ();
-</PRE>
-</CODE></BLOCKQUOTE>
-
-makes your application exit the main loop.
-<P>
-<P>
-<H2><A NAME="ss3.2">3.2 Emitting messages</A>
-</H2>
-
-<P>Emitting a message on an Ivy bus is much like printing a message on the standard
-output. However, do not forget that your message will not be emitted if Ivy has
-not been properly initialized and if you do not have a main loop of some sort
-running. To emit a message, use <CODE>IvySendMsg</CODE>, which works like <CODE>printf</CODE>:
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-void IvySendMsg (const char* format, ...);
-</PRE>
-</CODE></BLOCKQUOTE>
-
-sends a message on the bus. This function has exactly the same behaviour as
-<CODE>printf</CODE>, <CODE>sprintf</CODE> or <CODE>fprintf</CODE>.
-<P>
-<P>
-<H2><A NAME="ss3.3">3.3 Subscribing to messages</A>
-</H2>
-
-<P>Subscribing to messages consists in binding a callback function to a message
-pattern. Patterns are described by regular expressions with captures. When a
-message matching the regular expression is detected on the bus, the callback
-function is called. The captures (ie the bits of the message that match the
-parts of regular expression delimited by brackets) are passed to the callback
-function much like options are passed to <CODE>main</CODE>. Use function <CODE>IvyBindMsg</CODE>
-to bind a callback to a pattern, and function <CODE>IvyUnbindMsg</CODE> to delete the
-binding.
-<BLOCKQUOTE><CODE>
-<PRE>
-MsgRcvPtr IvyBindMsg (MsgCallback cb,
- void* data,
- const char* regex_format, ...);
-</PRE>
-</CODE></BLOCKQUOTE>
-
-binds callback function <CODE>cb</CODE> to the regular expression specified by
-<CODE>regex_format</CODE> and the optional following arguments. <CODE>regex_format</CODE> and
-the following arguments are handled as in <CODE>printf</CODE>.
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-void IvyUnbindMsg (MsgRcvPtr id);
-</PRE>
-</CODE></BLOCKQUOTE>
-
-deletes the binding specified by <CODE>id</CODE>
-<P>
-<P>In what precedes, <CODE>MsgRcvPtr</CODE> is an opaque type used to identify bindings,
-<CODE>data</CODE> is a user pointer passed to the callback whenever it is called, and
-<CODE>Msgcallback</CODE> is defined as follows:
-<BLOCKQUOTE><CODE>
-<PRE>
-typedef void (*MsgCallback)(IvyClientPtr app, void *data, int argc, char **argv);
-</PRE>
-</CODE></BLOCKQUOTE>
-<P>
-<P>
-<H2><A NAME="ss3.4">3.4 Example</A>
-</H2>
-
-<P>The following application connects to an Ivy bus, translates messages <CODE>"Hi
-[name]"</CODE> to <CODE>"Bonjour [name]"</CODE>, and quits on message <CODE>"Bye"</CODE>.
-<BLOCKQUOTE><CODE>
-<PRE>
-#include &lt;stdlib.h>
-#include &lt;stdio.h>
-#include &lt;getopt.h>
-#include &lt;ivy.h>
-#include &lt;ivyloop.h>
-
-/* callback associated to "Hi" messages */
-void HiCallback (IvyClientPtr app, void *data, int argc, char **argv)
-{
- if (argc != 1)
- fprintf (stderr, "wrong format!\n");
- else
- IvySendMsg ("Bonjour %s", argv[0]);
-}
-
-void ByeCallback (IvyClientPtr app, void *data, int argc, char **argv)
-{
- IvyStop ();
-}
-
-main (int argc, char**argv)
-{
- /* handling of -b option */
- const char* bus = 0;
- char c;
- while (c = getopt (argc, argv, "b:") != EOF) {
- switch (c) {
- case 'b':
- bus = optarg;
- break;
- }
- }
-
- /* handling of environment variable */
- if (!bus)
- bus = getenv ("IVYBUS");
-
- /* initializations */
- IvyInit ("MagicTranslater", "Hello le monde", 0, 0, 0, 0);
- IvyStart (bus);
-
- /* bindings */
- IvyBindMsg (HiCallback, 0, "^Hi (.*)");
- IvyBindMsg (ByeCallback, 0, "^Bye$");
-
- /* main loop */
- IvyMainLoop (0);
-}
-</PRE>
-</CODE></BLOCKQUOTE>
-<P>
-<P>
-<P>
-<P>
-<HR>
-<A HREF="ivy-c-4.html">Next</A>
-<A HREF="ivy-c-2.html">Previous</A>
-<A HREF="ivy-c.html#toc3">Contents</A>
-</BODY>
-</HTML>
diff --git a/doc/ivy-c-4.html b/doc/ivy-c-4.html
deleted file mode 100644
index 0acebd0..0000000
--- a/doc/ivy-c-4.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
- <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.7">
- <TITLE>The Ivy C library guide: Advanced functions</TITLE>
- <LINK HREF="ivy-c-5.html" REL=next>
- <LINK HREF="ivy-c-3.html" REL=previous>
- <LINK HREF="ivy-c.html#toc4" REL=contents>
-</HEAD>
-<BODY>
-<A HREF="ivy-c-5.html">Next</A>
-<A HREF="ivy-c-3.html">Previous</A>
-<A HREF="ivy-c.html#toc4">Contents</A>
-<HR>
-<H2><A NAME="s4">4. Advanced functions</A></H2>
-
-<H2><A NAME="ss4.1">4.1 Utilities</A>
-</H2>
-
-<H2><A NAME="ss4.2">4.2 Direct messages</A>
-</H2>
-
-<HR>
-<A HREF="ivy-c-5.html">Next</A>
-<A HREF="ivy-c-3.html">Previous</A>
-<A HREF="ivy-c.html#toc4">Contents</A>
-</BODY>
-</HTML>
diff --git a/doc/ivy-c-5.html b/doc/ivy-c-5.html
deleted file mode 100644
index 53eaf19..0000000
--- a/doc/ivy-c-5.html
+++ /dev/null
@@ -1,178 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
- <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.7">
- <TITLE>The Ivy C library guide: Managing timers and other channels</TITLE>
- <LINK HREF="ivy-c-6.html" REL=next>
- <LINK HREF="ivy-c-4.html" REL=previous>
- <LINK HREF="ivy-c.html#toc5" REL=contents>
-</HEAD>
-<BODY>
-<A HREF="ivy-c-6.html">Next</A>
-<A HREF="ivy-c-4.html">Previous</A>
-<A HREF="ivy-c.html#toc5">Contents</A>
-<HR>
-<H2><A NAME="s5">5. Managing timers and other channels</A></H2>
-
-<P>
-<P>In your applications, you may need to manage other input/output channels than an
-Ivy bus: a serial driver, the channels defined by a graphical toolkit, or simply
-stdin and stdout. The same applies for timers. You can either manage those
-channels or timers from the Ivy main loop, or instead use the main loop provided by
-another library.
-<P>
-<H2><A NAME="ss5.1">5.1 Adding channels and timers to the Ivy main loop</A>
-</H2>
-
-<H3>Channels</H3>
-
-<P>You can get a channel to be managed from the Ivy main loop by using functions
-<CODE>IvyChannelSetUp</CODE> and <CODE>IvyChannelClose</CODE>.
-<BLOCKQUOTE><CODE>
-<PRE>
-Channel IvyChannelSetUp (HANDLE fd,
- void* data,
- ChannelHandleDelete handle_delete,
- ChannelHandleRead handle_read);
-</PRE>
-</CODE></BLOCKQUOTE>
-
-ensures that function <CODE>handle_read</CODE> is called whenever data is read on file
-descriptor <CODE>fd</CODE>, and function <CODE>handle_delete</CODE> whenever <CODE>fd</CODE> is
-closed, and
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-void IvyChannelClose (Channel ch);
-</PRE>
-</CODE></BLOCKQUOTE>
-
-terminates the management of channel <CODE>ch</CODE>.
-<P>
-<P>In what precedes, <CODE>Channel</CODE> is an opaque type defined by the Ivy C library, <CODE>data</CODE> is a pointer that will be passed to functions <CODE>handle_read</CODE>
-and <CODE>handle_delete</CODE>. It can be defined at will by users.
-The types HANDLE, ChannelHandleDelete and
-ChannelHandleRead are as follows:
-<BLOCKQUOTE><CODE>
-Unix:
-<PRE>
-typedef int HANDLE;
-</PRE>
-
-Windows:
-<PRE>
-typedef SOCKET HANDLE;
-</PRE>
-
-<PRE>
-typedef void (*ChannelHandleDelete)(void *data);
-typedef void (*ChannelHandleRead)(Channel ch, HANDLE fd, void* data);
-</PRE>
-</CODE></BLOCKQUOTE>
-<P>
-<P>
-<H3>Timers</H3>
-
-<P>You can get a function to be repeatedly called by using function
-<CODE>TimerRepeatAfter</CODE>:
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-TimerId TimerRepeatAfter (int nbticks, long delay, TimerCb handle_timer, void* data);
-</PRE>
-</CODE></BLOCKQUOTE>
-
-ensures that function <CODE>handle_timer</CODE> is called <CODE>nbticks</CODE> times at
-intervals of <CODE>delay</CODE> seconds, thus creating a timer.
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-void TimerModify (TimerId id, long delay);
-</PRE>
-</CODE></BLOCKQUOTE>
-
-changes the delay used for timer <CODE>id</CODE>.
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-void TimerRemove (TimerId id);
-</PRE>
-</CODE></BLOCKQUOTE>
-
-deletes timer <CODE>id</CODE>, thus stopping it.
-<P>In what precedes, <CODE>data</CODE> is passed to <CODE>handle_timer</CODE> every time it is
-called. <CODE>delay</CODE> is expressed in milliseconds.
-If <CODE>nbticks</CODE> is set to <CODE>TIMER_LOOP</CODE>, then <CODE>handle_timer</CODE> will
-be called forever. <CODE>TimerCb</CODE> is as follows:
-<BLOCKQUOTE><CODE>
-<PRE>
-typedef void (*TimerCb)(TimerId id, void *data, unsigned long delta);
-</PRE>
-</CODE></BLOCKQUOTE>
-<P>
-<P>
-<H2><A NAME="ss5.2">5.2 Adding Ivy to another main loop</A>
-</H2>
-
-<H3>Functions to be provided</H3>
-
-<P>You can decide to use the main loop from another toolkit such as the X Toolkit
-or the Tk toolkit. If you do that, you'll have to define three functions that
-Ivy will use to get its own channels managed by the other toolkit. The three
-following global variables should be defined:
-<BLOCKQUOTE><CODE>
-<PRE>
-ChannelInit channel_init;
-ChannelSetUp channel_setup;
-ChannelClose channel_close;
-</PRE>
-</CODE></BLOCKQUOTE>
-<P>They should point to functions that respectively:
-<UL>
-<LI> make the necessary global initializations before entering the main loop</LI>
-<LI> initialize a channel and ensure that it is managed by the main loop</LI>
-<LI> close a channel</LI>
-</UL>
-<P>
-<P>The types <CODE>ChannelInit</CODE>, <CODE>ChannelSetUp</CODE> and <CODE>ChannelClose</CODE> are defined
-as follows:
-<P>
-<BLOCKQUOTE><CODE>
-<PRE>
-typedef void (*ChannelInit)(void);
-typedef Channel (*ChannelSetUp)(
- HANDLE fd,
- void *data,
- ChannelHandleDelete handle_delete,
- ChannelHandleRead handle_read);
-typedef void (*ChannelClose)( Channel channel );
-</PRE>
-</CODE></BLOCKQUOTE>
-<P>
-<P>
-<H3>Type to be defined</H3>
-
-<P>In order to implement the three previous functions, you will need to define the
-hidden type <CODE>struct _channel</CODE> (the type <CODE>Channel</CODE> is defined as <CODE>struct _channel*</CODE>). Use it to store the data provided by the other toolkit.
-<P>
-<H3>Overriding the Ivy main loop</H3>
-
-<P>In order to override the default definition of the three previous variables, you
-will need:
-<UL>
-<LI> either to create a new library by replacing file <CODE>ivyloop.o</CODE> with the file
-that contains your definitions</LI>
-<LI> or ...</LI>
-</UL>
-<P>
-<P>
-<P>
-<P>
-<P>
-<P>
-<HR>
-<A HREF="ivy-c-6.html">Next</A>
-<A HREF="ivy-c-4.html">Previous</A>
-<A HREF="ivy-c.html#toc5">Contents</A>
-</BODY>
-</HTML>
diff --git a/doc/ivy-c-6.html b/doc/ivy-c-6.html
deleted file mode 100644
index c85da04..0000000
--- a/doc/ivy-c-6.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
- <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.7">
- <TITLE>The Ivy C library guide: Conventions for writing applications</TITLE>
- <LINK HREF="ivy-c-5.html" REL=previous>
- <LINK HREF="ivy-c.html#toc6" REL=contents>
-</HEAD>
-<BODY>
-Next
-<A HREF="ivy-c-5.html">Previous</A>
-<A HREF="ivy-c.html#toc6">Contents</A>
-<HR>
-<H2><A NAME="s6">6. Conventions for writing applications</A></H2>
-<H3>6.1 Default bus</H3>
-By default, the bus used is <em><strong>127.255.255.255:2010 </em></strong> ie the application will be connected on the port 2010 of the local machine it runs on.</p>
-<P>You can set the bus to be used by setting the environment variable <CODE>IVYBUS</CODE> or by implementing the option <CODE>-b</CODE> in the application.</P>
-<P>
-<H3>6.2 Connexion to ivy</h3>
-<p>By convention, the message <em> application-name READY </em> is to be used when initializing the connexion to ivy.
-<p>Example:
-<p><CODE>IvyInit ("TOTO", "TOTO READY",...)</CODE>
-<H3>6.3 Syntax of messages</h3>
-The syntax of the messages exchanged is totally free. However, the following convention is recommended:
-<menu>
-<li>The message syntax is <CODE>Subject Attributes</CODE></li>
-<li>A Subject is an object, named in a hierarchical form: <CODE>ObjectClass1:object1.ObjectClass2:object2...</CODE></li>
-<li>Attributes are pairs <CODE>(attribute-name, value)</CODE></li>
-</menu>
-Example:
-<p><CODE>AIRCRAFT:LIB720 Moved lat=46.1697 lon=2.0844 vx=-36 vy=-463 afl=330 rate=0 heading=184 ground_speed=465
-mach_speed=0 tendance=0 time=24600 cfl=330</CODE>
-<HR>
-Next
-<A HREF="ivy-c-5.html">Previous</A>
-<A HREF="ivy-c.html#toc6">Contents</A>
-</BODY>
-</HTML>
diff --git a/doc/ivy-c.html b/doc/ivy-c.html
deleted file mode 100644
index 3296ce6..0000000
--- a/doc/ivy-c.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
-<HTML>
-<HEAD>
- <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.7">
- <TITLE>The Ivy C library guide</TITLE>
- <LINK HREF="ivy-c-1.html" REL=next>
-
-
-</HEAD>
-<BODY>
-<A HREF="ivy-c-1.html">Next</A>
-Previous
-Contents
-<HR>
-<H1>The Ivy C library guide</H1>
-
-<H2>Stéphane Chatty, <CODE>chatty@cena.dgac.fr</CODE></H2>1 April 1999
-<P><HR>
-<EM>This document is a programmer's guide that describes how to use the Ivy C
-library to connect applications to an Ivy bus. This guide describes version 3.0
-of the library.</EM>
-<HR>
-<P>
-<H2><A NAME="toc1">1.</A> <A HREF="ivy-c-1.html">General information</A></H2>
-
-<UL>
-<LI><A HREF="ivy-c-1.html#ss1.1">1.1 What is Ivy?</A>
-<LI><A HREF="ivy-c-1.html#ss1.2">1.2 The Ivy C library</A>
-</UL>
-<P>
-<H2><A NAME="toc2">2.</A> <A HREF="ivy-c-2.html">Getting and installing the Ivy C library</A></H2>
-
-<UL>
-<LI><A HREF="ivy-c-2.html#ss2.1">2.1 Installing RedHat or Debian packages</A>
-<LI><A HREF="ivy-c-2.html#ss2.2">2.2 Getting and compiling the sources</A>
-</UL>
-<P>
-<H2><A NAME="toc3">3.</A> <A HREF="ivy-c-3.html">Basic functions</A></H2>
-
-<UL>
-<LI><A HREF="ivy-c-3.html#ss3.1">3.1 Initialization and main loop</A>
-<LI><A HREF="ivy-c-3.html#ss3.2">3.2 Emitting messages</A>
-<LI><A HREF="ivy-c-3.html#ss3.3">3.3 Subscribing to messages</A>
-<LI><A HREF="ivy-c-3.html#ss3.4">3.4 Example</A>
-</UL>
-<P>
-<H2><A NAME="toc4">4.</A> <A HREF="ivy-c-4.html">Advanced functions</A></H2>
-
-<UL>
-<LI><A HREF="ivy-c-4.html#ss4.1">4.1 Utilities</A>
-<LI><A HREF="ivy-c-4.html#ss4.2">4.2 Direct messages</A>
-</UL>
-<P>
-<H2><A NAME="toc5">5.</A> <A HREF="ivy-c-5.html">Managing timers and other channels</A></H2>
-
-<UL>
-<LI><A HREF="ivy-c-5.html#ss5.1">5.1 Adding channels and timers to the Ivy main loop</A>
-<LI><A HREF="ivy-c-5.html#ss5.2">5.2 Adding Ivy to another main loop</A>
-</UL>
-<P>
-<H2><A NAME="toc6">6.</A> <A HREF="ivy-c-6.html">Conventions for writing applications</A></H2>
-
-<HR>
-<A HREF="ivy-c-1.html">Next</A>
-Previous
-Contents
-</BODY>
-</HTML>
diff --git a/doc/man-ivy-c.html b/doc/man-ivy-c.html
deleted file mode 100644
index 067350a..0000000
--- a/doc/man-ivy-c.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>c - a software bus library</TITLE>
-</HEAD>
-<BODY>
-<!-- Ivy, C interface \- library managing connexions to a software bus-->
-<!-- Copyright (C) 1997-1999-->
-<!-- Centre d'Études de la Navigation Aérienne-->
-<!-- See the file "license.terms" for information on usage and redistribution-->
-<!-- of this file, and for a DISCLAIMER OF ALL WARRANTIES.-->
-<!-- -->
-<!-- -->
-<!-- # Start an argument description-->
-<!-- # define tabbing values for .AP-->
-<!-- # BS - start boxed text-->
-<!-- # ^y = starting y location-->
-<!-- # ^b = 1-->
-<H2><A NAME=NAME>NAME</A></H2>
-ivy-c - a software bus library
-<H2><A NAME=SYNOPSIS>SYNOPSIS</A></H2>
-Ivy-c provides a useful set of C library functions for communicating between different
-processes through a software bus
-<H2><A NAME=DESCRIPTION>DESCRIPTION</A></H2>
-Ivy is a software bus, ie a system that allows any software component to freely exchange data.
-The basic principle of a software bus is to ease the rapid implementation of new agents, and to manage a dynamic collection of agents on the bus: agents connect, send and receive messages, and disconnect without perturbing the overall functionment of the bus.
-Each time an application initializes a connection on the bus, a
-"ready" message is sent to all other applications already connected, and the
-list of the messages subscribed by this application is dispatched.
-The format for the messages is free.
-<BR>
-The essential functions of Ivy are:
-<BR>
-<I>Connexion</I>
-<BR>
-<I>Message</I>
-<BR>
-<I>Message</I>
-<BR>
-<I>Main</I>
-
-<H2><A NAME=FILES>FILES</A></H2>
-<I>/usr/include/ivy.h</I>
-<BR>
-<I>/usr/include/ivyloop.h</I>
-<BR>
-<I>/usr/include/ivysocket.h</I>
-<H2><A NAME=ENVIRONMENT>ENVIRONMENT</A></H2>
-<I>IVYBUS</I>
-<BR>
-<I>IVYDOMAINS</I>
-<H2><A NAME=DIAGNOSTICS>DIAGNOSTICS</A></H2>
-error messages displayed
-<H2><A NAME=BUGS>BUGS</A></H2>
-none reported yet!
-<H2><A NAME=AUTHORS>AUTHORS</A></H2>
-<BR>
-Francois-Regis Colin &lt;fcolin@cenatoulouse.dgac.fr&gt;
-<BR>
-Stephane Chatty &lt;chatty@cenatoulouse.dgac.fr&gt;
-<H2><A NAME=Section0>SEE ALSO</A></H2>
-ivyprobe (1)
-ivy-c-functions (1)
-<P>
-For further details, please refer to the Ivy html page at http://www.cenatls.cena.dgac.fr/pii/produits/Ivy.html
-<H2><A NAME=NOTES>NOTES</A></H2>
-In case of any comment or bug report on this library, please contact
-fcolin@cenatoulouse.dgac.fr, chatty@cenatoulouse.dgac.fr, jacomi@cenatoulouse.dgac.fr
-
-</BODY>
-</HTML>