Hi

Below are some changes I needed to compile corosync.

Note: 
-services wasn't getting compiled.
-You will probably want to keep your version of the coroapi.h

Regards
Angus


---
 corosync/Makefile          |   24 ++----
 corosync/Makefile.inc      |    1 +
 corosync/exec/Makefile     |    9 +-
 corosync/exec/mainconfig.h |    2 +-
 corosync/exec/totem.h      |    2 +
 corosync/include/confdb.h  |    3 +-
 corosync/include/coroapi.h |  145 +++++++++++++++++++++++++++++++
 corosync/lib/Makefile      |   31 +++++--
 corosync/services/Makefile |    5 +-
 corosync/services/cfg.c    |   18 ++--
 corosync/services/confdb.c |   49 ++++++-----
 corosync/services/evs.c    |   39 +++++----
 corosync/test/Makefile     |   57 ++++++++++++-
 openais/Makefile           |   64 ++++-----------
 openais/Makefile.inc       |    2 +-
 openais/lib/Makefile       |  117 +++++++++++++++++++++++++
 openais/lib/clm.c          |    2 +-
 openais/lib/evt.c          |    2 +-
 openais/services/Makefile  |  202 +-------------------------------------------
 openais/services/amf.c     |    4 +-
 20 files changed, 441 insertions(+), 337 deletions(-)
 create mode 100644 corosync/include/coroapi.h
 create mode 100644 openais/lib/Makefile

diff --git a/corosync/Makefile b/corosync/Makefile
index f967f27..3a0e7a1 100644
--- a/corosync/Makefile
+++ b/corosync/Makefile
@@ -76,14 +76,14 @@ ifeq (ia64,$(ARCH))
 LIBDIR=$(PREFIX)/lib/openais
 endif
 
-SUBDIRS:=$(builddir)lcr $(builddir)lib $(builddir)exec $(builddir)test
+SUBDIRS:=$(builddir)lcr $(builddir)lib $(builddir)exec $(builddir)test 
$(builddir)services
 sub_make = srcdir=$(srcdir) builddir=$(builddir) subdir=$(1)/ $(MAKE) 
-I$(srcdir)$(1) -f $(srcdir)$(1)/Makefile $(2)
 
 all: $(SUBDIRS)
        @(cd $(builddir)lcr; echo ==== `pwd` ===;  $(call sub_make,lcr,all));
        @(cd $(builddir)lib; echo ==== `pwd` ===;  $(call sub_make,lib,all));
        @(cd $(builddir)exec; echo ==== `pwd` ===; $(call sub_make,exec,all));
-       @(cd $(builddir)services; echo ==== `pwd` ===; $(call 
sub_make,exec,all));
+       @(cd $(builddir)services; echo ==== `pwd` ===; $(call 
sub_make,services,all));
        @(cd $(builddir)test; echo ==== `pwd` ===; $(call sub_make,test,all));
 
 # subdirs are not phony
@@ -122,15 +122,14 @@ clean:
        (cd $(builddir)lcr; echo ==== `pwd` ===; $(call sub_make,lcr,clean));
        (cd $(builddir)lib; echo ==== `pwd` ===; $(call sub_make,lib,clean));
        (cd $(builddir)exec; echo ==== `pwd` ===; $(call sub_make,exec,clean));
+       (cd $(builddir)services; echo ==== `pwd` ===; $(call 
sub_make,services,clean));
        (cd $(builddir)test; echo ==== `pwd` ===; $(call sub_make,test,clean));
        rm -rf $(builddir)doc/api
 
-AIS_LIBS       = ais SaAmf SaClm SaCkpt SaEvt SaLck SaMsg evs cpg \
-                 cfg aisutil confdb
+AIS_LIBS       = evs cpg cfg coroutil confdb
 
-AIS_HEADERS    = saAis.h saAmf.h saClm.h saCkpt.h saEvt.h saEvt.h saLck.h \
-                 saMsg.h cpg.h cfg.h evs.h ipc_gen.h mar_gen.h swab.h     \
-                 ais_util.h confdb.h
+AIS_HEADERS    = cpg.h cfg.h evs.h ipc_gen.h mar_gen.h swab.h \
+                 ais_util.h confdb.h list.h
 
 EXEC_LIBS      = totem_pg logsys
 
@@ -184,21 +183,14 @@ install: all
        echo $(LIBDIR) > "$(DESTDIR)$(ETCDIR)/ld.so.conf.d/openais-$(ARCH).conf"
 
        install -m 755 $(builddir)exec/*lcrso $(DESTDIR)$(LCRSODIR)
-       install -m 755 $(builddir)exec/aisexec $(DESTDIR)$(SBINDIR)
+       install -m 755 $(builddir)exec/corosync $(DESTDIR)$(SBINDIR)
        install -m 700 $(builddir)exec/keygen $(DESTDIR)$(SBINDIR)/ais-keygen
 
-       if [ ! -f $(DESTDIR)$(ETCDIR)/ais/openais.conf ] ; then            \
-               install -m 644 $(srcdir)conf/openais.conf 
$(DESTDIR)$(ETCDIR)/ais ; \
-       fi
-       if [ ! -f $(DESTDIR)$(ETCDIR)/ais/amf.conf ] ; then             \
-               install -m 644 $(srcdir)conf/amf.conf $(DESTDIR)$(ETCDIR)/ais ; 
\
-       fi
-
        for aHeader in $(AIS_HEADERS); do                               \
            install -m 644 $(srcdir)include/$$aHeader $(DESTDIR)$(INCLUDEDIR);  
\
        done
 
-       install -m 644 $(srcdir)exec/aispoll.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
+       install -m 644 $(srcdir)exec/coropoll.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
        install -m 644 $(srcdir)exec/totempg.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
        install -m 644 $(srcdir)exec/totem.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
        install -m 644 $(srcdir)exec/totemip.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
diff --git a/corosync/Makefile.inc b/corosync/Makefile.inc
index 3d43ba6..3118097 100644
--- a/corosync/Makefile.inc
+++ b/corosync/Makefile.inc
@@ -110,4 +110,5 @@ endif
 endif
 
 VPATH:=. $(srcdir) $(srcdir)$(subdir)
+override CFLAGS += -I$(srcdir)include -I$(srcdir)$(subdir)
 
diff --git a/corosync/exec/Makefile b/corosync/exec/Makefile
index 19b9527..db9b240 100644
--- a/corosync/exec/Makefile
+++ b/corosync/exec/Makefile
@@ -32,10 +32,11 @@
 # Include configuration
 #
 srcdir ?= $(CURDIR)/../
+subdir ?= exec/
 
 include $(srcdir)Makefile.inc
 
-override CFLAGS += -I$(srcdir)include
+#override CFLAGS += -I$(srcdir)include
 LDFLAGS += -L./
 
 ifeq (${BUILD_DYNAMIC}, 1) 
@@ -73,7 +74,7 @@ ifeq (${BUILD_DYNAMIC}, 1)
 EXEC_OBJS = $(MAIN_OBJS)
 override CFLAGS += -fPIC
 
-all:libtotem_pg.a libtotem_pg.so.2.0.0 liblogsys.a liblogsys.so.2.0.0 \
+all: libtotem_pg.a libtotem_pg.so.2.0.0 liblogsys.a liblogsys.so.2.0.0 \
        ../lcr/lcr_ifact.o corosync \
        objdb.lcrso vsf_ykd.lcrso coroparse.lcrso keygen
 else
@@ -145,8 +146,8 @@ depend:
        makedepend -Y -- $(CFLAGS) $(CPPFLAGS) $(EXEC_SRC) $(TOTEM_SRC) 
$(LOGSYS_SRC) $(LCR_SRC) > /dev/null 2>&1
 
 # - fPIC rules required for service handler shared objects
-../lcr/lcr_ifact.o: ../lcr/lcr_ifact.c
-       $(CC) $(CFLAGS) $(CPPFLAGS) -DPREFIX='"$(PREFIX)"' 
-DLCRSODIR='"$(LCRSODIR)"' -I../lcr -c -o $@ ../lcr/lcr_ifact.c
+../lcr/lcr_ifact.o: $(srcdir)lcr/lcr_ifact.c
+       $(CC) $(CFLAGS) $(CPPFLAGS) -DPREFIX='"$(PREFIX)"' 
-DLCRSODIR='"$(LCRSODIR)"' -I../lcr -c -o $@ $<
 
 vsf_ykd.o: vsf_ykd.c
        $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
diff --git a/corosync/exec/mainconfig.h b/corosync/exec/mainconfig.h
index b7d58db..eff9b82 100644
--- a/corosync/exec/mainconfig.h
+++ b/corosync/exec/mainconfig.h
@@ -45,7 +45,7 @@ struct dynamic_service {
        char *name;
        unsigned int ver;
        unsigned int handle;
-       struct openais_service_engine_iface_ver0 *iface_ver0;
+       struct corosync_service_engine_iface_ver0 *iface_ver0;
 };
 #define MAX_DYNAMIC_SERVICES 128
 
diff --git a/corosync/exec/totem.h b/corosync/exec/totem.h
index 582dc5e..160392d 100644
--- a/corosync/exec/totem.h
+++ b/corosync/exec/totem.h
@@ -43,6 +43,8 @@
 #define SEND_THREADS_MAX       16
 #define INTERFACE_MAX          2
 
+#define TOTEM_SAFE 1
+#define TOTEM_AGREED 2
 /*
  * Array location of various timeouts as
  * specified in openais.conf.  The last enum
diff --git a/corosync/include/confdb.h b/corosync/include/confdb.h
index 831d982..0eda3dd 100644
--- a/corosync/include/confdb.h
+++ b/corosync/include/confdb.h
@@ -62,7 +62,7 @@ typedef enum {
        CONFDB_ERR_EXIST = 14,
        CONFDB_ERR_CONTEXT_NOT_FOUND = 17,
        CONFDB_ERR_NOT_SUPPORTED = 20,
-       CONFDB_ERR_SECURITY = 29,
+       CONFDB_ERR_SECURITY = 29
 } confdb_error_t;
 

@@ -141,6 +141,7 @@ confdb_error_t confdb_object_create (
        int object_name_len,
        unsigned int *object_handle);
 
+
 confdb_error_t confdb_object_destroy (
        confdb_handle_t handle,
        unsigned int object_handle);
diff --git a/corosync/include/coroapi.h b/corosync/include/coroapi.h
new file mode 100644
index 0000000..8d527e8
--- /dev/null
+++ b/corosync/include/coroapi.h
@@ -0,0 +1,145 @@
+/**
+ * @file coroapi.h
+ *
+ * Copyright 2007, Allied Telesis Labs, New Zealand
+ *
+ * All rights reserved.
+ *
+ * Author: Angus Salkeld ([EMAIL PROTECTED])
+ *
+ * This software licensed under BSD license, the text of which follows:
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * - Redistributions of source code must retain the above copyright notice,
+ *   this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright notice,
+ *   this list of conditions and the following disclaimer in the documentation
+ *   and/or other materials provided with the distribution.
+ * - Neither the name of the MontaVista Software, Inc. nor the names of its
+ *   contributors may be used to endorse or promote products derived from this
+ *   software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+#ifndef COROSYNC_COROAPI_H_DEFINED
+#define COROSYNC_COROAPI_H_DEFINED
+
+#include "ipc.h"
+#include "objdb.h"
+#include "totemip.h"
+#include "totem.h"
+
+#define SERVICE_ID_MAKE(a,b) ( ((a)<<16) | (b) )
+#define SERVICE_HANDLER_MAXIMUM_COUNT 64
+
+enum corosync_lib_flow_control {
+       COROSYNC_LIB_FLOW_CONTROL_REQUIRED = 1,
+       COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED = 2
+};
+
+struct corosync_lib_handler {
+       void (*lib_handler_fn) (void *conn, void *msg);
+       int response_size;
+       int response_id;
+       enum corosync_lib_flow_control flow_control;
+};
+
+struct corosync_api_v1 {
+       int (*timer_add_duration) (unsigned long long nanosec_duration, void 
*data, void (*timer_fn) (void *data),      timer_handle *handle);
+       int (*timer_add_absolute) (unsigned long long nanosec_from_epoch,
+                                                          void *data,
+                                                          void (*timer_fn) 
(void *data),
+                                                          timer_handle 
*handle);
+       void (*timer_delete) (timer_handle timer_handle);
+       void * timer_time_get;
+       void (*ipc_source_set) (mar_message_source_t *source, void *conn);
+       int (*ipc_source_is_local)(mar_message_source_t *source);
+       void * (*ipc_private_data_get) (void *conn);
+       void * ipc_response_send;
+       void * ipc_dispatch_send;
+       int (*conn_send_response) (void *conn, void *msg, int mlen);
+       void * (*conn_partner_get) (void *conn);
+       void (*ipc_refcnt_inc) (void *conn);
+       void (*ipc_refcnt_dec) (void *conn);
+       void (*ipc_fc_create) (void *conn,
+                                                  unsigned int service,
+                                                  char *id,
+                                                  int id_len,
+                                                  void 
(*flow_control_state_set_fn) (void *conn, enum corosync_flow_control_state),
+                                                  void *context);
+       void (*ipc_fc_destroy) (void *conn,
+                                                       unsigned int service,
+                                                       unsigned char *id,
+                                                       int id_len);
+       int (*totem_nodeid_get)(void);
+       int (*totem_ring_reenable)(void);
+       int (*totem_mcast) (struct iovec *iovec,
+                                               int iov_len,
+                                               unsigned int guarantee);
+       unsigned int (*service_link_and_init) (struct objdb_iface_ver0 *objdb,
+                                                                               
   char *service_name,
+                                                                               
   unsigned int service_ver);
+       unsigned int (*service_unlink_and_exit) (struct objdb_iface_ver0 *objdb,
+                                                                               
         char *service_name,
+                                                                               
         unsigned int service_ver);
+       int (*totem_ifaces_get) (unsigned int nodeid,
+                                                        struct 
totem_ip_address *interfaces,
+                                                        char ***status,
+                                                        unsigned int 
*iface_count);
+       char *(*totem_ifaces_print) (unsigned int nodeid);
+       const char *(*totem_ip_print)(struct totem_ip_address *addr);
+       void * error_memory_failure;
+};
+
+struct corosync_exec_handler {
+       void (*exec_handler_fn) (void *msg, unsigned int nodeid);
+       void (*exec_endian_convert_fn) (void *msg);
+};
+
+struct corosync_service_engine {
+       char *name;
+       unsigned short id;
+       unsigned int private_data_size;
+       enum corosync_lib_flow_control flow_control;
+       int (*lib_init_fn) (void *conn);
+       int (*lib_exit_fn) (void *conn);
+       struct corosync_lib_handler *lib_engine;
+       int lib_engine_count;
+       int (*exec_init_fn) (struct objdb_iface_ver0 *, struct 
corosync_api_v1*);
+       int (*exec_exit_fn) (struct objdb_iface_ver0 *);
+       int (*config_init_fn) (struct objdb_iface_ver0 *);
+       void (*exec_dump_fn) (void);
+       void (*confchg_fn) (
+               enum totem_configuration_type configuration_type,
+               unsigned int *member_list, int member_list_entries,
+               unsigned int *left_list, int left_list_entries,
+               unsigned int *joined_list, int joined_list_entries,
+               struct memb_ring_id *ring_id);
+       struct corosync_exec_handler * exec_engine;
+       int exec_engine_count;
+       void (*sync_init) (void);
+       int (*sync_process) (void);
+       void (*sync_activate) (void);
+       void (*sync_abort) (void);
+};
+
+struct corosync_service_engine_iface_ver0 {
+       void (*test) (void);
+       struct corosync_service_engine *(*corosync_get_service_engine_ver0) 
(void);
+};
+
+#endif /* COROSYNC_COROAPI_H_DEFINED */
+
diff --git a/corosync/lib/Makefile b/corosync/lib/Makefile
index 7c54328..683a45b 100644
--- a/corosync/lib/Makefile
+++ b/corosync/lib/Makefile
@@ -34,7 +34,6 @@ srcdir ?= $(CURDIR)/../
 
 include $(srcdir)Makefile.inc
 
-
 override CFLAGS += -I$(srcdir)include
 override LDFLAGS += -L./
 
@@ -68,22 +67,34 @@ libcfg.so.2.0.0: util.o cfg.o
 libcpg.so.2.0.0: util.o cpg.o
        $(CC) $(DARWIN_OPTS) util.o cpg.o -o $@
 
+libSaClm.so.2.0.0: util.o clm.o
+       $(CC) $(LDFLAGS) -bundle -bind_at_load util.o clm.o -o $@
+
+libSaMsg.so.2.0.0: util.o msg.o
+       $(CC) $(LDFLAGS) -bundle -bind_at_load util.o msg.o -o $@
+
 else
 
 libcoroutil.so.2.0.0: util.o
-       $(CC) $(LDFLAGS) -shared 
-Wl,-soname,libcoroutil.so.2,-version-script=libcoroutil.versions util.o -o $@
+       $(CC) $(LDFLAGS) -shared 
-Wl,-soname,libcoroutil.so.2,-version-script=$(srcdir)$(subdir)libcoroutil.versions
 util.o -o $@
 
 libevs.so.2.0.0: util.o evs.o
-       $(CC) $(LDFLAGS) -shared 
-Wl,-soname,libevs.so.2,-version-script=libevs.versions util.o evs.o -o $@
+       $(CC) $(LDFLAGS) -shared 
-Wl,-soname,libevs.so.2,-version-script=$(srcdir)$(subdir)libevs.versions 
util.o evs.o -o $@
 
 libcpg.so.2.0.0: util.o cpg.o
-       $(CC) -shared -Wl,-soname,libcpg.so.2,-version-script=libcpg.versions 
util.o cpg.o -o $@
+       $(CC) -shared 
-Wl,-soname,libcpg.so.2,-version-script=$(srcdir)$(subdir)libcpg.versions 
util.o cpg.o -o $@
 
 libconfdb.so.2.0.0: util.o confdb.o sa-confdb.o ../lcr/lcr_ifact.o
-       $(CC) $(LDFLAGS) -shared 
-Wl,-soname,libconfdb.so.2,-version-script=libconfdb.versions util.o confdb.o 
sa-confdb.o ../lcr/lcr_ifact.o -o $@
+       $(CC) $(LDFLAGS) -shared 
-Wl,-soname,libconfdb.so.2,-version-script=$(srcdir)$(subdir)libconfdb.versions 
util.o confdb.o sa-confdb.o ../lcr/lcr_ifact.o -o $@
 
 libcfg.so.2.0.0: util.o cfg.o
