From: Stefan Metzmacher Date: Wed, 16 Dec 2009 14:50:06 +0000 (+0100) Subject: client: add CTDB_PUBLIC_IP_FLAGS_ONLY_AVAILABLE ctdb_ctrl_get_public_ips_flags() X-Git-Url: http://git.samba.org/?a=commitdiff_plain;h=6bd780510058e5589f2f7c3722d37acbba4935ab;p=metze%2Fctdb%2Fwip.git client: add CTDB_PUBLIC_IP_FLAGS_ONLY_AVAILABLE ctdb_ctrl_get_public_ips_flags() metze --- diff --git a/client/ctdb_client.c b/client/ctdb_client.c index 4aad4006..706d25fd 100644 --- a/client/ctdb_client.c +++ b/client/ctdb_client.c @@ -2318,16 +2318,18 @@ int ctdb_ctrl_list_tunables(struct ctdb_context *ctdb, } -int ctdb_ctrl_get_public_ips(struct ctdb_context *ctdb, - struct timeval timeout, uint32_t destnode, - TALLOC_CTX *mem_ctx, struct ctdb_all_public_ips **ips) +int ctdb_ctrl_get_public_ips_flags(struct ctdb_context *ctdb, + struct timeval timeout, uint32_t destnode, + TALLOC_CTX *mem_ctx, + uint32_t flags, + struct ctdb_all_public_ips **ips) { int ret; TDB_DATA outdata; int32_t res; ret = ctdb_control(ctdb, destnode, 0, - CTDB_CONTROL_GET_PUBLIC_IPS, 0, tdb_null, + CTDB_CONTROL_GET_PUBLIC_IPS, flags, tdb_null, mem_ctx, &outdata, &res, &timeout, NULL); if (ret == 0 && res == -1) { DEBUG(DEBUG_ERR,(__location__ " ctdb_control to get public ips failed, falling back to ipv4-only version\n")); @@ -2344,6 +2346,16 @@ int ctdb_ctrl_get_public_ips(struct ctdb_context *ctdb, return 0; } +int ctdb_ctrl_get_public_ips(struct ctdb_context *ctdb, + struct timeval timeout, uint32_t destnode, + TALLOC_CTX *mem_ctx, + struct ctdb_all_public_ips **ips) +{ + return ctdb_ctrl_get_public_ips_flags(ctdb, timeout, + destnode, mem_ctx, + 0, ips); +} + int ctdb_ctrl_get_public_ipsv4(struct ctdb_context *ctdb, struct timeval timeout, uint32_t destnode, TALLOC_CTX *mem_ctx, struct ctdb_all_public_ips **ips) diff --git a/include/ctdb_private.h b/include/ctdb_private.h index f71be4df..21782131 100644 --- a/include/ctdb_private.h +++ b/include/ctdb_private.h @@ -1305,8 +1305,16 @@ struct ctdb_all_public_ips { int32_t ctdb_control_get_public_ipsv4(struct ctdb_context *ctdb, struct ctdb_req_control *c, TDB_DATA *outdata); int32_t ctdb_control_get_public_ips(struct ctdb_context *ctdb, struct ctdb_req_control *c, TDB_DATA *outdata); int ctdb_ctrl_get_public_ips(struct ctdb_context *ctdb, - struct timeval timeout, uint32_t destnode, - TALLOC_CTX *mem_ctx, struct ctdb_all_public_ips **ips); + struct timeval timeout, + uint32_t destnode, + TALLOC_CTX *mem_ctx, + struct ctdb_all_public_ips **ips); +#define CTDB_PUBLIC_IP_FLAGS_ONLY_AVAILABLE 0x00010000 +int ctdb_ctrl_get_public_ips_flags(struct ctdb_context *ctdb, + struct timeval timeout, uint32_t destnode, + TALLOC_CTX *mem_ctx, + uint32_t flags, + struct ctdb_all_public_ips **ips); int ctdb_ctrl_get_public_ipsv4(struct ctdb_context *ctdb, struct timeval timeout, uint32_t destnode, TALLOC_CTX *mem_ctx, struct ctdb_all_public_ips **ips);