static size_t ctdb_req_control_data_len(struct ctdb_req_control_data *cd)
{
size_t len = 0;
+ uint32_t u32;
if (cd == NULL) {
return 0;
break;
case CTDB_CONTROL_GETDBPATH:
- len = ctdb_uint32_len(cd->data.db_id);
+ len = ctdb_uint32_len(&cd->data.db_id);
break;
case CTDB_CONTROL_GETVNNMAP:
break;
case CTDB_CONTROL_SET_DEBUG:
- len = ctdb_uint32_len(cd->data.loglevel);
+ len = ctdb_uint32_len(&cd->data.loglevel);
break;
case CTDB_CONTROL_GET_DBMAP:
break;
case CTDB_CONTROL_SET_RECMODE:
- len = ctdb_uint32_len(cd->data.recmode);
+ len = ctdb_uint32_len(&cd->data.recmode);
break;
case CTDB_CONTROL_STATISTICS_RESET:
break;
case CTDB_CONTROL_GET_DBNAME:
- len = ctdb_uint32_len(cd->data.db_id);
+ len = ctdb_uint32_len(&cd->data.db_id);
break;
case CTDB_CONTROL_ENABLE_SEQNUM:
- len = ctdb_uint32_len(cd->data.db_id);
+ len = ctdb_uint32_len(&cd->data.db_id);
break;
case CTDB_CONTROL_UPDATE_SEQNUM:
- len = ctdb_uint32_len(cd->data.db_id);
+ len = ctdb_uint32_len(&cd->data.db_id);
break;
case CTDB_CONTROL_DUMP_MEMORY:
break;
case CTDB_CONTROL_SET_RECMASTER:
- len = ctdb_uint32_len(cd->data.recmaster);
+ len = ctdb_uint32_len(&cd->data.recmaster);
break;
case CTDB_CONTROL_FREEZE:
break;
case CTDB_CONTROL_SET_LMASTERROLE:
- len = ctdb_uint32_len(cd->data.role);
+ len = ctdb_uint32_len(&cd->data.role);
break;
case CTDB_CONTROL_SET_RECMASTERROLE:
- len = ctdb_uint32_len(cd->data.role);
+ len = ctdb_uint32_len(&cd->data.role);
break;
case CTDB_CONTROL_SET_BAN_STATE:
break;
case CTDB_CONTROL_GET_DB_SEQNUM:
- len = ctdb_uint32_len(cd->data.db_id) + ctdb_uint32_len(0);
+ u32 = 0;
+ len = ctdb_uint32_len(&cd->data.db_id) + ctdb_uint32_len(&u32);
break;
case CTDB_CONTROL_DB_SET_HEALTHY:
- len = ctdb_uint32_len(cd->data.db_id);
+ len = ctdb_uint32_len(&cd->data.db_id);
break;
case CTDB_CONTROL_DB_GET_HEALTH:
- len = ctdb_uint32_len(cd->data.db_id);
+ len = ctdb_uint32_len(&cd->data.db_id);
break;
case CTDB_CONTROL_GET_PUBLIC_IP_INFO:
break;
case CTDB_CONTROL_SET_DB_READONLY:
- len = ctdb_uint32_len(cd->data.db_id);
+ len = ctdb_uint32_len(&cd->data.db_id);
break;
case CTDB_CONTROL_CHECK_SRVIDS:
break;
case CTDB_CONTROL_GET_DB_STATISTICS:
- len = ctdb_uint32_len(cd->data.db_id);
+ len = ctdb_uint32_len(&cd->data.db_id);
break;
case CTDB_CONTROL_SET_DB_STICKY:
- len = ctdb_uint32_len(cd->data.db_id);
+ len = ctdb_uint32_len(&cd->data.db_id);
break;
case CTDB_CONTROL_RELOAD_PUBLIC_IPS:
break;
case CTDB_CONTROL_DB_DETACH:
- len = ctdb_uint32_len(cd->data.db_id);
+ len = ctdb_uint32_len(&cd->data.db_id);
break;
case CTDB_CONTROL_GET_NODES_FILE:
break;
case CTDB_CONTROL_DB_FREEZE:
- len = ctdb_uint32_len(cd->data.db_id);
+ len = ctdb_uint32_len(&cd->data.db_id);
break;
case CTDB_CONTROL_DB_THAW:
- len = ctdb_uint32_len(cd->data.db_id);
+ len = ctdb_uint32_len(&cd->data.db_id);
break;
case CTDB_CONTROL_DB_TRANSACTION_START:
break;
case CTDB_CONTROL_DB_TRANSACTION_CANCEL:
- len = ctdb_uint32_len(cd->data.db_id);
+ len = ctdb_uint32_len(&cd->data.db_id);
break;
case CTDB_CONTROL_DB_PULL:
break;
case CTDB_CONTROL_DB_PUSH_CONFIRM:
- len = ctdb_uint32_len(cd->data.db_id);
+ len = ctdb_uint32_len(&cd->data.db_id);
break;
case CTDB_CONTROL_DB_OPEN_FLAGS:
- len = ctdb_uint32_len(cd->data.db_id);
+ len = ctdb_uint32_len(&cd->data.db_id);
break;
case CTDB_CONTROL_DB_ATTACH_REPLICATED:
static void ctdb_req_control_data_push(struct ctdb_req_control_data *cd,
uint8_t *buf)
{
+ size_t np, offset;
+ uint32_t u32;
+
switch (cd->opcode) {
case CTDB_CONTROL_PROCESS_EXISTS:
ctdb_pid_push(cd->data.pid, buf);
break;
case CTDB_CONTROL_GETDBPATH:
- ctdb_uint32_push(cd->data.db_id, buf);
+ ctdb_uint32_push(&cd->data.db_id, buf, &np);
break;
case CTDB_CONTROL_SETVNNMAP:
break;
case CTDB_CONTROL_SET_DEBUG:
- ctdb_uint32_push(cd->data.loglevel, buf);
+ ctdb_uint32_push(&cd->data.loglevel, buf, &np);
break;
case CTDB_CONTROL_PULL_DB:
break;
case CTDB_CONTROL_SET_RECMODE:
- ctdb_uint32_push(cd->data.recmode, buf);
+ ctdb_uint32_push(&cd->data.recmode, buf, &np);
break;
case CTDB_CONTROL_DB_ATTACH:
break;
case CTDB_CONTROL_GET_DBNAME:
- ctdb_uint32_push(cd->data.db_id, buf);
+ ctdb_uint32_push(&cd->data.db_id, buf, &np);
break;
case CTDB_CONTROL_ENABLE_SEQNUM:
- ctdb_uint32_push(cd->data.db_id, buf);
+ ctdb_uint32_push(&cd->data.db_id, buf, &np);
break;
case CTDB_CONTROL_UPDATE_SEQNUM:
- ctdb_uint32_push(cd->data.db_id, buf);
+ ctdb_uint32_push(&cd->data.db_id, buf, &np);
break;
case CTDB_CONTROL_SET_RECMASTER:
- ctdb_uint32_push(cd->data.recmaster, buf);
+ ctdb_uint32_push(&cd->data.recmaster, buf, &np);
break;
case CTDB_CONTROL_TCP_CLIENT:
break;
case CTDB_CONTROL_SET_LMASTERROLE:
- ctdb_uint32_push(cd->data.role, buf);
+ ctdb_uint32_push(&cd->data.role, buf, &np);
break;
case CTDB_CONTROL_SET_RECMASTERROLE:
- ctdb_uint32_push(cd->data.role, buf);
+ ctdb_uint32_push(&cd->data.role, buf, &np);
break;
case CTDB_CONTROL_SET_BAN_STATE:
break;
case CTDB_CONTROL_GET_DB_SEQNUM:
- ctdb_uint32_push(cd->data.db_id, buf);
- ctdb_uint32_push(0, buf+4);
+ u32 = 0;
+ offset = 0;
+ ctdb_uint32_push(&cd->data.db_id, buf, &np);
+ offset += np;
+ ctdb_uint32_push(&u32, buf+offset, &np);
+ offset += np;
+ np = offset;
break;
case CTDB_CONTROL_DB_SET_HEALTHY:
- ctdb_uint32_push(cd->data.db_id, buf);
+ ctdb_uint32_push(&cd->data.db_id, buf, &np);
break;
case CTDB_CONTROL_DB_GET_HEALTH:
- ctdb_uint32_push(cd->data.db_id, buf);
+ ctdb_uint32_push(&cd->data.db_id, buf, &np);
break;
case CTDB_CONTROL_GET_PUBLIC_IP_INFO:
break;
case CTDB_CONTROL_SET_DB_READONLY:
- ctdb_uint32_push(cd->data.db_id, buf);
+ ctdb_uint32_push(&cd->data.db_id, buf, &np);
break;
case CTDB_CONTROL_CHECK_SRVIDS:
break;
case CTDB_CONTROL_GET_DB_STATISTICS:
- ctdb_uint32_push(cd->data.db_id, buf);
+ ctdb_uint32_push(&cd->data.db_id, buf, &np);
break;
case CTDB_CONTROL_SET_DB_STICKY:
- ctdb_uint32_push(cd->data.db_id, buf);
+ ctdb_uint32_push(&cd->data.db_id, buf, &np);
break;
case CTDB_CONTROL_TRAVERSE_ALL_EXT:
break;
case CTDB_CONTROL_DB_DETACH:
- ctdb_uint32_push(cd->data.db_id, buf);
+ ctdb_uint32_push(&cd->data.db_id, buf, &np);
break;
case CTDB_CONTROL_DB_FREEZE:
- ctdb_uint32_push(cd->data.db_id, buf);
+ ctdb_uint32_push(&cd->data.db_id, buf, &np);
break;
case CTDB_CONTROL_DB_THAW:
- ctdb_uint32_push(cd->data.db_id, buf);
+ ctdb_uint32_push(&cd->data.db_id, buf, &np);
break;
case CTDB_CONTROL_DB_TRANSACTION_START:
break;
case CTDB_CONTROL_DB_TRANSACTION_CANCEL:
- ctdb_uint32_push(cd->data.db_id, buf);
+ ctdb_uint32_push(&cd->data.db_id, buf, &np);
break;
case CTDB_CONTROL_DB_PULL:
break;
case CTDB_CONTROL_DB_PUSH_CONFIRM:
- ctdb_uint32_push(cd->data.db_id, buf);
+ ctdb_uint32_push(&cd->data.db_id, buf, &np);
break;
case CTDB_CONTROL_DB_OPEN_FLAGS:
- ctdb_uint32_push(cd->data.db_id, buf);
+ ctdb_uint32_push(&cd->data.db_id, buf, &np);
break;
case CTDB_CONTROL_DB_ATTACH_REPLICATED:
TALLOC_CTX *mem_ctx,
struct ctdb_req_control_data *cd)
{
+ size_t np, offset;
uint32_t u32;
int ret = 0;
break;
case CTDB_CONTROL_GETDBPATH:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.db_id);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.db_id, &np);
break;
case CTDB_CONTROL_SETVNNMAP:
break;
case CTDB_CONTROL_SET_DEBUG:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.loglevel);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.loglevel, &np);
break;
case CTDB_CONTROL_PULL_DB:
break;
case CTDB_CONTROL_SET_RECMODE:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.recmode);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.recmode, &np);
break;
case CTDB_CONTROL_DB_ATTACH:
break;
case CTDB_CONTROL_GET_DBNAME:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.db_id);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.db_id, &np);
break;
case CTDB_CONTROL_ENABLE_SEQNUM:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.db_id);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.db_id, &np);
break;
case CTDB_CONTROL_UPDATE_SEQNUM:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.db_id);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.db_id, &np);
break;
case CTDB_CONTROL_SET_RECMASTER:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.recmaster);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.recmaster, &np);
break;
case CTDB_CONTROL_TCP_CLIENT:
break;
case CTDB_CONTROL_SET_LMASTERROLE:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.role);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.role, &np);
break;
case CTDB_CONTROL_SET_RECMASTERROLE:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.role);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.role, &np);
break;
case CTDB_CONTROL_SET_BAN_STATE:
break;
case CTDB_CONTROL_GET_DB_SEQNUM:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx, &cd->data.db_id);
+ offset = 0;
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.db_id, &np);
if (ret != 0) {
break;
}
- ret = ctdb_uint32_pull(buf+4, buflen-4, mem_ctx, &u32);
+ offset += np;
+ ret = ctdb_uint32_pull(buf+offset, buflen-offset, &u32, &np);
+ offset += np;
+ np = offset;
break;
case CTDB_CONTROL_DB_SET_HEALTHY:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.db_id);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.db_id, &np);
break;
case CTDB_CONTROL_DB_GET_HEALTH:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.db_id);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.db_id, &np);
break;
case CTDB_CONTROL_GET_PUBLIC_IP_INFO:
break;
case CTDB_CONTROL_SET_DB_READONLY:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.db_id);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.db_id, &np);
break;
case CTDB_CONTROL_CHECK_SRVIDS:
break;
case CTDB_CONTROL_GET_DB_STATISTICS:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.db_id);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.db_id, &np);
break;
case CTDB_CONTROL_SET_DB_STICKY:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.db_id);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.db_id, &np);
break;
case CTDB_CONTROL_TRAVERSE_ALL_EXT:
break;
case CTDB_CONTROL_DB_DETACH:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.db_id);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.db_id, &np);
break;
case CTDB_CONTROL_DB_FREEZE:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.db_id);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.db_id, &np);
break;
case CTDB_CONTROL_DB_THAW:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.db_id);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.db_id, &np);
break;
case CTDB_CONTROL_DB_TRANSACTION_START:
break;
case CTDB_CONTROL_DB_TRANSACTION_CANCEL:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.db_id);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.db_id, &np);
break;
case CTDB_CONTROL_DB_PULL:
break;
case CTDB_CONTROL_DB_PUSH_CONFIRM:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.db_id);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.db_id, &np);
break;
case CTDB_CONTROL_DB_OPEN_FLAGS:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.db_id);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.db_id, &np);
break;
case CTDB_CONTROL_DB_ATTACH_REPLICATED:
break;
case CTDB_CONTROL_GET_DEBUG:
- len = ctdb_uint32_len(cd->data.loglevel);
+ len = ctdb_uint32_len(&cd->data.loglevel);
break;
case CTDB_CONTROL_SET_DEBUG:
break;
case CTDB_CONTROL_DB_ATTACH:
- len = ctdb_uint32_len(cd->data.db_id);
+ len = ctdb_uint32_len(&cd->data.db_id);
break;
case CTDB_CONTROL_SET_CALL:
break;
case CTDB_CONTROL_GET_TUNABLE:
- len = ctdb_uint32_len(cd->data.tun_value);
+ len = ctdb_uint32_len(&cd->data.tun_value);
break;
case CTDB_CONTROL_LIST_TUNABLES:
break;
case CTDB_CONTROL_DB_ATTACH_PERSISTENT:
- len = ctdb_uint32_len(cd->data.db_id);
+ len = ctdb_uint32_len(&cd->data.db_id);
break;
case CTDB_CONTROL_UPDATE_RECORD:
break;
case CTDB_CONTROL_GET_CAPABILITIES:
- len = ctdb_uint32_len(cd->data.caps);
+ len = ctdb_uint32_len(&cd->data.caps);
break;
case CTDB_CONTROL_RECD_PING:
break;
case CTDB_CONTROL_GET_RUNSTATE:
- len = ctdb_uint32_len(cd->data.runstate);
+ len = ctdb_uint32_len(&cd->data.runstate);
break;
case CTDB_CONTROL_DB_DETACH:
break;
case CTDB_CONTROL_DB_PULL:
- len = ctdb_uint32_len(cd->data.num_records);
+ len = ctdb_uint32_len(&cd->data.num_records);
break;
case CTDB_CONTROL_DB_PUSH_START:
break;
case CTDB_CONTROL_DB_PUSH_CONFIRM:
- len = ctdb_uint32_len(cd->data.num_records);
+ len = ctdb_uint32_len(&cd->data.num_records);
break;
case CTDB_CONTROL_DB_OPEN_FLAGS:
break;
case CTDB_CONTROL_DB_ATTACH_REPLICATED:
- len = ctdb_uint32_len(cd->data.db_id);
+ len = ctdb_uint32_len(&cd->data.db_id);
break;
}
break;
case CTDB_CONTROL_GET_DEBUG:
- ctdb_uint32_push(cd->data.loglevel, buf);
+ ctdb_uint32_push(&cd->data.loglevel, buf, &np);
break;
case CTDB_CONTROL_GET_DBMAP:
break;
case CTDB_CONTROL_DB_ATTACH:
- ctdb_uint32_push(cd->data.db_id, buf);
+ ctdb_uint32_push(&cd->data.db_id, buf, &np);
break;
case CTDB_CONTROL_GET_DBNAME:
break;
case CTDB_CONTROL_GET_TUNABLE:
- ctdb_uint32_push(cd->data.tun_value, buf);
+ ctdb_uint32_push(&cd->data.tun_value, buf, &np);
break;
case CTDB_CONTROL_LIST_TUNABLES:
break;
case CTDB_CONTROL_DB_ATTACH_PERSISTENT:
- ctdb_uint32_push(cd->data.db_id, buf);
+ ctdb_uint32_push(&cd->data.db_id, buf, &np);
break;
case CTDB_CONTROL_UPTIME:
break;
case CTDB_CONTROL_GET_CAPABILITIES:
- ctdb_uint32_push(cd->data.caps, buf);
+ ctdb_uint32_push(&cd->data.caps, buf, &np);
break;
case CTDB_CONTROL_GET_PUBLIC_IPS:
break;
case CTDB_CONTROL_GET_RUNSTATE:
- ctdb_uint32_push(cd->data.runstate, buf);
+ ctdb_uint32_push(&cd->data.runstate, buf, &np);
break;
case CTDB_CONTROL_GET_NODES_FILE:
break;
case CTDB_CONTROL_DB_PULL:
- ctdb_uint32_push(cd->data.num_records, buf);
+ ctdb_uint32_push(&cd->data.num_records, buf, &np);
break;
case CTDB_CONTROL_DB_PUSH_CONFIRM:
- ctdb_uint32_push(cd->data.num_records, buf);
+ ctdb_uint32_push(&cd->data.num_records, buf, &np);
break;
case CTDB_CONTROL_DB_OPEN_FLAGS:
break;
case CTDB_CONTROL_DB_ATTACH_REPLICATED:
- ctdb_uint32_push(cd->data.db_id, buf);
+ ctdb_uint32_push(&cd->data.db_id, buf, &np);
break;
}
}
break;
case CTDB_CONTROL_GET_DEBUG:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.loglevel);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.loglevel, &np);
break;
case CTDB_CONTROL_GET_DBMAP:
break;
case CTDB_CONTROL_DB_ATTACH:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.db_id);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.db_id, &np);
break;
case CTDB_CONTROL_GET_DBNAME:
break;
case CTDB_CONTROL_GET_TUNABLE:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.tun_value);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.tun_value,
+ &np);
break;
case CTDB_CONTROL_LIST_TUNABLES:
break;
case CTDB_CONTROL_DB_ATTACH_PERSISTENT:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.db_id);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.db_id, &np);
break;
case CTDB_CONTROL_UPTIME:
break;
case CTDB_CONTROL_GET_CAPABILITIES:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.caps);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.caps, &np);
break;
case CTDB_CONTROL_GET_PUBLIC_IPS:
break;
case CTDB_CONTROL_GET_RUNSTATE:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.runstate);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.runstate, &np);
break;
case CTDB_CONTROL_GET_NODES_FILE:
break;
case CTDB_CONTROL_DB_PULL:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.num_records);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.num_records,
+ &np);
break;
case CTDB_CONTROL_DB_PUSH_CONFIRM:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.num_records);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.num_records,
+ &np);
break;
case CTDB_CONTROL_DB_OPEN_FLAGS:
break;
case CTDB_CONTROL_DB_ATTACH_REPLICATED:
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
- &cd->data.db_id);
+ ret = ctdb_uint32_pull(buf, buflen, &cd->data.db_id, &np);
break;
}
static size_t ctdb_event_len(enum ctdb_event in)
{
- return ctdb_uint32_len((uint32_t)in);
+ uint32_t u32 = in;
+
+ return ctdb_uint32_len(&u32);
}
static void ctdb_event_push(enum ctdb_event in, uint8_t *buf)
{
- ctdb_uint32_push((uint32_t)in, buf);
+ size_t np;
+ uint32_t u32 = in;
+
+ ctdb_uint32_push(&u32, buf, &np);
}
static int ctdb_event_pull(uint8_t *buf, size_t buflen,
{
uint32_t uint32_value;
enum ctdb_event value;
+ size_t np;
int ret;
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx, &uint32_value);
+ ret = ctdb_uint32_pull(buf, buflen, &uint32_value, &np);
if (ret != 0) {
return ret;
}
static size_t ctdb_event_command_len(enum ctdb_event_command in)
{
- return ctdb_uint32_len((uint32_t)in);
+ uint32_t u32 = in;
+
+ return ctdb_uint32_len(&u32);
}
static void ctdb_event_command_push(enum ctdb_event_command in, uint8_t *buf)
{
- ctdb_uint32_push((uint32_t)in, buf);
+ size_t np;
+ uint32_t u32 = in;
+
+ ctdb_uint32_push(&u32, buf, &np);
}
static int ctdb_event_command_pull(uint8_t *buf, size_t buflen,
{
uint32_t uint32_value;
enum ctdb_event_command value;
+ size_t np;
int ret;
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx, &uint32_value);
+ ret = ctdb_uint32_pull(buf, buflen, &uint32_value, &np);
if (ret != 0) {
return ret;
}
static size_t ctdb_event_status_state_len(enum ctdb_event_status_state in)
{
- return ctdb_uint32_len((uint32_t)in);
+ uint32_t u32 = in;
+
+ return ctdb_uint32_len(&u32);
}
static void ctdb_event_status_state_push(enum ctdb_event_status_state in,
uint8_t *buf)
{
- ctdb_uint32_push((uint32_t)in, buf);
+ size_t np;
+ uint32_t u32 = in;
+
+ ctdb_uint32_push(&u32, buf, &np);
}
static int ctdb_event_status_state_pull(uint8_t *buf, size_t buflen,
{
uint32_t uint32_value;
enum ctdb_event_status_state value;
+ size_t np;
int ret;
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx, &uint32_value);
+ ret = ctdb_uint32_pull(buf, buflen, &uint32_value, &np);
if (ret != 0) {
return ret;
}
static size_t ctdb_event_request_run_len(struct ctdb_event_request_run *in)
{
return ctdb_event_len(in->event) +
- ctdb_uint32_len(in->timeout) +
+ ctdb_uint32_len(&in->timeout) +
ctdb_stringn_len(in->arg_str);
}
static void ctdb_event_request_run_push(struct ctdb_event_request_run *in,
uint8_t *buf)
{
- size_t offset = 0;
+ size_t offset = 0, np;
ctdb_event_push(in->event, buf);
offset += ctdb_event_len(in->event);
- ctdb_uint32_push(in->timeout, buf+offset);
- offset += ctdb_uint32_len(in->timeout);
+ ctdb_uint32_push(&in->timeout, buf+offset, &np);
+ offset += np;
ctdb_stringn_push(in->arg_str, buf+offset);
}
struct ctdb_event_request_run **out)
{
struct ctdb_event_request_run *rdata;
- size_t offset = 0;
+ size_t offset = 0, np;
int ret;
rdata = talloc(mem_ctx, struct ctdb_event_request_run);
}
offset += ctdb_event_len(rdata->event);
- ret = ctdb_uint32_pull(buf+offset, buflen-offset,
- rdata, &rdata->timeout);
+ ret = ctdb_uint32_pull(buf+offset, buflen-offset, &rdata->timeout,
+ &np);
if (ret != 0) {
goto fail;
}
- offset += ctdb_uint32_len(rdata->timeout);
+ offset += np;
ret = ctdb_stringn_pull(buf+offset, buflen-offset,
rdata, &rdata->arg_str);
static size_t ctdb_event_header_len(struct ctdb_event_header *in)
{
- return ctdb_uint32_len(in->length) + ctdb_uint32_len(in->reqid);
+ return ctdb_uint32_len(&in->length) + ctdb_uint32_len(&in->reqid);
}
static void ctdb_event_header_push(struct ctdb_event_header *in, uint8_t *buf)
{
- size_t offset = 0;
+ size_t offset = 0, np;
- ctdb_uint32_push(in->length, buf);
- offset += ctdb_uint32_len(in->length);
+ ctdb_uint32_push(&in->length, buf, &np);
+ offset += np;
- ctdb_uint32_push(in->reqid, buf+offset);
+ ctdb_uint32_push(&in->reqid, buf+offset, &np);
}
static int ctdb_event_header_pull(uint8_t *buf, size_t buflen,
TALLOC_CTX *mem_ctx,
struct ctdb_event_header *out)
{
- size_t offset = 0;
+ size_t offset = 0, np;
int ret;
- ret = ctdb_uint32_pull(buf, buflen, mem_ctx, &out->length);
+ ret = ctdb_uint32_pull(buf, buflen, &out->length, &np);
if (ret != 0) {
return ret;
}
- offset += ctdb_uint32_len(out->length);
+ offset += np;
- ret = ctdb_uint32_pull(buf+offset, buflen-offset,
- mem_ctx, &out->reqid);
+ ret = ctdb_uint32_pull(buf+offset, buflen-offset, &out->reqid, &np);
if (ret != 0) {
return ret;
}