-       $(CC) -shared -Wl,-soname,libcfg.so.2,-version-script=libcfg.versions 
util.o cfg.o -o $@
+       $(CC) -shared 
-Wl,-soname,libcfg.so.2,-version-script=$(srcdir)$(subdir)libcfg.versions 
util.o cfg.o -o $@
+
+libSaClm.so.2.0.0: util.o clm.o
+       $(CC) $(LDFLAGS) -shared 
-Wl,-soname,libSaClm.so.2,-version-script=libSaClm.versions util.o clm.o -o $@
+
+libSaMsg.so.2.0.0: util.o msg.o
+       $(CC) $(LDFLAGS) -shared 
-Wl,-soname,libSaMsg.so.2,-version-script=libSaMsg.versions util.o msg.o -o $@
 
 endif
 
@@ -99,8 +110,14 @@ libconfdb.a: util.o confdb.o sa-confdb.o
 libcfg.a: util.o cfg.o
        $(AR) -rc libcfg.a util.o cfg.o
 
+libSaClm.a: util.o clm.o
+       $(AR) -rc libSaClm.a util.o clm.o
+
+libSaMsg.a: util.o msg.o
+       $(AR) -rc libSaMsg.a util.o msg.o
+
 clean:
-       rm -f *.o libcfg.so* ibcoroutil.so* libcoroutil.a \
+       rm -f *.o libcfg.so* libcoroutil.so* libcoroutil.a \
                libevs.so* libevs.a libcpg.so* libcpg.a libcfg.a libconfdb.so* \
                libconfdb.a libconfdb.a \ *.da *.bb *.bbg
  
diff --git a/corosync/services/Makefile b/corosync/services/Makefile
index 2099b89..1c61c45 100644
--- a/corosync/services/Makefile
+++ b/corosync/services/Makefile
@@ -31,10 +31,11 @@
 # Include configuration
 #
 srcdir ?= $(CURDIR)/../
+subdir ?= services/
 
 include $(srcdir)Makefile.inc
 
-override CFLAGS += -I$(srcdir)include
+override CFLAGS += -I$(srcdir)include -I$(srcdir)exec
 LDFLAGS += -L./
 
 ifeq (${BUILD_DYNAMIC}, 1) 
@@ -55,7 +56,7 @@ LCR_OBJS = evs.o cfg.o cpg.o confdb.o $(AMF_OBJS)
 
 override CFLAGS += -fPIC
 
-all: service_evs.lcrso ervice_cfg.lcrso service_cpg.lcrso service_confdb.lcrso
+all: service_evs.lcrso service_cfg.lcrso service_cpg.lcrso service_confdb.lcrso
 
 ifeq (${OPENAIS_COMPAT}, DARWIN)
 
diff --git a/corosync/services/cfg.c b/corosync/services/cfg.c
index 079dd3b..4499303 100644
--- a/corosync/services/cfg.c
+++ b/corosync/services/cfg.c
@@ -181,16 +181,16 @@ static struct corosync_exec_handler cfg_exec_engine[] =
  */
 struct corosync_service_engine cfg_service_engine = {
        .name                                   = "corosync configuration 
service",
-       .id                                     = CFG_SERVICE,
-       .private_data_size                      = 0,
-       .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED, 
-       .lib_init_fn                            = cfg_lib_init_fn,
-       .lib_exit_fn                            = cfg_lib_exit_fn,
+       .id                                             = CFG_SERVICE,
+       .private_data_size              = 0,
+       .flow_control                   = 
COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED,
+       .lib_init_fn                    = cfg_lib_init_fn,
+       .lib_exit_fn                    = cfg_lib_exit_fn,
        .lib_engine                             = cfg_lib_engine,
-       .lib_engine_count                       = sizeof (cfg_lib_engine) / 
sizeof (struct corosync_lib_handler),
-       .exec_init_fn                           = cfg_exec_init_fn,
-       .exec_engine                            = cfg_exec_engine,
-       .exec_engine_count                      = 0, /* sizeof 
(cfg_aisexec_handler_fns) / sizeof (coroync_exec_handler), */
+       .lib_engine_count               = sizeof (cfg_lib_engine) / sizeof 
(struct corosync_lib_handler),
+       .exec_init_fn                   = cfg_exec_init_fn,
+       .exec_engine                    = cfg_exec_engine,
+       .exec_engine_count              = 0, /* sizeof 
(cfg_aisexec_handler_fns) / sizeof (coroync_exec_handler), */
        .confchg_fn                             = cfg_confchg_fn,
 };
 
diff --git a/corosync/services/confdb.c b/corosync/services/confdb.c
index da8b85f..0d4a99d 100644
--- a/corosync/services/confdb.c
+++ b/corosync/services/confdb.c
@@ -50,12 +50,13 @@
 #include "service.h"
 #include "ipc.h"
 #include "logsys.h"
+#include "coroapi.h"
 
 LOGSYS_DECLARE_SUBSYS ("CONFDB", LOG_INFO);
 
 static struct objdb_iface_ver0 *global_objdb;
 
-static int confdb_exec_init_fn (struct objdb_iface_ver0 *objdb);
+static int confdb_exec_init_fn (struct objdb_iface_ver0 *objdb, struct 
corosync_api_v1* api);
 
 static int confdb_lib_init_fn (void *conn);
 static int confdb_lib_exit_fn (void *conn);
