Here's a big const-adding change that doesn't touch APIs much.
However, it's important for internal consistency.
There is one snag, though, which means this patch isn't quite
committable:
The first clue was a prototype mismatch for
message_handler_memb_merge_detect. It seemed like
it should be like the 5 other handlers here:
[this is in totemsrp.c]
struct message_handlers {
int count;
int (*handler_functions[6]) (
struct totemsrp_instance *instance,
const void *msg,
size_t msg_len,
int endian_conversion_needed);
};
struct message_handlers totemsrp_message_handlers = {
6,
{
message_handler_orf_token,
message_handler_mcast,
message_handler_memb_merge_detect,
message_handler_memb_join,
message_handler_memb_commit_token,
message_handler_token_hold_cancel
}
};
and have a "const" "msg" parameter.
However, currently it calls memb_merge_detect_endian_convert (msg,
msg) which modifies *msg, which implies its "msg" can't be "const".
Yet nothing else in that function uses the modified "msg". Maybe the
caller requires that *msg be modified?
There are two solutions:
- if it really does need to modify *msg, change the sole
use of totemsrp_message_handlers.handler_functions to treat
the merge_detect case differently from the others.
- if it doesn't need to, remove the memb_merge_detect_endian_convert call
Let me know and I'll adjust.
>From 8a10c661510738bb59bd9685debd9e0162158814 Mon Sep 17 00:00:00 2001
From: Jim Meyering <[email protected]>
Date: Fri, 10 Apr 2009 10:37:29 +0200
Subject: [PATCH] totemrrp.h, totemsrp.h, totemnet.h: const+size_t
* exec/totemrrp.c (totemrrp_initialize):
* exec/totemrrp.h (totemrrp_initialize):
* exec/totemsrp.c (handler_functions, main_deliver_fn):
(main_iface_change_fn):
* exec/totemnet.c (totemnet_deliver_fn, totemnet_iface_change_fn):
(encrypt_and_sign_worker, ucast_sendmsg, mcast_sendmsg):
(totemnet_mcast_worker_fn, totemnet_initialize):
(totemnet_token_send, totemnet_mcast_flush_send):
(totemnet_mcast_noflush_send, totemnet_token_target_set):
* exec/totemnet.h (TOTEMNET_FLUSH):
* exec/totemrrp.c (totemrrp_deliver_fn, totemrrp_iface_change_fn):
(totemrrp_token_seqid_get, rrp_deliver_fn, rrp_iface_change_fn):
* exec/totemsrp.c (handler_functions, main_token_seqid_get):
(srp_addr_copy_endian_convert, message_handler_orf_token):
(message_handler_mcast, message_handler_memb_merge_detect):
(memb_join_endian_convert, memb_commit_token_endian_convert):
(orf_token_endian_convert, mcast_endian_convert):
(memb_merge_detect_endian_convert, message_handler_memb_join):
(message_handler_memb_commit_token):
(message_handler_token_hold_cancel, main_deliver_fn):
---
exec/main.c | 2 +-
exec/sync.c | 4 +-
exec/totemmrp.c | 8 +-
exec/totemmrp.h | 4 +-
exec/totemnet.c | 56 ++++++++--------
exec/totemnet.h | 16 ++--
exec/totempg.c | 10 ++--
exec/totemrrp.c | 134 ++++++++++++++++++------------------
exec/totemrrp.h | 18 +++---
exec/totemsrp.c | 94 +++++++++++++-------------
exec/totemsrp.h | 2 +-
exec/vsf_ykd.c | 2 +-
include/corosync/engine/coroapi.h | 2 +-
include/corosync/totem/totempg.h | 10 ++--
services/votequorum.c | 6 +-
15 files changed, 185 insertions(+), 183 deletions(-)
diff --git a/exec/main.c b/exec/main.c
index f88f73b..6599f8d 100644
--- a/exec/main.c
+++ b/exec/main.c
@@ -412,7 +412,7 @@ static void corosync_mlockall (void)
static void deliver_fn (
unsigned int nodeid,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len,
int endian_conversion_required)
{
diff --git a/exec/sync.c b/exec/sync.c
index 6521c84..9d2873a 100644
--- a/exec/sync.c
+++ b/exec/sync.c
@@ -102,7 +102,7 @@ static int sync_service_process (enum
totem_callback_token_type type,
static void sync_deliver_fn (
unsigned int nodeid,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len,
int endian_conversion_required);
@@ -327,7 +327,7 @@ static void sync_endian_convert (struct
req_exec_sync_barrier_start
static void sync_deliver_fn (
unsigned int nodeid,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len,
int endian_conversion_required)
{
diff --git a/exec/totemmrp.c b/exec/totemmrp.c
index 02635ac..949756b 100644
--- a/exec/totemmrp.c
+++ b/exec/totemmrp.c
@@ -68,7 +68,7 @@ hdb_handle_t totemsrp_handle_in;
void totemmrp_deliver_fn (
unsigned int nodeid,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len,
int endian_conversion_required);
@@ -81,7 +81,7 @@ void totemmrp_confchg_fn (
void (*pg_deliver_fn) (
unsigned int nodeid,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len,
int endian_conversion_required) = 0;
@@ -94,7 +94,7 @@ void (*pg_confchg_fn) (
void totemmrp_deliver_fn (
unsigned int nodeid,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len,
int endian_conversion_required)
{
@@ -124,7 +124,7 @@ int totemmrp_initialize (
void (*deliver_fn) (
unsigned int nodeid,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len,
int endian_conversion_required),
void (*confchg_fn) (
diff --git a/exec/totemmrp.h b/exec/totemmrp.h
index e1e02bf..8ae9378 100644
--- a/exec/totemmrp.h
+++ b/exec/totemmrp.h
@@ -7,7 +7,7 @@
* Author: Steven Dake ([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:
*
@@ -61,7 +61,7 @@ extern int totemmrp_initialize (
void (*deliver_fn) (
unsigned int nodeid,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len,
int endian_conversion_required),
void (*confchg_fn) (
diff --git a/exec/totemnet.c b/exec/totemnet.c
index 01338ed..6a75300 100644
--- a/exec/totemnet.c
+++ b/exec/totemnet.c
@@ -1,13 +1,13 @@
/*
* Copyright (c) 2005 MontaVista Software, Inc.
- * Copyright (c) 2006-2008 Red Hat, Inc.
+ * Copyright (c) 2006-2009 Red Hat, Inc.
*
* All rights reserved.
*
* Author: Steven Dake ([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:
*
@@ -119,12 +119,12 @@ struct totemnet_instance {
void (*totemnet_deliver_fn) (
void *context,
- void *msg,
- int msg_len);
+ const void *msg,
+ size_t msg_len);
void (*totemnet_iface_change_fn) (
void *context,
- struct totem_ip_address *iface_address);
+ const struct totem_ip_address *iface_address);
/*
* Function and data used to log messages
@@ -297,9 +297,9 @@ static int authenticate_and_decrypt (
static void encrypt_and_sign_worker (
struct totemnet_instance *instance,
unsigned char *buf,
- int *buf_len,
- struct iovec *iovec,
- unsigned int iov_len,
+ size_t *buf_len,
+ const struct iovec *iovec,
+ size_t iov_len,
prng_state *prng_state_in)
{
int i;
@@ -310,7 +310,7 @@ static void encrypt_and_sign_worker (
unsigned char *cipher_key = &keys[16];
unsigned char *initial_vector = &keys[0];
unsigned long len;
- int outlen = 0;
+ size_t outlen = 0;
hmac_state hmac_state;
prng_state keygen_prng_state;
prng_state stream_prng_state;
@@ -379,16 +379,16 @@ static void encrypt_and_sign_worker (
static inline void ucast_sendmsg (
struct totemnet_instance *instance,
struct totem_ip_address *system_to,
- struct iovec *iovec_in,
- unsigned int iov_len_in)
+ const struct iovec *iovec_in,
+ size_t iov_len_in)
{
struct msghdr msg_ucast;
int res = 0;
- int buf_len;
+ size_t buf_len;
unsigned char sheader[sizeof (struct security_header)];
unsigned char encrypt_data[FRAME_SIZE_MAX];
struct iovec iovec_encrypt[20];
- struct iovec *iovec_sendmsg;
+ const struct iovec *iovec_sendmsg;
struct sockaddr_storage sockaddr;
unsigned int iov_len;
int addrlen;
@@ -427,7 +427,7 @@ static inline void ucast_sendmsg (
instance->totem_interface->ip_port, &sockaddr, &addrlen);
msg_ucast.msg_name = &sockaddr;
msg_ucast.msg_namelen = addrlen;
- msg_ucast.msg_iov = iovec_sendmsg;
+ msg_ucast.msg_iov = (void *) iovec_sendmsg;
msg_ucast.msg_iovlen = iov_len;
msg_ucast.msg_control = 0;
msg_ucast.msg_controllen = 0;
@@ -443,16 +443,16 @@ static inline void ucast_sendmsg (
static inline void mcast_sendmsg (
struct totemnet_instance *instance,
- struct iovec *iovec_in,
- unsigned int iov_len_in)
+ const struct iovec *iovec_in,
+ size_t iov_len_in)
{
struct msghdr msg_mcast;
int res = 0;
- int buf_len;
+ size_t buf_len;
unsigned char sheader[sizeof (struct security_header)];
unsigned char encrypt_data[FRAME_SIZE_MAX];
struct iovec iovec_encrypt[20];
- struct iovec *iovec_sendmsg;
+ const struct iovec *iovec_sendmsg;
struct sockaddr_storage sockaddr;
unsigned int iov_len;
int addrlen;
@@ -491,7 +491,7 @@ static inline void mcast_sendmsg (
instance->totem_interface->ip_port, &sockaddr, &addrlen);
msg_mcast.msg_name = &sockaddr;
msg_mcast.msg_namelen = addrlen;
- msg_mcast.msg_iov = iovec_sendmsg;
+ msg_mcast.msg_iov = (void *) iovec_sendmsg;
msg_mcast.msg_iovlen = iov_len;
msg_mcast.msg_control = 0;
msg_mcast.msg_controllen = 0;
@@ -527,7 +527,7 @@ static void totemnet_mcast_worker_fn (void *thread_state,
void *work_item_in)
struct msghdr msg_mcast;
unsigned char sheader[sizeof (struct security_header)];
int res = 0;
- int buf_len;
+ size_t buf_len;
struct iovec iovec_encrypted;
struct iovec *iovec_sendmsg;
struct sockaddr_storage sockaddr;
@@ -1157,12 +1157,12 @@ int totemnet_initialize (
void (*deliver_fn) (
void *context,
- void *msg,
- int msg_len),
+ const void *msg,
+ size_t msg_len),
void (*iface_change_fn) (
void *context,
- struct totem_ip_address *iface_address))
+ const struct totem_ip_address *iface_address))
{
struct totemnet_instance *instance;
unsigned int res;
@@ -1334,7 +1334,7 @@ error_exit:
int totemnet_token_send (
hdb_handle_t handle,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len)
{
struct totemnet_instance *instance;
@@ -1356,7 +1356,7 @@ error_exit:
}
int totemnet_mcast_flush_send (
hdb_handle_t handle,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len)
{
struct totemnet_instance *instance;
@@ -1379,7 +1379,7 @@ error_exit:
int totemnet_mcast_noflush_send (
hdb_handle_t handle,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len)
{
struct totemnet_instance *instance;
@@ -1481,7 +1481,7 @@ error_exit:
int totemnet_token_target_set (
hdb_handle_t handle,
- struct totem_ip_address *token_target)
+ const struct totem_ip_address *token_target)
{
struct totemnet_instance *instance;
unsigned int res;
@@ -1500,5 +1500,3 @@ int totemnet_token_target_set (
error_exit:
return (res);
}
-
-
diff --git a/exec/totemnet.h b/exec/totemnet.h
index e7a3b8c..e3be277 100644
--- a/exec/totemnet.h
+++ b/exec/totemnet.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2005 MontaVista Software, Inc.
- * Copyright (c) 2006-2007 Red Hat, Inc.
+ * Copyright (c) 2006-2007, 2009 Red Hat, Inc.
*
* All rights reserved.
*
@@ -59,12 +59,12 @@ extern int totemnet_initialize (
void (*deliver_fn) (
void *context,
- void *msg,
- int msg_len),
+ const void *msg,
+ size_t msg_len),
void (*iface_change_fn) (
void *context,
- struct totem_ip_address *iface_address));
+ const struct totem_ip_address *iface_address));
extern int totemnet_processor_count_set (
hdb_handle_t handle,
@@ -72,17 +72,17 @@ extern int totemnet_processor_count_set (
extern int totemnet_token_send (
hdb_handle_t handle,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len);
extern int totemnet_mcast_flush_send (
hdb_handle_t handle,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len);
extern int totemnet_mcast_noflush_send (
hdb_handle_t handle,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len);
extern int totemnet_recv_flush (hdb_handle_t handle);
@@ -103,6 +103,6 @@ extern int totemnet_iface_get (
extern int totemnet_token_target_set (
hdb_handle_t handle,
- struct totem_ip_address *token_target);
+ const struct totem_ip_address *token_target);
#endif /* TOTEMNET_H_DEFINED */
diff --git a/exec/totempg.c b/exec/totempg.c
index 8ba64ce..ee4c243 100644
--- a/exec/totempg.c
+++ b/exec/totempg.c
@@ -66,7 +66,7 @@
/*
* ASSEMBLY AND UNPACKING ALGORITHM:
- *
+ *
* copy incoming packet into assembly data buffer indexed by current
* location of end of fragment
*
@@ -79,7 +79,7 @@
* else
* if msg_count = 1 and fragmented
* do nothing
- *
+ *
*/
#include <config.h>
@@ -211,7 +211,7 @@ static unsigned int totempg_max_handle = 0;
struct totempg_group_instance {
void (*deliver_fn) (
unsigned int nodeid,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len,
int endian_conversion_required);
@@ -497,7 +497,7 @@ static void totempg_confchg_fn (
static void totempg_deliver_fn (
unsigned int nodeid,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len,
int endian_conversion_required)
{
@@ -985,7 +985,7 @@ int totempg_groups_initialize (
void (*deliver_fn) (
unsigned int nodeid,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len,
int endian_conversion_required),
diff --git a/exec/totemrrp.c b/exec/totemrrp.c
index ef56df0..d28dc5b 100644
--- a/exec/totemrrp.c
+++ b/exec/totemrrp.c
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2005 MontaVista Software, Inc.
- * Copyright (c) 2006-2008 Red Hat, Inc.
+ * Copyright (c) 2006-2009 Red Hat, Inc.
*
* All rights reserved.
*
@@ -70,12 +70,12 @@
void rrp_deliver_fn (
void *context,
- void *msg,
- int msg_len);
+ const void *msg,
+ size_t msg_len);
void rrp_iface_change_fn (
void *context,
- struct totem_ip_address *iface_addr);
+ const struct totem_ip_address *iface_addr);
struct totemrrp_instance;
struct passive_instance {
@@ -116,30 +116,30 @@ struct rrp_algo {
struct totemrrp_instance *instance,
unsigned int iface_no,
void *context,
- void *msg,
- unsigned int msg_len);
+ const void *msg,
+ size_t msg_len);
void (*mcast_noflush_send) (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len);
void (*mcast_flush_send) (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len);
void (*token_recv) (
struct totemrrp_instance *instance,
unsigned int iface_no,
void *context,
- void *msg,
- unsigned int msg_len,
+ const void *msg,
+ size_t msg_len,
unsigned int token_seqid);
void (*token_send) (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len);
void (*recv_flush) (
@@ -177,16 +177,16 @@ struct totemrrp_instance {
void (*totemrrp_deliver_fn) (
void *context,
- void *msg,
- int msg_len);
+ const void *msg,
+ size_t msg_len);
void (*totemrrp_iface_change_fn) (
void *context,
- struct totem_ip_address *iface_addr,
+ const struct totem_ip_address *iface_addr,
unsigned int iface_no);
void (*totemrrp_token_seqid_get) (
- void *msg,
+ const void *msg,
unsigned int *seqid,
unsigned int *token_is);
@@ -233,30 +233,30 @@ static void none_mcast_recv (
struct totemrrp_instance *instance,
unsigned int iface_no,
void *context,
- void *msg,
- unsigned int msg_len);
+ const void *msg,
+ size_t msg_len);
static void none_mcast_noflush_send (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len);
static void none_mcast_flush_send (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len);
static void none_token_recv (
struct totemrrp_instance *instance,
unsigned int iface_no,
void *context,
- void *msg,
- unsigned int msg_len,
+ const void *msg,
+ size_t msg_len,
unsigned int token_seqid);
static void none_token_send (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len);
static void none_recv_flush (
@@ -291,30 +291,30 @@ static void passive_mcast_recv (
struct totemrrp_instance *instance,
unsigned int iface_no,
void *context,
- void *msg,
- unsigned int msg_len);
+ const void *msg,
+ size_t msg_len);
static void passive_mcast_noflush_send (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len);
static void passive_mcast_flush_send (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len);
static void passive_token_recv (
struct totemrrp_instance *instance,
unsigned int iface_no,
void *context,
- void *msg,
- unsigned int msg_len,
+ const void *msg,
+ size_t msg_len,
unsigned int token_seqid);
static void passive_token_send (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len);
static void passive_recv_flush (
@@ -349,30 +349,30 @@ static void active_mcast_recv (
struct totemrrp_instance *instance,
unsigned int iface_no,
void *context,
- void *msg,
- unsigned int msg_len);
+ const void *msg,
+ size_t msg_len);
static void active_mcast_noflush_send (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len);
static void active_mcast_flush_send (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len);
static void active_token_recv (
struct totemrrp_instance *instance,
unsigned int iface_no,
void *context,
- void *msg,
- unsigned int msg_len,
+ const void *msg,
+ size_t msg_len,
unsigned int token_seqid);
static void active_token_send (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len);
static void active_recv_flush (
@@ -485,8 +485,8 @@ static void none_mcast_recv (
struct totemrrp_instance *rrp_instance,
unsigned int iface_no,
void *context,
- void *msg,
- unsigned int msg_len)
+ const void *msg,
+ size_t msg_len)
{
rrp_instance->totemrrp_deliver_fn (
context,
@@ -496,7 +496,7 @@ static void none_mcast_recv (
static void none_mcast_flush_send (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len)
{
totemnet_mcast_flush_send (instance->net_handles[0], iovec, iov_len);
@@ -504,7 +504,7 @@ static void none_mcast_flush_send (
static void none_mcast_noflush_send (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len)
{
totemnet_mcast_noflush_send (instance->net_handles[0], iovec, iov_len);
@@ -514,8 +514,8 @@ static void none_token_recv (
struct totemrrp_instance *rrp_instance,
unsigned int iface_no,
void *context,
- void *msg,
- unsigned int msg_len,
+ const void *msg,
+ size_t msg_len,
unsigned int token_seq)
{
rrp_instance->totemrrp_deliver_fn (
@@ -526,7 +526,7 @@ static void none_token_recv (
static void none_token_send (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len)
{
totemnet_token_send (
@@ -685,8 +685,8 @@ static void passive_mcast_recv (
struct totemrrp_instance *rrp_instance,
unsigned int iface_no,
void *context,
- void *msg,
- unsigned int msg_len)
+ const void *msg,
+ size_t msg_len)
{
struct passive_instance *passive_instance = (struct passive_instance
*)rrp_instance->rrp_algo_instance;
unsigned int max;
@@ -740,7 +740,7 @@ static void passive_mcast_recv (
static void passive_mcast_flush_send (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len)
{
struct passive_instance *passive_instance = (struct passive_instance
*)instance->rrp_algo_instance;
@@ -754,7 +754,7 @@ static void passive_mcast_flush_send (
static void passive_mcast_noflush_send (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len)
{
struct passive_instance *passive_instance = (struct passive_instance
*)instance->rrp_algo_instance;
@@ -771,8 +771,8 @@ static void passive_token_recv (
struct totemrrp_instance *rrp_instance,
unsigned int iface_no,
void *context,
- void *msg,
- unsigned int msg_len,
+ const void *msg,
+ size_t msg_len,
unsigned int token_seq)
{
struct passive_instance *passive_instance = (struct passive_instance
*)rrp_instance->rrp_algo_instance;
@@ -824,7 +824,7 @@ static void passive_token_recv (
static void passive_token_send (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len)
{
struct passive_instance *passive_instance = (struct passive_instance
*)instance->rrp_algo_instance;
@@ -1094,8 +1094,8 @@ static void active_mcast_recv (
struct totemrrp_instance *instance,
unsigned int iface_no,
void *context,
- void *msg,
- unsigned int msg_len)
+ const void *msg,
+ size_t msg_len)
{
instance->totemrrp_deliver_fn (
context,
@@ -1105,7 +1105,7 @@ static void active_mcast_recv (
static void active_mcast_flush_send (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len)
{
int i;
@@ -1120,7 +1120,7 @@ static void active_mcast_flush_send (
static void active_mcast_noflush_send (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len)
{
int i;
@@ -1137,8 +1137,8 @@ static void active_token_recv (
struct totemrrp_instance *instance,
unsigned int iface_no,
void *context,
- void *msg,
- unsigned int msg_len,
+ const void *msg,
+ size_t msg_len,
unsigned int token_seq)
{
int i;
@@ -1177,7 +1177,7 @@ static void active_token_recv (
static void active_token_send (
struct totemrrp_instance *instance,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len)
{
struct active_instance *rrp_algo_instance = (struct active_instance
*)instance->rrp_algo_instance;
@@ -1308,8 +1308,8 @@ static int totemrrp_algorithm_set (
void rrp_deliver_fn (
void *context,
- void *msg,
- int msg_len)
+ const void *msg,
+ size_t msg_len)
{
unsigned int token_seqid;
unsigned int token_is;
@@ -1347,7 +1347,7 @@ void rrp_deliver_fn (
void rrp_iface_change_fn (
void *context,
- struct totem_ip_address *iface_addr)
+ const struct totem_ip_address *iface_addr)
{
struct deliver_fn_context *deliver_fn_context = (struct
deliver_fn_context *)context;
@@ -1397,16 +1397,16 @@ int totemrrp_initialize (
void (*deliver_fn) (
void *context,
- void *msg,
- int msg_len),
+ const void *msg,
+ size_t msg_len),
void (*iface_change_fn) (
void *context,
- struct totem_ip_address *iface_addr,
+ const struct totem_ip_address *iface_addr,
unsigned int iface_no),
void (*token_seqid_get) (
- void *msg,
+ const void *msg,
unsigned int *seqid,
unsigned int *token_is),
@@ -1589,7 +1589,7 @@ error_exit:
int totemrrp_token_send (
hdb_handle_t handle,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len)
{
struct totemrrp_instance *instance;
@@ -1612,7 +1612,7 @@ error_exit:
int totemrrp_mcast_flush_send (
hdb_handle_t handle,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len)
{
struct totemrrp_instance *instance;
@@ -1635,7 +1635,7 @@ error_exit:
int totemrrp_mcast_noflush_send (
hdb_handle_t handle,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len)
{
struct totemrrp_instance *instance;
diff --git a/exec/totemrrp.h b/exec/totemrrp.h
index 20eed2f..b5926b2 100644
--- a/exec/totemrrp.h
+++ b/exec/totemrrp.h
@@ -1,13 +1,13 @@
/*
* Copyright (c) 2005 MontaVista Software, Inc.
- * Copyright (c) 2006-2007 Red Hat, Inc.
+ * Copyright (c) 2006-2007, 2009 Red Hat, Inc.
*
* All rights reserved.
*
* Author: Steven Dake ([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:
*
@@ -59,16 +59,16 @@ extern int totemrrp_initialize (
void (*deliver_fn) (
void *context,
- void *msg,
- int msg_len),
+ const void *msg,
+ size_t msg_len),
void (*iface_change_fn) (
void *context,
- struct totem_ip_address *iface_addr,
+ const struct totem_ip_address *iface_addr,
unsigned int iface_no),
void (*token_seqid_get) (
- void *msg,
+ const void *msg,
unsigned int *seqid,
unsigned int *token_is),
@@ -81,17 +81,17 @@ extern int totemrrp_processor_count_set (
extern int totemrrp_token_send (
hdb_handle_t handle,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len);
extern int totemrrp_mcast_noflush_send (
hdb_handle_t handle,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len);
extern int totemrrp_mcast_flush_send (
hdb_handle_t handle,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len);
extern int totemrrp_recv_flush (hdb_handle_t handle);
diff --git a/exec/totemsrp.c b/exec/totemsrp.c
index d10dec0..cac4b14 100644
--- a/exec/totemsrp.c
+++ b/exec/totemsrp.c
@@ -507,8 +507,8 @@ struct message_handlers {
int count;
int (*handler_functions[6]) (
struct totemsrp_instance *instance,
- void *msg,
- int msg_len,
+ const void *msg,
+ size_t msg_len,
int endian_conversion_needed);
};
@@ -517,38 +517,38 @@ struct message_handlers {
*/
static int message_handler_orf_token (
struct totemsrp_instance *instance,
- void *msg,
- int msg_len,
+ const void *msg,
+ size_t msg_len,
int endian_conversion_needed);
static int message_handler_mcast (
struct totemsrp_instance *instance,
- void *msg,
- int msg_len,
+ const void *msg,
+ size_t msg_len,
int endian_conversion_needed);
static int message_handler_memb_merge_detect (
struct totemsrp_instance *instance,
- void *msg,
- int msg_len,
+ const void *msg,
+ size_t msg_len,
int endian_conversion_needed);
static int message_handler_memb_join (
struct totemsrp_instance *instance,
- void *msg,
- int msg_len,
+ const void *msg,
+ size_t msg_len,
int endian_conversion_needed);
static int message_handler_memb_commit_token (
struct totemsrp_instance *instance,
- void *msg,
- int msg_len,
+ const void *msg,
+ size_t msg_len,
int endian_conversion_needed);
static int message_handler_token_hold_cancel (
struct totemsrp_instance *instance,
- void *msg,
- int msg_len,
+ const void *msg,
+ size_t msg_len,
int endian_conversion_needed);
static void totemsrp_instance_initialize (struct totemsrp_instance *instance);
@@ -556,7 +556,7 @@ static void totemsrp_instance_initialize (struct
totemsrp_instance *instance);
static unsigned int main_msgs_missing (void);
static void main_token_seqid_get (
- void *msg,
+ const void *msg,
unsigned int *seqid,
unsigned int *token_is);
@@ -585,14 +585,14 @@ static void memb_state_commit_token_target_set (struct
totemsrp_instance *instan
static int memb_state_commit_token_send (struct totemsrp_instance *instance,
struct memb_commit_token *memb_commit_token);
static void memb_state_commit_token_create (struct totemsrp_instance
*instance, struct memb_commit_token *commit_token);
static int token_hold_cancel_send (struct totemsrp_instance *instance);
-static void orf_token_endian_convert (struct orf_token *in, struct orf_token
*out);
-static void memb_commit_token_endian_convert (struct memb_commit_token *in,
struct memb_commit_token *out);
-static void memb_join_endian_convert (struct memb_join *in, struct memb_join
*out);
-static void mcast_endian_convert (struct mcast *in, struct mcast *out);
+static void orf_token_endian_convert (const struct orf_token *in, struct
orf_token *out);
+static void memb_commit_token_endian_convert (const struct memb_commit_token
*in, struct memb_commit_token *out);
+static void memb_join_endian_convert (const struct memb_join *in, struct
memb_join *out);
+static void mcast_endian_convert (const struct mcast *in, struct mcast *out);
static void memb_merge_detect_endian_convert (
struct memb_merge_detect *in,
struct memb_merge_detect *out);
-static void srp_addr_copy_endian_convert (struct srp_addr *out, struct
srp_addr *in);
+static void srp_addr_copy_endian_convert (struct srp_addr *out, const struct
srp_addr *in);
static void timer_function_orf_token_timeout (void *data);
static void timer_function_heartbeat_timeout (void *data);
static void timer_function_token_retransmit_timeout (void *data);
@@ -601,12 +601,12 @@ static void timer_function_merge_detect_timeout (void
*data);
void main_deliver_fn (
void *context,
- void *msg,
- int msg_len);
+ const void *msg,
+ size_t msg_len);
void main_iface_change_fn (
void *context,
- struct totem_ip_address *iface_address,
+ const struct totem_ip_address *iface_address,
unsigned int iface_no);
/*
@@ -659,7 +659,7 @@ static void totemsrp_instance_initialize (struct
totemsrp_instance *instance)
}
static void main_token_seqid_get (
- void *msg,
+ const void *msg,
unsigned int *seqid,
unsigned int *token_is)
{
@@ -689,7 +689,7 @@ int totemsrp_initialize (
void (*deliver_fn) (
unsigned int nodeid,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len,
int endian_conversion_required),
@@ -1037,7 +1037,7 @@ static void srp_addr_to_nodeid (
}
}
-static void srp_addr_copy_endian_convert (struct srp_addr *out, struct
srp_addr *in)
+static void srp_addr_copy_endian_convert (struct srp_addr *out, const struct
srp_addr *in)
{
int i;
@@ -3188,8 +3188,8 @@ struct timeval tv_old;
*/
static int message_handler_orf_token (
struct totemsrp_instance *instance,
- void *msg,
- int msg_len,
+ const void *msg,
+ size_t msg_len,
int endian_conversion_needed)
{
char token_storage[1500];
@@ -3612,8 +3612,8 @@ static void messages_deliver_to_app (
*/
static int message_handler_mcast (
struct totemsrp_instance *instance,
- void *msg,
- int msg_len,
+ const void *msg,
+ size_t msg_len,
int endian_conversion_needed)
{
struct sort_queue_item sort_queue_item;
@@ -3734,8 +3734,8 @@ static int message_handler_mcast (
static int message_handler_memb_merge_detect (
struct totemsrp_instance *instance,
- void *msg,
- int msg_len,
+ const void *msg,
+ size_t msg_len,
int endian_conversion_needed)
{
struct memb_merge_detect *memb_merge_detect = (struct memb_merge_detect
*)msg;
@@ -3862,7 +3862,7 @@ static int memb_join_process (
return (0); /* gather not entered */
}
-static void memb_join_endian_convert (struct memb_join *in, struct memb_join
*out)
+static void memb_join_endian_convert (const struct memb_join *in, struct
memb_join *out)
{
int i;
struct srp_addr *in_proc_list;
@@ -3891,7 +3891,7 @@ static void memb_join_endian_convert (struct memb_join
*in, struct memb_join *ou
}
}
-static void memb_commit_token_endian_convert (struct memb_commit_token *in,
struct memb_commit_token *out)
+static void memb_commit_token_endian_convert (const struct memb_commit_token
*in, struct memb_commit_token *out)
{
int i;
struct srp_addr *in_addr = (struct srp_addr *)in->end_of_commit_token;
@@ -3930,7 +3930,7 @@ static void memb_commit_token_endian_convert (struct
memb_commit_token *in, stru
}
}
-static void orf_token_endian_convert (struct orf_token *in, struct orf_token
*out)
+static void orf_token_endian_convert (const struct orf_token *in, struct
orf_token *out)
{
int i;
@@ -3954,7 +3954,7 @@ static void orf_token_endian_convert (struct orf_token
*in, struct orf_token *ou
}
}
-static void mcast_endian_convert (struct mcast *in, struct mcast *out)
+static void mcast_endian_convert (const struct mcast *in, struct mcast *out)
{
out->header.type = in->header.type;
out->header.endian_detector = ENDIAN_LOCAL;
@@ -3984,8 +3984,8 @@ static void memb_merge_detect_endian_convert (
static int message_handler_memb_join (
struct totemsrp_instance *instance,
- void *msg,
- int msg_len,
+ const void *msg,
+ size_t msg_len,
int endian_conversion_needed)
{
struct memb_join *memb_join;
@@ -4049,8 +4049,8 @@ static int message_handler_memb_join (
static int message_handler_memb_commit_token (
struct totemsrp_instance *instance,
- void *msg,
- int msg_len,
+ const void *msg,
+ size_t msg_len,
int endian_conversion_needed)
{
struct memb_commit_token *memb_commit_token_convert = alloca (msg_len);
@@ -4130,8 +4130,8 @@ static int message_handler_memb_commit_token (
static int message_handler_token_hold_cancel (
struct totemsrp_instance *instance,
- void *msg,
- int msg_len,
+ const void *msg,
+ size_t msg_len,
int endian_conversion_needed)
{
struct token_hold_cancel *token_hold_cancel = (struct token_hold_cancel
*)msg;
@@ -4149,14 +4149,16 @@ static int message_handler_token_hold_cancel (
void main_deliver_fn (
void *context,
- void *msg,
- int msg_len)
+ const void *msg,
+ size_t msg_len)
{
struct totemsrp_instance *instance = (struct totemsrp_instance
*)context;
struct message_header *message_header = (struct message_header *)msg;
if (msg_len < sizeof (struct message_header)) {
- log_printf (instance->totemsrp_log_level_security, "Received
message is too short... ignoring %d.\n", msg_len);
+ log_printf (instance->totemsrp_log_level_security,
+ "Received message is too short... ignoring %u.\n",
+ (unsigned int)msg_len);
return;
}
@@ -4177,7 +4179,7 @@ void main_deliver_fn (
void main_iface_change_fn (
void *context,
- struct totem_ip_address *iface_addr,
+ const struct totem_ip_address *iface_addr,
unsigned int iface_no)
{
struct totemsrp_instance *instance = (struct totemsrp_instance
*)context;
diff --git a/exec/totemsrp.h b/exec/totemsrp.h
index 09ebcb8..5f76dff 100644
--- a/exec/totemsrp.h
+++ b/exec/totemsrp.h
@@ -53,7 +53,7 @@ int totemsrp_initialize (
void (*deliver_fn) (
unsigned int nodeid,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len,
int endian_conversion_required),
void (*confchg_fn) (
diff --git a/exec/vsf_ykd.c b/exec/vsf_ykd.c
index 83353c6..091a3ae 100644
--- a/exec/vsf_ykd.c
+++ b/exec/vsf_ykd.c
@@ -341,7 +341,7 @@ static void ykd_state_endian_convert (struct ykd_state
*ykd_state)
static void ykd_deliver_fn (
unsigned int nodeid,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len,
int endian_conversion_required)
{
diff --git a/include/corosync/engine/coroapi.h
b/include/corosync/engine/coroapi.h
index 13e07ad..779b0c0 100644
--- a/include/corosync/engine/coroapi.h
+++ b/include/corosync/engine/coroapi.h
@@ -446,7 +446,7 @@ struct corosync_api_v1 {
void (*deliver_fn) (
unsigned int nodeid,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len,
int endian_conversion_required),
diff --git a/include/corosync/totem/totempg.h b/include/corosync/totem/totempg.h
index dffdad9..89bfd7c 100644
--- a/include/corosync/totem/totempg.h
+++ b/include/corosync/totem/totempg.h
@@ -7,7 +7,7 @@
* Author: Steven Dake ([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:
*
@@ -80,7 +80,7 @@ extern int totempg_groups_initialize (
void (*deliver_fn) (
unsigned int nodeid,
- struct iovec *iovec,
+ const struct iovec *iovec,
unsigned int iov_len,
int endian_conversion_required),
@@ -117,7 +117,7 @@ extern int totempg_groups_joined_reserve (
extern int totempg_groups_joined_release (
int msg_count);
-
+
extern int totempg_groups_mcast_groups (
hdb_handle_t handle,
int guarantee,
@@ -132,7 +132,7 @@ extern int totempg_groups_send_ok_groups (
size_t groups_cnt,
const struct iovec *iovec,
unsigned int iov_len);
-
+
extern int totempg_ifaces_get (
unsigned int nodeid,
struct totem_ip_address *interfaces,
@@ -146,5 +146,5 @@ extern unsigned int totempg_my_nodeid_get (void);
extern int totempg_my_family_get (void);
extern int totempg_ring_reenable (void);
-
+
#endif /* TOTEMPG_H_DEFINED */
diff --git a/services/votequorum.c b/services/votequorum.c
index 5834ed0..9f85b46 100644
--- a/services/votequorum.c
+++ b/services/votequorum.c
@@ -178,7 +178,8 @@ static void quorum_confchg_fn (
const unsigned int *joined_list, size_t joined_list_entries,
const struct memb_ring_id *ring_id);
-static void quorum_deliver_fn(unsigned int nodeid, struct iovec *iovec,
unsigned int iov_len,
+static void quorum_deliver_fn(unsigned int nodeid,
+ const struct iovec *iovec, unsigned int iov_len,
int endian_conversion_required);
static int votequorum_exec_init_fn (struct corosync_api_v1 *corosync_api);
@@ -988,7 +989,8 @@ static void exec_quorum_killnode_endian_convert (void *msg)
killnode->nodeid = swab32(killnode->nodeid);
}
-static void quorum_deliver_fn(unsigned int nodeid, struct iovec *iovec,
unsigned int iov_len,
+static void quorum_deliver_fn(unsigned int nodeid,
+ const struct iovec *iovec, unsigned int iov_len,
int endian_conversion_required)
{
struct q_protheader *header = iovec->iov_base;
--
1.6.2.rc1.285.gc5f54
_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais