Просмотр исходного кода

evs.h: s/int/size_t; const-correctness changes

* exec/sync.c (barrier_data_confchg_entries):
* include/corosync/evs.h (evs_deliver_fn_t, evs_confchg_fn_t):
(evs_callbacks_t):
* lib/evs.c (MIN, evs_join, evs_leave, evs_mcast_joined):
(evs_mcast_groups, evs_membership_get):
* test/evsbench.c (evs_deliver_fn, evs_confchg_fn):
* test/evsverify.c (evs_deliver_fn, evs_confchg_fn, main):
* test/testevs.c (evs_deliver_fn, evs_confchg_fn, main):

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@2023 fd59a12c-fef9-0310-b244-a6a79926bd2f
Jim Meyering 17 лет назад
Родитель
Сommit
cf2c12a988
6 измененных файлов с 62 добавлено и 59 удалено
  1. 1 1
      exec/sync.c
  2. 17 17
      include/corosync/evs.h
  3. 20 17
      lib/evs.c
  4. 6 6
      test/evsbench.c
  5. 9 9
      test/evsverify.c
  6. 9 9
      test/testevs.c

+ 1 - 1
exec/sync.c

@@ -88,7 +88,7 @@ static void *sync_callback_token_handle = 0;
 
 static struct barrier_data barrier_data_confchg[PROCESSOR_COUNT_MAX];
 
-static int barrier_data_confchg_entries;
+static size_t barrier_data_confchg_entries;
 
 static struct barrier_data barrier_data_process[PROCESSOR_COUNT_MAX];
 

+ 17 - 17
include/corosync/evs.h

@@ -6,7 +6,7 @@
  * Author: Steven Dake (sdake@redhat.com)
  *
  * 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:
  *
@@ -71,13 +71,13 @@ struct evs_group {
 
 typedef void (*evs_deliver_fn_t) (
 	unsigned int nodeid,
-	void *msg,
-	int msg_len);
+	const void *msg,
+	size_t msg_len);
 
 typedef void (*evs_confchg_fn_t) (
-	unsigned int *member_list, int member_list_entries,
-	unsigned int *left_list, int left_list_entries,
-	unsigned int *joined_list, int joined_list_entries);
+	unsigned int *member_list, size_t member_list_entries,
+	unsigned int *left_list, size_t left_list_entries,
+	unsigned int *joined_list, size_t joined_list_entries);
 
 typedef struct {
 	evs_deliver_fn_t evs_deliver_fn;
@@ -122,16 +122,16 @@ cs_error_t evs_dispatch (
  */
 cs_error_t evs_join (
 	evs_handle_t handle,
-	struct evs_group *groups,
-	int group_cnt);
+	const struct evs_group *groups,
+	size_t group_cnt);
 
 /*
  * Leave one or more groups
  */
 cs_error_t evs_leave (
 	evs_handle_t handle,
-	struct evs_group *groups,
-	int group_cnt);
+	const struct evs_group *groups,
+	size_t group_cnt);
 
 /*
  * Multicast to groups joined with evs_join.
@@ -141,8 +141,8 @@ cs_error_t evs_leave (
 cs_error_t evs_mcast_joined (
 	evs_handle_t handle,
 	evs_guarantee_t guarantee,
-	struct iovec *iovec,
-	int iov_len);
+	const struct iovec *iovec,
+	size_t iov_len);
 
 /*
  * Multicast to specified groups.
@@ -152,10 +152,10 @@ cs_error_t evs_mcast_joined (
 cs_error_t evs_mcast_groups (
 	evs_handle_t handle,
 	evs_guarantee_t guarantee,
-	struct evs_group *groups,
-	int group_cnt,
-	struct iovec *iovec,
-	int iov_len);
+	const struct evs_group *groups,
+	size_t group_cnt,
+	const struct iovec *iovec,
+	size_t iov_len);
 
 /*
  * Get membership information from evs
@@ -164,6 +164,6 @@ cs_error_t evs_membership_get (
 	evs_handle_t handle,
 	unsigned int *local_nodeid,
 	unsigned int *member_list,
-	unsigned int *member_list_entries);
+	size_t *member_list_entries);
 
 #endif /* COROSYNC_EVS_H_DEFINED */

+ 20 - 17
lib/evs.c

@@ -9,7 +9,7 @@
  * Author: Steven Dake (sdake@redhat.com)
  *
  * 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:
  *