@@ -82,108 +83,108 @@ static void message_handler_req_lib_confdb_track_stop 
(void *conn, void *message
 /*
  * Library Handler Definition
  */
-static struct openais_lib_handler confdb_lib_service[] =
+static struct corosync_lib_handler confdb_lib_service[] =
 {
        { /* 0 */
                .lib_handler_fn                         = 
message_handler_req_lib_confdb_object_create,
                .response_size                          = sizeof 
(mar_res_header_t),
                .response_id                            = 
MESSAGE_RES_CONFDB_OBJECT_CREATE,
-               .flow_control                           = 
OPENAIS_FLOW_CONTROL_NOT_REQUIRED
+               .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED
        },
        { /* 1 */
                .lib_handler_fn                         = 
message_handler_req_lib_confdb_object_destroy,
                .response_size                          = sizeof 
(mar_res_header_t),
                .response_id                            = 
MESSAGE_RES_CONFDB_OBJECT_DESTROY,
-               .flow_control                           = 
OPENAIS_FLOW_CONTROL_NOT_REQUIRED
+               .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED
        },
        { /* 2 */
                .lib_handler_fn                         = 
message_handler_req_lib_confdb_object_find,
                .response_size                          = sizeof (struct 
res_lib_confdb_object_find),
                .response_id                            = 
MESSAGE_RES_CONFDB_OBJECT_FIND,
-               .flow_control                           = 
OPENAIS_FLOW_CONTROL_NOT_REQUIRED
+               .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED
        },
        { /* 3 */
                .lib_handler_fn                         = 
message_handler_req_lib_confdb_key_create,
                .response_size                          = sizeof 
(mar_res_header_t),
                .response_id                            = 
MESSAGE_RES_CONFDB_KEY_CREATE,
-               .flow_control                           = 
OPENAIS_FLOW_CONTROL_NOT_REQUIRED
+               .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED
        },
        { /* 4 */
                .lib_handler_fn                         = 
message_handler_req_lib_confdb_key_get,
                .response_size                          = sizeof (struct 
res_lib_confdb_key_get),
                .response_id                            = 
MESSAGE_RES_CONFDB_KEY_GET,
-               .flow_control                           = 
OPENAIS_FLOW_CONTROL_NOT_REQUIRED
+               .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED
        },
        { /* 5 */
                .lib_handler_fn                         = 
message_handler_req_lib_confdb_key_replace,
                .response_size                          = sizeof 
(mar_res_header_t),
                .response_id                            = 
MESSAGE_RES_CONFDB_KEY_REPLACE,
-               .flow_control                           = 
OPENAIS_FLOW_CONTROL_NOT_REQUIRED
+               .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED
        },
        { /* 6 */
                .lib_handler_fn                         = 
message_handler_req_lib_confdb_key_delete,
                .response_size                          = sizeof 
(mar_res_header_t),
                .response_id                            = 
MESSAGE_RES_CONFDB_KEY_DELETE,
-               .flow_control                           = 
OPENAIS_FLOW_CONTROL_NOT_REQUIRED
+               .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED
        },
        { /* 7 */
                .lib_handler_fn                         = 
message_handler_req_lib_confdb_object_iter,
                .response_size                          = sizeof (struct 
res_lib_confdb_object_iter),
                .response_id                            = 
MESSAGE_RES_CONFDB_OBJECT_ITER,
-               .flow_control                           = 
OPENAIS_FLOW_CONTROL_NOT_REQUIRED
+               .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED
        },
        { /* 8 */
                .lib_handler_fn                         = 
message_handler_req_lib_confdb_object_parent_get,
                .response_size                          = sizeof (struct 
res_lib_confdb_object_parent_get),
                .response_id                            = 
MESSAGE_RES_CONFDB_OBJECT_PARENT_GET,
-               .flow_control                           = 
OPENAIS_FLOW_CONTROL_NOT_REQUIRED
+               .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED
        },
        { /* 9 */
                .lib_handler_fn                         = 
message_handler_req_lib_confdb_key_iter,
                .response_size                          = sizeof (struct 
res_lib_confdb_key_iter),
                .response_id                            = 
MESSAGE_RES_CONFDB_KEY_ITER,
-               .flow_control                           = 
OPENAIS_FLOW_CONTROL_NOT_REQUIRED
+               .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED
        },
        { /* 10 */
                .lib_handler_fn                         = 
message_handler_req_lib_confdb_track_start,
                .response_size                          = sizeof 
(mar_res_header_t),
                .response_id                            = 
MESSAGE_RES_CONFDB_TRACK_START,
-               .flow_control                           = 
OPENAIS_FLOW_CONTROL_NOT_REQUIRED
+               .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED
        },
        { /* 11 */
                .lib_handler_fn                         = 
message_handler_req_lib_confdb_track_stop,
                .response_size                          = sizeof 
(mar_res_header_t),
                .response_id                            = 
MESSAGE_RES_CONFDB_TRACK_START,
-               .flow_control                           = 
OPENAIS_FLOW_CONTROL_NOT_REQUIRED
+               .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED
        },
        { /* 12 */
                .lib_handler_fn                         = 
message_handler_req_lib_confdb_write,
                .response_size                          = sizeof (struct 
res_lib_confdb_write),
                .response_id                            = 
MESSAGE_RES_CONFDB_WRITE,
-               .flow_control                           = 
OPENAIS_FLOW_CONTROL_NOT_REQUIRED
+               .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED
        },
 };
 

-struct openais_service_handler confdb_service_handler = {
+struct corosync_service_engine confdb_service_handler = {
        .name                                   = "openais cluster config 
database access v1.01",
        .id                                     = CONFDB_SERVICE,
        .private_data_size                      = 0,
-       .flow_control                           = 
OPENAIS_FLOW_CONTROL_NOT_REQUIRED,
+       .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED,
        .lib_init_fn                            = confdb_lib_init_fn,
        .lib_exit_fn                            = confdb_lib_exit_fn,
-       .lib_service                            = confdb_lib_service,
-       .lib_service_count                      = sizeof (confdb_lib_service) / 
sizeof (struct openais_lib_handler),
+       .lib_engine                                     = confdb_lib_service,
+       .lib_engine_count                       = sizeof (confdb_lib_service) / 
sizeof (struct corosync_lib_handler),
        .exec_init_fn                           = confdb_exec_init_fn,
 };
 
 /*
  * Dynamic loader definition
  */
-static struct openais_service_handler *confdb_get_service_handler_ver0 (void);
+static struct corosync_service_engine *confdb_get_service_handler_ver0 (void);
 
-static struct openais_service_handler_iface_ver0 confdb_service_handler_iface 
= {
-       .openais_get_service_handler_ver0               = 
confdb_get_service_handler_ver0
+static struct corosync_service_engine_iface_ver0 confdb_service_handler_iface 
= {
+       .corosync_get_service_engine_ver0               = 
confdb_get_service_handler_ver0
 };
 
 static struct lcr_iface openais_confdb_ver0[1] = {
@@ -206,7 +207,7 @@ static struct lcr_comp confdb_comp_ver0 = {
 };
 

-static struct openais_service_handler *confdb_get_service_handler_ver0 (void)
+static struct corosync_service_engine *confdb_get_service_handler_ver0 (void)
 {
        return (&confdb_service_handler);
 }
@@ -217,7 +218,7 @@ __attribute__ ((constructor)) static void 
confdb_comp_register (void) {
        lcr_component_register (&confdb_comp_ver0);
 }
 
-static int confdb_exec_init_fn (struct objdb_iface_ver0 *objdb)
+static int confdb_exec_init_fn (struct objdb_iface_ver0 *objdb, struct 
corosync_api_v1* api)
 {
        global_objdb = objdb;
        return 0;
diff --git a/corosync/services/evs.c b/corosync/services/evs.c
index 4e74ec2..ca79f21 100644
--- a/corosync/services/evs.c
+++ b/corosync/services/evs.c
@@ -65,6 +65,7 @@
 #include "objdb.h"
 #include "service.h"
 #include "logsys.h"
+#include "coroapi.h"
 
 LOGSYS_DECLARE_SUBSYS ("EVS", LOG_INFO);
 
@@ -75,7 +76,7 @@ enum evs_exec_message_req_types {
 /*
  * Service Interfaces required by service_message_handler struct
  */
-static int evs_exec_init_fn(struct objdb_iface_ver0 *objdb);
+static int evs_exec_init_fn(struct objdb_iface_ver0 *objdb, struct 
corosync_api_v1* api);
 static void evs_confchg_fn (
        enum totem_configuration_type configuration_type,
        unsigned int *member_list, int member_list_entries,
@@ -103,41 +104,41 @@ struct evs_pd {
        void *conn;
 };
        
-static struct openais_lib_handler evs_lib_service[] =
+static struct corosync_lib_handler evs_lib_service[] =
 {
        { /* 0 */
                .lib_handler_fn                         = 
message_handler_req_evs_join,
                .response_size                          = sizeof (struct 
res_lib_evs_join),
                .response_id                            = MESSAGE_RES_EVS_JOIN,
-               .flow_control                           = 
OPENAIS_FLOW_CONTROL_NOT_REQUIRED
+               .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED
        },
        { /* 1 */
                .lib_handler_fn                         = 
message_handler_req_evs_leave,
                .response_size                          = sizeof (struct 
res_lib_evs_leave),
                .response_id                            = MESSAGE_RES_EVS_LEAVE,
-               .flow_control                           = 
OPENAIS_FLOW_CONTROL_NOT_REQUIRED
+               .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED
        },
        { /* 2 */
                .lib_handler_fn                         = 
message_handler_req_evs_mcast_joined,
                .response_size                          = sizeof (struct 
res_lib_evs_mcast_joined),
                .response_id                            = 
MESSAGE_RES_EVS_MCAST_JOINED,
-               .flow_control                           = 
OPENAIS_FLOW_CONTROL_REQUIRED
+               .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_REQUIRED
        },
        { /* 3 */
                .lib_handler_fn                         = 
message_handler_req_evs_mcast_groups,
                .response_size                          = sizeof (struct 
res_lib_evs_mcast_groups),
                .response_id                            = 
MESSAGE_RES_EVS_MCAST_GROUPS,
-               .flow_control                           = 
OPENAIS_FLOW_CONTROL_REQUIRED
+               .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_REQUIRED
        },
        { /* 4 */
                .lib_handler_fn                         = 
message_handler_req_evs_membership_get,
                .response_size                          = sizeof (struct 
res_lib_evs_membership_get),
                .response_id                            = 
MESSAGE_RES_EVS_MEMBERSHIP_GET,
-               .flow_control                           = 
OPENAIS_FLOW_CONTROL_NOT_REQUIRED
+               .flow_control                           = 
COROSYNC_LIB_FLOW_CONTROL_NOT_REQUIRED
        }
 };
 
-static struct openais_exec_handler evs_exec_service[] =
+static struct corosync_exec_handler evs_exec_service[] =
 {
        {
                .exec_handler_fn        = message_handler_req_exec_mcast,
@@ -145,17 +146,17 @@ static struct openais_exec_handler evs_exec_service[] =
        }
 };
 
-struct openais_service_handler evs_service_handler = {
+struct corosync_service_engine evs_service_handler = {
        .name                   = "openais extended virtual synchrony service",
        .id                     = EVS_SERVICE,
        .private_data_size      = sizeof (struct evs_pd),
-       .flow_control           = OPENAIS_FLOW_CONTROL_REQUIRED, 
+       .flow_control           = COROSYNC_LIB_FLOW_CONTROL_REQUIRED,
        .lib_init_fn            = evs_lib_init_fn,
        .lib_exit_fn            = evs_lib_exit_fn,
-       .lib_service            = evs_lib_service,
-       .lib_service_count      = sizeof (evs_lib_service) / sizeof (struct 
openais_lib_handler),
-       .exec_service           = evs_exec_service,
-       .exec_service_count     = sizeof (evs_exec_service) / sizeof (struct 
openais_exec_handler),
+       .lib_engine                     = evs_lib_service,
+       .lib_engine_count       = sizeof (evs_lib_service) / sizeof (struct 
corosync_lib_handler),
+       .exec_engine            = evs_exec_service,
+       .exec_engine_count      = sizeof (evs_exec_service) / sizeof (struct 
corosync_exec_handler),
        .confchg_fn             = evs_confchg_fn,
        .exec_init_fn           = evs_exec_init_fn,
        .exec_dump_fn           = NULL
@@ -167,10 +168,10 @@ static DECLARE_LIST_INIT (confchg_notify);
  * Dynamic loading descriptor
  */
 
-static struct openais_service_handler *evs_get_service_handler_ver0 (void);
+static struct corosync_service_engine *evs_get_service_handler_ver0 (void);
 
-static struct openais_service_handler_iface_ver0 evs_service_handler_iface = {
-       .openais_get_service_handler_ver0       = evs_get_service_handler_ver0
+static struct corosync_service_engine_iface_ver0 evs_service_handler_iface = {
+       .corosync_get_service_engine_ver0       = evs_get_service_handler_ver0
 };
 
 static struct lcr_iface openais_evs_ver0[1] = {
@@ -192,7 +193,7 @@ static struct lcr_comp evs_comp_ver0 = {
        .ifaces         = openais_evs_ver0
 };
 
-static struct openais_service_handler *evs_get_service_handler_ver0 (void)
+static struct corosync_service_engine *evs_get_service_handler_ver0 (void)
 {
        return (&evs_service_handler);
 }
@@ -203,7 +204,7 @@ __attribute__ ((constructor)) static void evs_comp_register 
(void) {
        lcr_component_register (&evs_comp_ver0);
 }
 
-static int evs_exec_init_fn(struct objdb_iface_ver0 *objdb)
+static int evs_exec_init_fn(struct objdb_iface_ver0 *objdb, struct 
corosync_api_v1* api)
 {
        (void) objdb;
 
diff --git a/corosync/test/Makefile b/corosync/test/Makefile
index cc04481..34b490c 100644
--- a/corosync/test/Makefile
+++ b/corosync/test/Makefile
@@ -37,15 +37,19 @@ ifeq (${OPENAIS_COMPAT}, SOLARIS)
        override LDFLAGS += -lnsl -lsocket -lrt
 endif
 
-LIBRARIES= ../lib/libevs.a ../lib/libcpg.a ../lib/libcfg.a ../lib/libconfdb.a
+LIBRARIES=../lib/libevs.a ../lib/libcpg.a ../lib/libcfg.a ../lib/libconfdb.a
 LIBS = $(LIBRARIES) 
-BINARIES= testevs evsbench testcpg testcpg2 cpgbench testconfdb openais-cfgtool
+BINARIES=testevs evsbench \
+       testcpg testcpg2 cpgbench testconfdb openais-cfgtool \
+       logsys_s logsys_t1 logsys_t2
 
 override CFLAGS += -I../include
 override LDFLAGS += -L../lib
 
 EXTRA_CFLAGS = -I$(srcdir)include
-TEST_SRC = sa_error.c logsys_s1.c logsys_s2.c logsys_s.c logsys_t1.c 
logsys_t2.c
+TEST_SRC = testevs.c evsbench.c \
+       sa_error.c \
+       logsys_s1.c logsys_s2.c logsys_s.c logsys_t1.c logsys_t2.c
 
 all: $(BINARIES)
 
@@ -61,6 +65,33 @@ testevsth: testevsth.o $(LIBS)
 evsbench: evsbench.o $(LIBS)
        $(CC) $(LDFLAGS) -o evsbench evsbench.o $(LIBS)
 
+testclm: testclm.o $(LIBRARIES)
+       $(CC) $(LDFLAGS) -o testclm testclm.o $(LIBS)
+
+testckpt: testckpt.o sa_error.o $(LIBRARIES)
+       $(CC) $(LDFLAGS) -o testckpt testckpt.o sa_error.o $(LIBS)
+
+ckptbench: ckptbench.o sa_error.o $(LIBRARIES)
+       $(CC) $(LDFLAGS) -o ckptbench ckptbench.o sa_error.o $(LIBS)
+
+ckptbenchth: ckptbenchth.o sa_error.o $(LIBRARIES)
+       $(CC) $(LDFLAGS) -o ckptbenchth ckptbenchth.o sa_error.o $(LIBS)
+
+ckptstress: ckptstress.o $(LIBRARIES)
+       $(CC) $(LDFLAGS) -o ckptstress ckptstress.o $(LIBS)
+
+test: test.o $(LIBRARIES)
+       g++ $(LDFLAGS) -o test test.o $(LIBS)
+
+ckpt-rd: ckpt-rd.o sa_error.o $(LIBRARIES)
+       $(CC) $(LDFLAGS) -o ckpt-rd ckpt-rd.o sa_error.o $(LIBS)
+
+ckpt-wr: ckpt-wr.o sa_error.o $(LIBRARIES)
+       $(CC) $(LDFLAGS) -o ckpt-wr ckpt-wr.o sa_error.o $(LIBS)
+
+testclm2: testclm2.o $(LIBRARIES)
+       $(CC) $(LDFLAGS) -o testclm2 testclm2.o $(LIBS)
+
 testcpg: testcpg.o $(LIBRARIES)
        $(CC) $(LDFLAGS) -o testcpg testcpg.o $(LIBS)
 
@@ -93,3 +124,23 @@ clean:
 
 depend:
        makedepend -Y -- $(CFLAGS) $(CPPFLAGS) $(TEST_SRC) > /dev/null 2>&1
+# DO NOT DELETE
+
+testclm.o: ../include/saAis.h ../include/saClm.h
+testamf.o: ../include/saAis.h ../include/saAmf.h ../include/saClm.h
+testamf1.o: ../include/saAis.h ../include/saAmf.h
+testamf2.o: ../include/saAis.h ../include/saAmf.h
+testamf3.o: ../include/saAis.h ../include/saAmf.h
+testamf4.o: ../include/saAis.h ../include/saAmf.h
+testamf5.o: ../include/saAis.h ../include/saAmf.h
+testamf6.o: ../include/saAis.h ../include/saAmf.h
+testamfth.o: ../include/saAis.h ../include/saAmf.h ../include/saClm.h
+testckpt.o: ../include/saAis.h ../include/saCkpt.h sa_error.h
+ckptstress.o: ../include/saAis.h ../include/saCkpt.h
+ckptbench.o: ../include/saAis.h ../include/saCkpt.h
+ckptbenchth.o: ../include/saAis.h ../include/saCkpt.h
+testevt.o: ../include/saAis.h ../include/saEvt.h
+testevs.o: ../include/evs.h
+evsbench.o: ../include/saAis.h ../include/evs.h
+evtbench.o: ../include/saAis.h ../include/saEvt.h
+sa_error.o: ../include/saAis.h
diff --git a/openais/Makefile b/openais/Makefile
index 6deefa5..37b01b3 100644
--- a/openais/Makefile
+++ b/openais/Makefile
@@ -29,28 +29,15 @@
 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
 # THE POSSIBILITY OF SUCH DAMAGE.
 
-builddir:=$(CURDIR)/
+builddir:=$(shell pwd)/
 ifneq ($(O),)
 # cleanup the path (make it absolute)
-builddir:=$(abspath $(O))/
-ifeq ($(builddir),)
-builddir:=$(O)
-$(warning your abspath function is not working)
-$(warning > setting builddir to $(builddir))
-endif
-endif
-
-THIS_MAKEFILE:=$(realpath $(lastword $(MAKEFILE_LIST)))
-
-ifeq ($(THIS_MAKEFILE),)
-srcdir:=$(CURDIR)/
-$(warning your realpath function is not working)
-$(warning > setting srcdir to $(srcdir))
-else
-srcdir:=$(dir $(THIS_MAKEFILE))
+$(shell mkdir -p $(O))
+builddir:=$(shell cd $(O) && pwd)/
 endif
+srcdir:=$(shell cd $(dir $(MAKEFILE_LIST)) && pwd)/
 
-include $(srcdir)Makefile.inc
+include $(srcdir)/Makefile.inc
 
 SBINDIR=$(PREFIX)/sbin
 INCLUDEDIR=$(PREFIX)/include/openais
@@ -76,13 +63,12 @@ ifeq (ia64,$(ARCH))
 LIBDIR=$(PREFIX)/lib/openais
 endif
 
-SUBDIRS:=$(builddir)lcr $(builddir)lib $(builddir)exec $(builddir)test
+SUBDIRS:=$(builddir)lib $(builddir)services $(builddir)test
 sub_make = srcdir=$(srcdir) builddir=$(builddir) subdir=$(1)/ $(MAKE) 
-I$(srcdir)$(1) -f $(srcdir)$(1)/Makefile $(2)
 
 all: $(SUBDIRS)
-       @(cd $(builddir)lcr; echo ==== `pwd` ===;  $(call sub_make,lcr,all));
        @(cd $(builddir)lib; echo ==== `pwd` ===;  $(call sub_make,lib,all));
-       @(cd $(builddir)exec; echo ==== `pwd` ===; $(call sub_make,exec,all));
+       @(cd $(builddir)services; echo ==== `pwd` ===; $(call 
sub_make,services,all));
        @(cd $(builddir)test; echo ==== `pwd` ===; $(call sub_make,test,all));
 
 # subdirs are not phony
@@ -118,18 +104,14 @@ help:
  
 
 clean:
-       (cd $(builddir)lcr; echo ==== `pwd` ===; $(call sub_make,lcr,clean));
        (cd $(builddir)lib; echo ==== `pwd` ===; $(call sub_make,lib,clean));
        (cd $(builddir)exec; echo ==== `pwd` ===; $(call sub_make,exec,clean));
        (cd $(builddir)test; echo ==== `pwd` ===; $(call sub_make,test,clean));
        rm -rf $(builddir)doc/api
 
-AIS_LIBS       = ais SaAmf SaClm SaCkpt SaEvt SaLck SaMsg evs cpg \
-                 cfg aisutil confdb
+AIS_LIBS       = ais SaAmf SaClm SaCkpt SaEvt SaLck SaMsg
 
-AIS_HEADERS    = saAis.h saAmf.h saClm.h saCkpt.h saEvt.h saEvt.h saLck.h \
-                 saMsg.h cpg.h cfg.h evs.h ipc_gen.h mar_gen.h swab.h     \
-                 ais_util.h confdb.h
+AIS_HEADERS    = saAis.h saAmf.h saClm.h saCkpt.h saEvt.h saEvt.h saLck.h 
saMsg.h
 
 EXEC_LIBS      = totem_pg logsys
 
@@ -137,10 +119,8 @@ install: all
        mkdir -p $(DESTDIR)$(SBINDIR)
        mkdir -p $(DESTDIR)$(INCLUDEDIR)
        mkdir -p $(DESTDIR)$(INCLUDEDIR_TOTEM)
-       mkdir -p $(DESTDIR)$(INCLUDEDIR_LCR)
        mkdir -p $(DESTDIR)$(INCLUDEDIR_SERVICE)
        mkdir -p $(DESTDIR)$(LIBDIR)
-       mkdir -p $(DESTDIR)$(LCRSODIR)
        mkdir -p $(DESTDIR)$(ETCDIR)/ais
        mkdir -p $(DESTDIR)$(MANDIR)/man3
        mkdir -p $(DESTDIR)$(MANDIR)/man5
@@ -182,10 +162,6 @@ install: all
 
        echo $(LIBDIR) > "$(DESTDIR)$(ETCDIR)/ld.so.conf.d/openais-$(ARCH).conf"
 
-       install -m 755 $(builddir)exec/*lcrso $(DESTDIR)$(LCRSODIR)
-       install -m 755 $(builddir)exec/aisexec $(DESTDIR)$(SBINDIR)
-       install -m 700 $(builddir)exec/keygen $(DESTDIR)$(SBINDIR)/ais-keygen
-
        if [ ! -f $(DESTDIR)$(ETCDIR)/ais/openais.conf ] ; then            \
                install -m 644 $(srcdir)conf/openais.conf 
$(DESTDIR)$(ETCDIR)/ais ; \
        fi
@@ -197,24 +173,16 @@ install: all
            install -m 644 $(srcdir)include/$$aHeader $(DESTDIR)$(INCLUDEDIR);  
\
        done
 
-       install -m 644 $(srcdir)exec/aispoll.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
-       install -m 644 $(srcdir)exec/totempg.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
-       install -m 644 $(srcdir)exec/totem.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
-       install -m 644 $(srcdir)exec/totemip.h $(DESTDIR)$(INCLUDEDIR_TOTEM)
-       install -m 644 $(srcdir)lcr/lcr_ckpt.h $(DESTDIR)$(INCLUDEDIR_LCR)
-       install -m 644 $(srcdir)lcr/lcr_comp.h $(DESTDIR)$(INCLUDEDIR_LCR)
-       install -m 644 $(srcdir)lcr/lcr_ifact.h $(DESTDIR)$(INCLUDEDIR_LCR)
-       install -m 644 $(srcdir)exec/service.h $(DESTDIR)$(INCLUDEDIR_SERVICE)
-       install -m 644 $(srcdir)exec/timer.h $(DESTDIR)$(INCLUDEDIR_SERVICE)
-       install -m 644 $(srcdir)exec/flow.h $(DESTDIR)$(INCLUDEDIR_SERVICE)
-       install -m 644 $(srcdir)exec/ipc.h $(DESTDIR)$(INCLUDEDIR_SERVICE)
-       install -m 644 $(srcdir)exec/objdb.h $(DESTDIR)$(INCLUDEDIR_SERVICE)
-       install -m 644 $(srcdir)exec/logsys.h $(DESTDIR)$(INCLUDEDIR_SERVICE)
-       install -m 644 $(srcdir)exec/config.h $(DESTDIR)$(INCLUDEDIR_SERVICE)
-       install -m 644 $(srcdir)include/swab.h $(DESTDIR)$(INCLUDEDIR_SERVICE)
        install -m 644 $(srcdir)man/*.3 $(DESTDIR)$(MANDIR)/man3
        install -m 644 $(srcdir)man/*.5 $(DESTDIR)$(MANDIR)/man5
        install -m 644 $(srcdir)man/*.8 $(DESTDIR)$(MANDIR)/man8
 
+install-headers:
+       mkdir -p $(DESTDIR)$(INCLUDEDIR)
+       for aHeader in $(AIS_HEADERS); do                               \
+           install -m 644 $(srcdir)include/$$aHeader $(DESTDIR)$(INCLUDEDIR);  
\
+       done
+
+docs:
 doxygen:
        mkdir -p doc/api && doxygen
diff --git a/openais/Makefile.inc b/openais/Makefile.inc
index 84b329a..821a4b5 100644
--- a/openais/Makefile.inc
+++ b/openais/Makefile.inc
@@ -45,7 +45,7 @@ endif
 
 # default CFLAGS, LDFLAGS
 #
-CFLAGS =
+CFLAGS =-I$(PREFIX)/include/openais
 LDFLAGS =
 DYFLAGS =
 
diff --git a/openais/lib/Makefile b/openais/lib/Makefile
new file mode 100644
index 0000000..0df4394
--- /dev/null
+++ b/openais/lib/Makefile
@@ -0,0 +1,117 @@
+# Copyright (c) 2002-2005 MontaVista Software, Inc.
+# 
+# All rights reserved.
+# 
+# This software licensed under BSD license, the text of which follows:
+# 
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+# 
+# - Redistributions of source code must retain the above copyright notice,
+#   this list of conditions and the following disclaimer.
+# - Redistributions in binary form must reproduce the above copyright notice,
+#   this list of conditions and the following disclaimer in the documentation
+#   and/or other materials provided with the distribution.
+# - Neither the name of the MontaVista Software, Inc. nor the names of its
+#   contributors may be used to endorse or promote products derived from this
+#   software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+# THE POSSIBILITY OF SUCH DAMAGE.
+
+# Include configuration
+#
+srcdir ?= $(CURDIR)/../
+
+include $(srcdir)Makefile.inc
+
+override CFLAGS += -I$(srcdir)include
+override LDFLAGS += -L./
+
+all:libSaAmf.a libSaAmf.so.2.0.0 \
+       libSaCkpt.a libSaCkpt.so.2.0.0 \
+       libSaEvt.a libSaEvt.so.2.0.0 \
+       libSaLck.a libSaLck.so.2.0.0 \
+       libais.a libais.so.2.0.0
+
+ifeq (${OPENAIS_COMPAT}, DARWIN)
+
+libSaAmf.so.2.0.0: amf.o
+       $(CC) $(LDFLAGS) -bundle -bind_at_load amf.o -o $@
+
+libSaCkpt.so.2.0.0: ckpt.o
+       $(CC) $(LDFLAGS) -bundle -bind_at_load ckpt.o -o $@
+
+libSaEvt.so.2.0.0: evt.o
+       $(CC) $(LDFLAGS) -bundle -bind_at_load evt.o -o $@
+
+libSaLck.so.2.0.0: lck.o
+       $(CC) $(LDFLAGS) -bundle -bind_at_load lck.o -o $@
+
+libSaMsg.so.2.0.0: msg.o
+       $(CC) $(LDFLAGS) -bundle -bind_at_load msg.o -o $@
+
+libais.so.2.0.0: amf.o clm.o ckpt.o evt.o lck.o msg.o
+       $(CC) $(LDFLAGS) -bundle -bind_at_load amf.o clm.o ckpt.o evt.o -o $@
+
+else
+
+libSaAmf.so.2.0.0: amf.o
+       $(CC) $(LDFLAGS) -shared 
-Wl,-soname,libSaAmf.so.2,-version-script=$(srcdir)$(subdir)libSaAmf.versions 
amf.o -o $@
+
+libSaCkpt.so.2.0.0: ckpt.o
+       $(CC) $(LDFLAGS) -shared 
-Wl,-soname,libSaCkpt.so.2,-version-script=$(srcdir)$(subdir)libSaCkpt.versions 
ckpt.o -o $@
+
+libSaEvt.so.2.0.0: evt.o
+       $(CC) $(LDFLAGS) -shared 
-Wl,-soname,libSaEvt.so.2,-version-script=$(srcdir)$(subdir)libSaEvt.versions 
evt.o -o $@
+
+libSaLck.so.2.0.0: lck.o
+       $(CC) $(LDFLAGS) -shared 
-Wl,-soname,libSaLck.so.2,-version-script=$(srcdir)$(subdir)libSaLck.versions 
lck.o -o $@
+
+libSaMsg.so.2.0.0: msg.o
+       $(CC) $(LDFLAGS) -shared 
-Wl,-soname,libSaMsg.so.2,-version-script=$(srcdir)$(subdir)libSaMsg.versions 
msg.o -o $@
+
+libais.so.2.0.0: amf.o clm.o ckpt.o evt.o lck.o msg.o
+       $(CC) $(LDFLAGS) -shared 
-Wl,-soname,libais.so.2,-version-script=$(srcdir)$(subdir)libSaAis.versions 
amf.o clm.o ckpt.o evt.o -o $@
+
+endif
+
+libSaAmf.a: amf.o
+       $(AR) -rc libSaAmf.a amf.o
+
+libSaCkpt.a: ckpt.o
+       $(AR) -rc libSaCkpt.a ckpt.o
+
+libSaEvt.a: evt.o
+       $(AR) -rc libSaEvt.a evt.o
+
+libSaLck.a: lck.o
+       $(AR) -rc libSaLck.a lck.o
+
+libSaMsg.a: msg.o
+       $(AR) -rc libSaMsg.a msg.o
+
+libais.a: amf.o clm.o ckpt.o evt.o msg.o
+       $(AR) -rc libais.a amf.o clm.o ckpt.o evt.o msg.o
+
+clean:
+       rm -f *.o libais.so* libais.a libSaClm.so* libSaClm.a* libSaAmf.so* 
libSaAmf.a \
+               libSaCkpt.so* libSaCkpt.a* libSaEvt.so* libSaEvt.a libSaLck.so* 
libSaLck.a \
+               libSaMsg.so* libSaMsg.a libcfg.a libcfg.so* libOpenaisCfg.a \
+               *.da *.bb *.bbg
+ 
+# -fPIC rules required for all libraries
+%.o: %.c
+       $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
+
+depend:
+       makedepend -Y -- $(CFLAGS) $(CPPFLAGS) $(LIBAIS_SRC) > /dev/null 2>&1
diff --git a/openais/lib/clm.c b/openais/lib/clm.c
index 114302c..85343cb 100644
--- a/openais/lib/clm.c
+++ b/openais/lib/clm.c
@@ -46,7 +46,7 @@
 #include <sys/un.h>
 
 #include <swab.h>
-#include "../exec/totem.h"
+#include <totem/totem.h>
 #include <saAis.h>
 #include <saClm.h>
 #include <ipc_gen.h>
diff --git a/openais/lib/evt.c b/openais/lib/evt.c
index 9badd2f..a5be735 100644
--- a/openais/lib/evt.c
+++ b/openais/lib/evt.c
@@ -41,7 +41,7 @@
 #include <sys/socket.h>
 #include <ipc_evt.h>
 #include <ais_util.h>
-#include "../exec/totem.h"
+#include <totem/totem.h>
 #include <list.h>
 
 static void evtHandleInstanceDestructor(void *instance);
diff --git a/openais/services/Makefile b/openais/services/Makefile
index 354b310..92b51d7 100644
--- a/openais/services/Makefile
+++ b/openais/services/Makefile
@@ -51,44 +51,17 @@ ifeq (${OPENAIS_COMPAT}, SOLARIS)
        override LDFLAGS += -lnsl -lsocket -lrt
 endif
 
-# Totem objects
-TOTEM_SRC = aispoll.c totemip.c totemnet.c totemrrp.c totemsrp.c totemmrp.c 
totempg.c crypto.c wthread.c
-TOTEM_OBJS = aispoll.o totemip.o totemnet.o totemrrp.o totemsrp.o totemmrp.o 
totempg.o crypto.o wthread.o
-LOGSYS_SRC = wthread.c logsys.c
-LOGSYS_OBJS = wthread.o logsys.o
-
-EXEC_LIBS = libtotem_pg.a liblogsys.a
-
 # AMF objects
 AMF_SRC = amf.c amfutil.c amfnode.c amfcluster.c amfapp.c amfsg.c amfsu.c 
amfcomp.c amfsi.c
 AMF_OBJS = amf.o amfutil.o amfnode.o amfcluster.o amfapp.o amfsg.o amfsu.o 
amfcomp.o amfsi.o
 
-# LCR objects
-LCR_SRC = evs.c clm.c ckpt.c evt.c lck.c msg.c cfg.c cpg.c aisparser.c 
vsf_ykd.c objdb.c confdb.c $(AMF_SRC)
-LCR_OBJS = evs.o clm.o ckpt.o evt.o lck.o msg.o cfg.o cpg.o aisparser.o 
vsf_ykd.o objdb.o confdb.o $(AMF_OBJS)
-
-# main executive objects
-MAIN_SRC = main.c mempool.c util.c sync.c service.c ipc.c flow.c timer.c \
-       totemconfig.c mainconfig.c
-MAIN_OBJS = main.o mempool.o util.o sync.o service.o ipc.o flow.o timer.o \
-       totemconfig.o mainconfig.o ../lcr/lcr_ifact.o
-
-ifeq (${BUILD_DYNAMIC}, 1) 
-#EXEC_OBJS = $(TOTEM_OBJS) $(LOGSYS_OBJS) $(MAIN_OBJS)
-EXEC_OBJS = $(MAIN_OBJS)
 override CFLAGS += -fPIC
 
-all:libtotem_pg.a libtotem_pg.so.2.0.0 liblogsys.a liblogsys.so.2.0.0 \
-       ../lcr/lcr_ifact.o aisexec \
-       service_evs.lcrso service_clm.lcrso service_amf.lcrso \
+all:service_amf.lcrso \
        service_ckpt.lcrso service_evt.lcrso service_lck.lcrso \
-       service_msg.lcrso service_cfg.lcrso service_cpg.lcrso \
+       service_msg.lcrso service_cfg.lcrso \
        service_confdb.lcrso \
-       objdb.lcrso aisparser.lcrso vsf_ykd.lcrso keygen openais-instantiate
-else
-EXEC_OBJS = $(MAIN_OBJS) $(LCR_OBJS)
-all: libtotem_pg.a liblogsys.a aisexec keygen openais-instantiate
-endif
+       aisparser.lcrso vsf_ykd.lcrso
 

 ifeq (${OPENAIS_COMPAT}, DARWIN)
@@ -185,29 +158,6 @@ libtotem_pg.a: $(TOTEM_OBJS)
 liblogsys.a: $(LOGSYS_OBJS)
        $(AR) -rc liblogsys.a $(LOGSYS_OBJS)
 
-ifeq (${OPENAIS_COMPAT}, DARWIN)
-
-libtotem_pg.so.2.0.0: $(TOTEM_OBJS)
-       $(CC) $(LDFLAGS) -bundle -bind_at_load $(TOTEM_OBJS) -o $@
-
-liblogsys.so.2.0.0: $(LOGSYS_OBJS)
-       $(CC) $(LDFLAGS) -bundle -bind_at_load $(LOGSYS_OBJS) -o $@
-else
-
-libtotem_pg.so.2.0.0: $(TOTEM_OBJS)
-       $(CC) $(LDFLAGS) -shared -Wl,-soname,libtotem_pg.so.2 $(TOTEM_OBJS) -o 
$@
-
-liblogsys.so.2.0.0: $(LIBLOGSYS_OBJS)
-       $(CC) -shared -Wl,-soname,liblogsys.so.2 $(LOGSYS_OBJS) -o $@ $(LDFLAGS)
-
-endif
-
-keygen: keygen.o
-       $(CC) $(LDFLAGS) keygen.o -o keygen
-
-openais-instantiate: openais-instantiate.o
-       $(CC) $(LDFLAGS) openais-instantiate.o -o openais-instantiate
-
 clean:
        rm -f aisexec $(OBJS) *.o *.lcrso libtotem_pg.so* libtotem_pg.a 
gmon.out 
        rm -f keygen keygen.o openais-instantiate *.da *.bb *.bbg liblogsys.so* 
liblogsys.a
@@ -215,10 +165,6 @@ clean:
 depend:
        makedepend -Y -- $(CFLAGS) $(CPPFLAGS) $(EXEC_SRC) $(TOTEM_SRC) 
$(LOGSYS_SRC) $(LCR_SRC) > /dev/null 2>&1
 
-# - fPIC rules required for service handler shared objects
-../lcr/lcr_ifact.o: ../lcr/lcr_ifact.c
-       $(CC) $(CFLAGS) $(CPPFLAGS) -DPREFIX='"$(PREFIX)"' 
-DLCRSODIR='"$(LCRSODIR)"' -I../lcr -c -o $@ ../lcr/lcr_ifact.c
-
 evs.o: evs.c
        $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
 
@@ -258,144 +204,4 @@ cpg.o: cpg.c
 objdb.o: objdb.c
        $(CC) $(CFLAGS) -c -o $@ $<
 
-# -fPIC rules required for lib totem
-aispoll.o: aispoll.c
-       $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
-
-totempg.o: totempg.c
-       $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
-
-totemsrp.o: totemsrp.c
-       $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
-
-totemrrp.o: totemrrp.c
-       $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
-
-totemip.o: totemip.c
-       $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
-
-totemnet.o: totemnet.c
-       $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
-
-wthread.o: wthread.c
-       $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
-
-crypto.o: crypto.c
-       $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
-
-totemmrp.o: totemmrp.c
-       $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
-
-totemconfig.o: totemconfig.c
-       $(CC) $(CFLAGS) $(CPPFLAGS) -fPIC -c -o $@ $<
-
-# DO NOT DELETE
-
-aispoll.o: aispoll.h ../include/list.h ../include/hdb.h tlist.h
-totemip.o: totemip.h ../include/swab.h
-totemnet.o: aispoll.h totemnet.h totem.h totemip.h wthread.h
-totemnet.o: ../include/queue.h ../include/sq.h ../include/list.h
-totemnet.o: ../include/hdb.h ../include/swab.h crypto.h
-totemrrp.o: ../include/queue.h ../include/sq.h ../include/list.h
-totemrrp.o: ../include/hdb.h ../include/swab.h aispoll.h totemnet.h totem.h 
totemip.h
-totemrrp.o: totemrrp.h
-totemsrp.o: aispoll.h totemsrp.h totem.h totemip.h totemrrp.h wthread.h
-totemsrp.o: ../include/queue.h ../include/sq.h ../include/list.h
-totemsrp.o: ../include/hdb.h ../include/swab.h crypto.h
-totemmrp.o: totem.h totemip.h totemsrp.h aispoll.h
-totempg.o: ../include/hdb.h totempg.h aispoll.h totemsrp.h totem.h totemip.h
-totempg.o: totemmrp.h ../include/swab.h
-tlist.o: ../include/list.h tlist.h
-crypto.o: crypto.h
-wthread.o: wthread.h ../include/queue.h
-evs.o: totem.h totemip.h ../include/saAis.h ../include/ipc_gen.h
-evs.o: ../exec/totemip.h ../include/ipc_evs.h ../include/saAis.h
-evs.o: ../include/evs.h ../include/ipc_gen.h ../include/list.h
-evs.o: ../include/queue.h ../lcr/lcr_comp.h aispoll.h totempg.h totemsrp.h
-evs.o: main.h ../include/saClm.h mainconfig.h objdb.h mempool.h service.h
-evs.o: logsys.h
-clm.o: totem.h totemip.h ../include/saAis.h ../include/saClm.h
-clm.o: ../include/saAis.h ../include/ipc_gen.h ../exec/totemip.h
-clm.o: ../include/ipc_clm.h ../include/saClm.h ../include/ipc_gen.h
-clm.o: ../include/mar_clm.h ../include/mar_gen.h ../include/mar_gen.h
-clm.o: ../include/mar_clm.h ../include/list.h ../include/queue.h
-clm.o: ../lcr/lcr_comp.h aispoll.h totempg.h totemsrp.h main.h mainconfig.h
-clm.o: objdb.h mempool.h service.h ../include/swab.h logsys.h
-ckpt.o: ../include/saAis.h ../include/saCkpt.h ../include/ipc_ckpt.h
-ckpt.o: ../include/saAis.h ../include/saCkpt.h ../include/ipc_gen.h
-ckpt.o: ../include/list.h ../include/queue.h ../include/hdb.h
-ckpt.o: ../lcr/lcr_comp.h aispoll.h service.h totem.h totemip.h objdb.h
-ckpt.o: mempool.h util.h main.h ../include/saClm.h ../include/ipc_gen.h
-ckpt.o: ../exec/totemip.h mainconfig.h totemsrp.h totempg.h logsys.h
-evt.o: ../include/hdb.h ../include/ipc_evt.h ../include/saAis.h
-evt.o: ../include/saEvt.h ../include/saClm.h ../include/ipc_gen.h
-evt.o: ../include/list.h ../include/queue.h ../lcr/lcr_comp.h util.h
-evt.o: ../include/saAis.h service.h totem.h totemip.h objdb.h aispoll.h
-evt.o: mempool.h main.h ../include/saClm.h ../include/ipc_gen.h
-evt.o: ../exec/totemip.h mainconfig.h totemsrp.h totempg.h ../include/swab.h 
logsys.h
-lck.o: service.h totem.h totemip.h objdb.h ../include/saAis.h
-lck.o: ../include/saLck.h ../include/ipc_lck.h ../include/saAis.h
-lck.o: ../include/saLck.h ../include/ipc_gen.h ../include/list.h
-lck.o: ../include/queue.h ../lcr/lcr_comp.h aispoll.h mempool.h util.h main.h
-lck.o: ../include/saClm.h ../include/ipc_gen.h ../exec/totemip.h mainconfig.h
-lck.o: totemsrp.h totempg.h logsys.h
-msg.o: ../include/saAis.h ../include/saMsg.h ../include/ipc_msg.h
-msg.o: ../include/saAis.h ../include/saMsg.h ../include/ipc_gen.h
-msg.o: ../include/list.h ../include/queue.h ../lcr/lcr_comp.h service.h
-msg.o: totem.h totemip.h objdb.h aispoll.h mempool.h util.h main.h
-msg.o: ../include/saClm.h ../include/ipc_gen.h ../exec/totemip.h mainconfig.h
-msg.o: totemsrp.h totempg.h logsys.h
-cfg.o: ../include/saAis.h ../include/cfg.h ../include/saAis.h
-cfg.o: ../include/ipc_gen.h ../exec/totemip.h ../include/ipc_cfg.h
-cfg.o: ../include/ipc_gen.h ../include/cfg.h ../include/list.h
-cfg.o: ../include/queue.h ../lcr/lcr_comp.h service.h totem.h totemip.h
-cfg.o: objdb.h totempg.h aispoll.h totemsrp.h mempool.h util.h logsys.h
-cfg.o: mainconfig.h
-cpg.o: ../include/saAis.h ../include/saClm.h ../include/saAis.h
-cpg.o: ../include/ipc_gen.h ../exec/totemip.h ../include/ipc_cpg.h
-cpg.o: ../include/ipc_gen.h ../include/list.h ../include/queue.h
-cpg.o: ../lcr/lcr_comp.h aispoll.h totempg.h totemsrp.h totem.h totemip.h
-cpg.o: main.h mainconfig.h objdb.h mempool.h service.h jhash.h 
../include/swab.h logsys.h
-aisparser.o: ../lcr/lcr_comp.h objdb.h config.h mempool.h ../include/list.h
-aisparser.o: util.h ../include/saAis.h
-vsf_ykd.o: main.h ../include/saAis.h ../include/saClm.h ../include/saAis.h
-vsf_ykd.o: ../include/queue.h ../include/ipc_gen.h ../exec/totemip.h
-vsf_ykd.o: mainconfig.h ../include/list.h aispoll.h totemsrp.h totem.h
-vsf_ykd.o: totemip.h totempg.h objdb.h logsys.h ../include/swab.h vsf.h 
../lcr/lcr_comp.h
-amf.o: ../include/saAis.h ../include/saAmf.h ../include/saAis.h
-amf.o: ../include/ipc_gen.h ../exec/totemip.h ../include/ipc_amf.h
-amf.o: ../include/ipc_gen.h ../include/saAmf.h ../include/list.h
-amf.o: ../lcr/lcr_comp.h totempg.h aispoll.h totemsrp.h totem.h totemip.h
-amf.o: mempool.h util.h amf.h objdb.h main.h ../include/saClm.h
-amf.o: ../include/queue.h mainconfig.h service.h logsys.h
-amfutil.o: ../include/saAis.h ../include/saAmf.h ../include/saAis.h
-amfutil.o: ../include/ipc_amf.h ../include/ipc_gen.h ../include/saAmf.h
-amfutil.o: ../include/list.h util.h amf.h ../include/ipc_gen.h
-amfutil.o: ../exec/totemip.h aispoll.h objdb.h totem.h totemip.h logsys.h
-amfutil.o: mainconfig.h totemsrp.h totempg.h
-amfcluster.o: logsys.h mainconfig.h ../include/saAis.h ../include/list.h
-amfcluster.o: aispoll.h totemsrp.h totem.h totemip.h totempg.h objdb.h amf.h
-amfcluster.o: ../include/saAmf.h ../include/saAis.h ../include/ipc_gen.h
-amfcluster.o: ../exec/totemip.h util.h main.h ../include/saClm.h
-amfcluster.o: ../include/queue.h
-amfapp.o: amf.h ../include/saAis.h ../include/saAmf.h
-amfapp.o: ../include/saAis.h ../include/list.h ../include/ipc_gen.h
-amfapp.o: ../exec/totemip.h aispoll.h objdb.h logsys.h mainconfig.h
-amfapp.o: totemsrp.h totem.h totemip.h totempg.h
-amfsg.o: amf.h ../include/saAis.h ../include/saAmf.h ../include/saAis.h
-amfsg.o: ../include/list.h ../include/ipc_gen.h ../exec/totemip.h aispoll.h
-amfsg.o: objdb.h logsys.h mainconfig.h totemsrp.h totem.h totemip.h totempg.h
-amfsg.o: main.h ../include/saClm.h ../include/queue.h
-amfsu.o: amf.h ../include/saAis.h ../include/saAmf.h ../include/saAis.h
-amfsu.o: ../include/list.h ../include/ipc_gen.h ../exec/totemip.h aispoll.h
-amfsu.o: objdb.h util.h logsys.h mainconfig.h totemsrp.h totem.h totemip.h
-amfsu.o: totempg.h main.h ../include/saClm.h ../include/queue.h
-amfcomp.o: ../include/saAis.h ../include/saAmf.h ../include/saAis.h
-amfcomp.o: ../include/ipc_gen.h ../exec/totemip.h ../include/ipc_amf.h
-amfcomp.o: ../include/ipc_gen.h ../include/saAmf.h totempg.h aispoll.h
-amfcomp.o: totemsrp.h totem.h totemip.h main.h ../include/saClm.h
-amfcomp.o: ../include/queue.h mainconfig.h ../include/list.h objdb.h
-amfcomp.o: service.h util.h amf.h logsys.h
-amfsi.o: amf.h ../include/saAis.h ../include/saAmf.h ../include/saAis.h
-amfsi.o: ../include/list.h ../include/ipc_gen.h ../exec/totemip.h aispoll.h
-amfsi.o: objdb.h logsys.h mainconfig.h totemsrp.h totem.h totemip.h totempg.h
+
diff --git a/openais/services/amf.c b/openais/services/amf.c
index 36e4981..c0ee3f8 100644
--- a/openais/services/amf.c
+++ b/openais/services/amf.c
@@ -242,7 +242,7 @@ struct amf_pd {
 /*
  * Service Handler Definition
  */
-static struct openais_lib_handler amf_lib_service[] =
+static struct corosync_lib_handler amf_lib_service[] =
 {
        { /* 0 */
                .lib_handler_fn         = 
message_handler_req_lib_amf_componentregister,
@@ -383,7 +383,7 @@ static struct openais_service_handler amf_service_handler = 
{
        .lib_init_fn            = amf_lib_init_fn,
        .lib_exit_fn            = amf_lib_exit_fn,
        .lib_service            = amf_lib_service,
-       .lib_service_count      = sizeof (amf_lib_service) / sizeof (struct 
openais_lib_handler),
+       .lib_service_count      = sizeof (amf_lib_service) / sizeof (struct 
corosync_lib_handler),
        .exec_init_fn           = amf_exec_init_fn,
        .exec_service           = amf_exec_service,
        .exec_service_count     = sizeof (amf_exec_service) / sizeof (struct 
openais_exec_handler),
-- 
1.5.6

_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to