diff options
Diffstat (limited to 'doc/ivy-c.1')
-rw-r--r-- | doc/ivy-c.1 | 218 |
1 files changed, 17 insertions, 201 deletions
diff --git a/doc/ivy-c.1 b/doc/ivy-c.1 index 4912340..14aed08 100644 --- a/doc/ivy-c.1 +++ b/doc/ivy-c.1 @@ -42,216 +42,29 @@ '\" # BS - start boxed text '\" # ^y = starting y location '\" # ^b = 1 -.TH Ivy-c-3.0 1 3.0 "Ivy-c-3.0 Library Functions" +.TH Ivy-c-3.0 1 3.0 "Ivy-c-3.0 Interface" .SH NAME -IvyInit, IvyStart, IvyStop, IvyBindMsg, IvyUnbindMsg, IvyBindDirectMsg, -IvySendMsg, IvySendDirectMsg, IvySendDieMsg, IvySendError, IvyGetApplicationName, -IvyGetApplicationHost, IvyGetApplication, IvyGetApplicationList, -IvyGetApplicationMessages, IvyDefaultApplicationCallback, IvyClasses, -IvyChannelInit, IvyChannelSetUp, IvyMainLoop, IvyChannelClose, -IvyChannelDelete, IvyChannelHandleRead, -IvyChannelHandleExcpt, IvyXtChannelInit, IvyXtChannelSetUp -IvyXtChannelClose, IvyXtHandleChannelRead, IvyXtHandleChannelDelete, -IvyXtChannelAppContext, +ivy-c - a software bus library .SH SYNOPSIS -useful set of library functions for communicating between different +Ivy-c provides a useful set of C library functions for communicating between different processes through a software bus -.nf -.sp -\fBIvyInit(\fIAppName, ready, callback, data, die_callback, die_data\fB)\fR -.sp -void -\fBIvyStart(\fIbus\fB)\fR -.sp -void -\fBIvyStop()\fR -.sp -MsgRcvPtr -\fBIvyBindMsg(\fIcallback, user_data, regexp, ...\fB)\fR -.sp -void -\fBIvyUnbindMsg(\fIid\fB)\fR -.sp -void -\fBIvyBindDirectMsg(\fIcallback, user_data\fB)\fR -.sp -int -\fBIvySendMsg(\fIfmt_message, ...\fB)\fR -.sp -void -\fBIvySendDirectMsg(\fIapp, id, msg\fB)\fR -.sp -void -\fBIvySendDieMsg(\fIapp\fB)\fR -.sp -void -\fBIvySendError(\fIapp, id, fmt, ...\fB)\fR -.sp -char* -\fBIvyGetApplicationName(\fIapp\fB)\fR -.sp -char* -\fBIvyGetApplicationHost(\fIapp\fB)\fR -.sp -char* -\fBIvyGetApplication(\fIname\fB)\fR -.sp -char* -\fBIvyGetApplicationList()\fR -.sp -char** -\fBIvyGetApplicationMessages(\fapp\fB)\fR -.sp -char* -\fBIvyDefaultApplicationCallback(\fIapp, user_data, Event\fB)\fR -char* -\fBIvyClasses(\fIargc, argv\fB)\fR -.sp -void -\fBIvyChannelInit(\fIvoid\fB)\fR -.sp -Channel -\fBIvyChannelSetUp(\fIfd, data, handle_delete, handle_read\fB)\fR -.sp -void -\fBIvyMainLoop(\fIhook\fB)\fR -.sp -void -\fBIvyChannelClose(\fIchannel\fB)\fR -.sp -static void -\fBIvyChannelDelete(\fIchannel\fB)\fR -.sp -static void -\fBIvyChannelHandleRead(\fIcurrent\fB)\fR -.sp -static void -\fBIvyChannelHandleExcpt(\fIcurrent\fB)\fR -.sp -static void -\fBIvyXtChannelInit(\fIvoid\fB)\fR -.sp -static void -\fBIvyXtChannelSetUp(\fIfd, data, handle_delete, handle_read\fB)\fR -.sp -void -\fBIvyXtChannelClose(\fIchannel\fB)\fR -.sp -static void -\fBIvyXtHandleChannelRead(\fIclosure, source, id\fB)\fR -.sp -static void -\fBIvyXtHandleChannelDelete(\fIclosure, source, id\fB)\fR -.sp -void -\fBIvyChannelAppContext(\fIcntx\fB)\fR -.SH ARGUMENTS -Only main functions are detailed in this section -.SH -\fBIvyInit\fR: -Initialisation of a connection -.sp -.AS "MaxSize" die_callback -.AP const_char *AppName in -Application Name -.AP const_char *ready in -Ready Message (can be NULL) -.AP IvyApplicationCallback callback in -Callback to be called on a connexion/deconnexion of an application -.AP void *data in -user data -.AP IvyDieCallback die_callback in -last change callback before die -.AP void *die_data in -user data -.SH Example: -\fBIvyInit ("PLN-SERVER", "PLN-READY", NULL, NULL, NULL);\fR -.SH -\fBIvyStart\fR: -Initialisation of TCP/UPD port and sending of a broadcast handshake on every network -.AP const_char *bus in -Bus to be used (format : network list followed by broadcast port). -.SH Example: -the given bus can be a string like 123.231,123.123:2000 or 123.231 or -:2000. If no argument is specified, then the environment variable -\fBIVYBUS\fR is checked, else the default value : 127.255.255.255:2010 -is used (broadcast on the local machine). -.nf -\fBIvyStart ("143.196.53.255:2001");\fR -.SH -\fBIvyBindMsg\fR: -Message binding -.AP MsgCallback callback in -.AP void *user_data in -.AP const_char *regexp in -.AP MsgRcvPtr id out -.SH Example: -\fBIvyBindMsg (StartTimeCallback, 0, "^CLOCK Start time=(.*)");\fR -.nf -In this example the function \fBStartTimeCallback\fR will be called -each time the string \fBCLOCK Start time=(.*)\fR will be emitted on -the bus. -.SH -\fBIvyUnbindMsg\fR: -Message unbinding -.AP MsgRcvPtr id in -ident of the message to unbind -.SH -\fBIvySendMsg\fR: -Sending a message -.AP const_char* fmt in -String to be sent on the bus -.SH Example: -\fBIvySendMsg ("SECTOR:%s.AIRCRAFT:%s Entered", sectorname, pln->indicatif);\fR -.SH -\fBIvyChannelSetUp\fR: -.AP HANDLE fd in -.AP void *data in -.AP ChannelHandleDelete handle_delete in -.AP ChannelHandleRead handle_read in -.AP Channel out out -.SH Example: -\fBIvyChannelSetUp (0, NULL, NULL, HandleStdin);\fR: -.VE -.BE .SH DESCRIPTION -.PP -These functions provide facilities for connecting applications on a -software bus and managing messages exchanges among them. +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. - -.SH EXAMPLE -Connection of the application \fBIVYPROBE\fR on a given bus .nf - -.DS - -#include "ivyloop.h" -#include "ivysocket.h" -#include "ivy.h" - - int main (int argc, char* argv[]){ -/* bus domain and port number to be used */ - const char* bus="127.255.255.255:2010"; -/* initialisation of the connection */ - IvyInit ("IVYPROBE", - bport, - "IVYPROBE READY", - ApplicationCallback, - NULL, - NULL, - NULL); -/* keyboard's inputs management */ - IvyChannelSetUp(0, NULL, NULL, HandleStdin); -/* starting the connection */ - IvyStart (bus); -/* Main loop */ - IvyMainLoop(0); -}; -.DE +The essential functions of Ivy are: +.nf +.I Connexion +.nf +.I Message sending +.nf +.I Message subscription +.nf +.I Main loop .SH FILES .I /usr/include/ivy.h @@ -268,10 +81,13 @@ error messages displayed .SH BUGS none reported yet! .SH AUTHORS +.nf Francois-Regis Colin <fcolin@cenatoulouse.dgac.fr> +.nf Stephane Chatty <chatty@cenatoulouse.dgac.fr> .SH SEE ALSO ivyprobe (1) +ivy-c-functions (1) .sp For further details, please refer to the Ivy html page at http://www.cenatls.cena.dgac.fr/pii/produits/Ivy.html .SH NOTES |