This patch allows the loading and unloading of interfaces to the
coroapi.  The main purpose is to allow one service engine to export an
interface to another service engine.

In this case, openais EVT service depends on CLM service for some
information regarding node IDs, and now the CLM can export the interface
needed to the EVT service.

This could be used by other service engines as well for a variety of
purposes.

Regards,
-steve
Index: include/coroapi.h
===================================================================
--- include/coroapi.h	(revision 1625)
+++ include/coroapi.h	(working copy)
@@ -357,6 +357,15 @@
 
 	char *(*totem_ip_print) (struct totem_ip_address *addr);
 
+	int (*plugin_interface_reference) (
+		unsigned int *handle, 
+		char *iface_name,
+		int version,
+		void **interface,
+		void *context);
+
+	int (*plugin_interface_release) (unsigned int handle);
+
 	/*
 	 * Service loading and unloading APIs
 	*/
Index: exec/apidef.c
===================================================================
--- exec/apidef.c	(revision 1625)
+++ exec/apidef.c	(working copy)
@@ -47,6 +47,7 @@
 #include "ipc.h"
 #include "../include/coroapi.h"
 #include "service.h"
+#include "../lcr/lcr_ifact.h"
 
 LOGSYS_DECLARE_SUBSYS ("APIDEF", LOG_INFO);
 
@@ -76,6 +77,8 @@
 	.totem_ip_print = totemip_print,
 	.service_link_and_init = openais_service_link_and_init,
 	.service_unlink_and_exit = openais_service_unlink_and_exit,
+	.plugin_interface_reference = lcr_ifact_reference,
+	.plugin_interface_release = lcr_ifact_release,
 	.error_memory_failure = NULL
 };
 
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to