@@ -54,6 +54,9 @@
 #include <corosync/ipc_evs.h>
 #include <corosync/coroipcc.h>
 
+#undef MIN
+#define MIN(x,y) ((x) < (y) ? (x) : (y))
+
 struct evs_inst {
 	void *ipc_ctx;
 	int finalize;
@@ -318,8 +321,8 @@ error_nounlock:
 
 evs_error_t evs_join (
     evs_handle_t handle,
-    struct evs_group *groups,
-	int group_entries)
+    const struct evs_group *groups,
+    size_t group_entries)
 {
 	evs_error_t error;
 	struct evs_inst *evs_inst;
@@ -339,7 +342,7 @@ evs_error_t evs_join (
 
 	iov[0].iov_base = &req_lib_evs_join;
 	iov[0].iov_len = sizeof (struct req_lib_evs_join);
-	iov[1].iov_base = groups;
+	iov[1].iov_base = (void*) groups; /* cast away const */
 	iov[1].iov_len = (group_entries * sizeof (struct evs_group));
 	
 	pthread_mutex_lock (&evs_inst->response_mutex);
@@ -363,8 +366,8 @@ error_exit:
 
 evs_error_t evs_leave (
     evs_handle_t handle,
-    struct evs_group *groups,
-	int group_entries)
+    const struct evs_group *groups,
+    size_t group_entries)
 {
 	evs_error_t error;
 	struct evs_inst *evs_inst;
@@ -384,7 +387,7 @@ evs_error_t evs_leave (
 
 	iov[0].iov_base = &req_lib_evs_leave;
 	iov[0].iov_len = sizeof (struct req_lib_evs_leave);
-	iov[1].iov_base = groups;
+	iov[1].iov_base = (void *) groups; /* cast away const */
 	iov[1].iov_len = (group_entries * sizeof (struct evs_group));
 	
 	pthread_mutex_lock (&evs_inst->response_mutex);
@@ -409,8 +412,8 @@ error_exit:
 evs_error_t evs_mcast_joined (
 	evs_handle_t handle,
 	evs_guarantee_t guarantee,
-	struct iovec *iovec,
-	int iov_len)
+	const struct iovec *iovec,
+	size_t iov_len)
 {
 	int i;
 	evs_error_t error;
@@ -464,10 +467,10 @@ error_exit:
 evs_error_t evs_mcast_groups (
 	evs_handle_t handle,
 	evs_guarantee_t guarantee,
-	struct evs_group *groups,
-	int group_entries,
-	struct iovec *iovec,
-	int iov_len)
+	const struct evs_group *groups,
+	size_t group_entries,
+	const struct iovec *iovec,
+	size_t iov_len)
 {
 	int i;
 	evs_error_t error;
@@ -493,7 +496,7 @@ evs_error_t evs_mcast_groups (
 
 	iov[0].iov_base = &req_lib_evs_mcast_groups;
 	iov[0].iov_len = sizeof (struct req_lib_evs_mcast_groups);
-	iov[1].iov_base = groups;
+	iov[1].iov_base = (void *) groups; /* cast away const */
 	iov[1].iov_len = (group_entries * sizeof (struct evs_group));
 	memcpy (&iov[2], iovec, iov_len * sizeof (struct iovec));
 	
@@ -521,7 +524,7 @@ evs_error_t evs_membership_get (
 	evs_handle_t handle,
 	unsigned int *local_nodeid,
 	unsigned int *member_list,
-	unsigned int *member_list_entries)
+	size_t *member_list_entries)
 {
 	evs_error_t error;
 	struct evs_inst *evs_inst;
@@ -562,8 +565,8 @@ evs_error_t evs_membership_get (
 	if (local_nodeid) {
 		*local_nodeid = res_lib_evs_membership_get.local_nodeid;
  	}
-	*member_list_entries = *member_list_entries < res_lib_evs_membership_get.member_list_entries ?
-		*member_list_entries : res_lib_evs_membership_get.member_list_entries;
+	*member_list_entries = MIN (*member_list_entries,
+				    res_lib_evs_membership_get.member_list_entries);
 	if (member_list) {
 		memcpy (member_list, &res_lib_evs_membership_get.member_list, 
 			*member_list_entries * sizeof (struct in_addr));

+ 6 - 6
test/evsbench.c

@@ -70,17 +70,17 @@ volatile static int alarm_notice = 0;
 
 static void evs_deliver_fn (
 	unsigned int nodeid,
-	void *msg,
-	int msg_len)
+	const void *msg,
+	size_t msg_len)
 {
-  char *m = msg;
+  const char *m = msg;
   printf ("Delivering message %s\n", m);
 }
 
 static void evs_confchg_fn (
-	unsigned int *member_list, int member_list_entries,
-	unsigned int *left_list, int left_list_entries,
-	unsigned int *joined_list, int joined_list_entries)
+	unsigned int *member_list, size_t member_list_entries,
+	unsigned int *left_list, size_t left_list_entries,
+	unsigned int *joined_list, size_t joined_list_entries)
 {
 	int i;
 

+ 9 - 9
test/evsverify.c

@@ -56,10 +56,10 @@ struct my_msg {
 static int deliveries = 0;
 static void evs_deliver_fn (
 	unsigned int nodeid,
-	void *m,
-	int msg_len)
+	const void *m,
+	size_t msg_len)
 {
-	struct my_msg *msg2 = (struct my_msg *)m;
+	const struct my_msg *msg2 = m;
 	unsigned char sha1_compare[20];
 	hash_state sha1_hash;
 	unsigned int i;
@@ -81,9 +81,9 @@ printf ("\n");
 }
 
 static void evs_confchg_fn (
-	unsigned int *member_list, int member_list_entries,
-	unsigned int *left_list, int left_list_entries,
-	unsigned int *joined_list, int joined_list_entries)
+	unsigned int *member_list, size_t member_list_entries,
+	unsigned int *left_list, size_t left_list_entries,
+	unsigned int *joined_list, size_t joined_list_entries)
 {
 	int i;
 
@@ -123,7 +123,7 @@ int main (void)
 	int fd;
 	unsigned int member_list[32];
 	unsigned int local_nodeid;
-	unsigned int member_list_entries = 32;
+	size_t member_list_entries = 32;
 	struct my_msg msg;
 	hash_state sha1_hash;
 	struct iovec iov[2];
@@ -136,8 +136,8 @@ int main (void)
 
 	result = evs_membership_get (handle, &local_nodeid,
 		member_list, &member_list_entries);
-	printf ("Current membership from evs_membership_get entries %d\n",
-		member_list_entries);
+	printf ("Current membership from evs_membership_get entries %lu\n",
+		(unsigned long int) member_list_entries);
 	for (i = 0; i < member_list_entries; i++) {
 		printf ("member [%d] is %x\n", i, member_list[i]);
 	}

+ 9 - 9
test/testevs.c

@@ -49,19 +49,19 @@ static const char *delivery_string;
 static int deliveries = 0;
 static void evs_deliver_fn (
 	unsigned int nodeid,
-	void *msg,
-	int msg_len)
+	const void *msg,
+	size_t msg_len)
 {
-	char *buf = msg;
+	const char *buf = msg;
 
 	printf ("API '%s' msg '%s'\n", delivery_string, buf);
 	deliveries++;
 }
 
 static void evs_confchg_fn (
-	unsigned int *member_list, int member_list_entries,
-	unsigned int *left_list, int left_list_entries,
-	unsigned int *joined_list, int joined_list_entries)
+	unsigned int *member_list, size_t member_list_entries,
+	unsigned int *left_list, size_t left_list_entries,
+	unsigned int *joined_list, size_t joined_list_entries)
 {
 	int i;
 
@@ -106,7 +106,7 @@ int main (void)
 	int fd;
 	unsigned int member_list[32];
 	unsigned int local_nodeid;
-	unsigned int member_list_entries = 32;
+	size_t member_list_entries = 32;
 
 	result = evs_initialize (&handle, &callbacks);
 	if (result != CS_OK) {
@@ -116,8 +116,8 @@ int main (void)
 
 	result = evs_membership_get (handle, &local_nodeid,
 		member_list, &member_list_entries);
-	printf ("Current membership from evs_membership_get entries %d\n",
-		member_list_entries);
+	printf ("Current membership from evs_membership_get entries %lu\n",
+		(unsigned long int) member_list_entries);
 	for (i = 0; i < member_list_entries; i++) {
 		printf ("member [%d] is %x\n", i, member_list[i]);
 	}