فهرست منبع

Add context get and set operations to evs handles and man pages.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2329 fd59a12c-fef9-0310-b244-a6a79926bd2f
Steven Dake 16 سال پیش
والد
کامیت
130d9c9908
12فایلهای تغییر یافته به همراه70 افزوده شده و 0 حذف شده
  1. 11 0
      include/corosync/evs.h
  2. 39 0
      lib/evs.c
  3. 2 0
      man/evs_dispatch.3
  4. 2 0
      man/evs_fd_get.3
  5. 2 0
      man/evs_finalize.3
  6. 2 0
      man/evs_initialize.3
  7. 2 0
      man/evs_join.3
  8. 2 0
      man/evs_leave.3
  9. 2 0
      man/evs_mcast_groups.3
  10. 2 0
      man/evs_mcast_joined.3
  11. 2 0
      man/evs_membership_get.3
  12. 2 0
      man/evs_overview.8

+ 11 - 0
include/corosync/evs.h

@@ -110,6 +110,17 @@ cs_error_t evs_fd_get (
 	evs_handle_t handle,
 	int *fd);
 
+/*
+ * Get and set contexts for a EVS handle
+ */
+cs_error_t evs_context_get (
+	evs_handle_t handle,
+	void **context);
+
+cs_error_t evs_context_set (
+	evs_handle_t handle,
+	void *context);
+
 /*
  * Dispatch messages and configuration changes
  */

+ 39 - 0
lib/evs.c

@@ -66,6 +66,7 @@ struct evs_inst {
 	hdb_handle_t handle;
 	int finalize;
 	evs_callbacks_t callbacks;
+	void *context;
 };
 
 DECLARE_HDB_DATABASE (evs_handle_t_db,NULL);
@@ -178,6 +179,44 @@ evs_error_t evs_fd_get (
 	return (CS_OK);
 }
 
+evs_error_t evs_context_get (
+	evs_handle_t handle,
+	void **context)
+{
+	cs_error_t error;
+	struct evs_inst *evs_inst;
+
+	error = hdb_error_to_cs (hdb_handle_get (&evs_handle_t_db, handle, (void *)&evs_inst));
+	if (error != CS_OK) {
+		return (error);
+	}
+
+	*context = evs_inst->context;
+
+	hdb_handle_put (&evs_handle_t_db, handle);
+
+	return (CS_OK);
+}
+
+cs_error_t evs_context_set (
+	evs_handle_t handle,
+	void *context)
+{
+	cs_error_t error;
+	struct evs_inst *evs_inst;
+
+	error = hdb_error_to_cs (hdb_handle_get (&evs_handle_t_db, handle, (void *)&evs_inst));
+	if (error != CS_OK) {
+		return (error);
+	}
+
+	evs_inst->context = context;
+
+	hdb_handle_put (&evs_handle_t_db, handle);
+
+	return (CS_OK);
+}
+
 evs_error_t evs_dispatch (
 	evs_handle_t handle,
 	cs_dispatch_flags_t dispatch_types)

+ 2 - 0
man/evs_dispatch.3

@@ -98,4 +98,6 @@ The errors are undocumented.
 .BR evs_mcast_joined (3),
 .BR evs_mcast_groups (3),
 .BR evs_mmembership_get (3)
+.BR evs_context_get (3)
+.BR evs_context_set (3)
 .PP

+ 2 - 0
man/evs_fd_get.3

@@ -65,4 +65,6 @@ The errors are undocumented.
 .BR evs_mcast_joined (3),
 .BR evs_mcast_groups (3),
 .BR evs_mmembership_get (3)
+.BR evs_context_get (3)
+.BR evs_context_set (3)
 .PP

+ 2 - 0
man/evs_finalize.3

@@ -61,4 +61,6 @@ The errors are undocumented.
 .BR evs_mcast_joined (3),
 .BR evs_mcast_groups (3),
 .BR evs_mmembership_get (3)
+.BR evs_context_get (3)
+.BR evs_context_set (3)
 .PP

+ 2 - 0
man/evs_initialize.3

@@ -137,4 +137,6 @@ The errors are undocumented.
 .BR evs_mcast_joined (3),
 .BR evs_mcast_groups (3),
 .BR evs_mmembership_get (3)
+.BR evs_context_get (3)
+.BR evs_context_set (3)
 .PP

+ 2 - 0
man/evs_join.3

@@ -100,4 +100,6 @@ The errors are undocumented.
 .BR evs_mcast_joined (3),
 .BR evs_mcast_groups (3),
 .BR evs_mmembership_get (3)
+.BR evs_context_get (3)
+.BR evs_context_set (3)
 .PP

+ 2 - 0
man/evs_leave.3

@@ -95,4 +95,6 @@ The errors are undocumented.
 .BR evs_mcast_joined (3),
 .BR evs_mcast_groups (3),
 .BR evs_mmembership_get (3)
+.BR evs_context_get (3)
+.BR evs_context_set (3)
 .PP

+ 2 - 0
man/evs_mcast_groups.3

@@ -159,4 +159,6 @@ The errors are undocumented.
 .BR evs_join (3),
 .BR evs_mcast_joined (3),
 .BR evs_mmembership_get (3)
+.BR evs_context_get (3)
+.BR evs_context_set (3)
 .PP

+ 2 - 0
man/evs_mcast_joined.3

@@ -132,4 +132,6 @@ The errors are undocumented.
 .BR evs_join (3),
 .BR evs_mcast_groups (3),
 .BR evs_mmembership_get (3)
+.BR evs_context_get (3)
+.BR evs_context_set (3)
 .PP

+ 2 - 0
man/evs_membership_get.3

@@ -69,4 +69,6 @@ The errors are undocumented.
 .BR evs_mcast_joined (3),
 .BR evs_mcast_groups (3),
 .BR evs_mmembership_get (3)
+.BR evs_context_get (3)
+.BR evs_context_set (3)
 .PP

+ 2 - 0
man/evs_overview.8

@@ -177,5 +177,7 @@ there are very few since nobody reports any unknown bugs at this point.
 .BR evs_mcast_joined (3),
 .BR evs_mcast_groups (3),
 .BR evs_mmembership_get (3)
+.BR evs_context_get (3)
+.BR evs_context_set (3)
 
 .PP