@@ -363,7 +363,8 @@ static int ucma_ib_addr(struct sockaddr *addr, socklen_t len)
return len && addr && (addr->sa_family == AF_IB);
}
-void ucma_ib_resolve(struct rdma_addrinfo **rai, struct rdma_addrinfo *hints)
+void ucma_ib_resolve(struct rdma_addrinfo **rai,
+ const struct rdma_addrinfo *hints)
{
struct acm_msg msg;
struct acm_ep_addr_data *data;
@@ -45,7 +45,8 @@
static struct rdma_addrinfo nohints;
-static void ucma_convert_to_ai(struct addrinfo *ai, struct rdma_addrinfo *rai)
+static void ucma_convert_to_ai(struct addrinfo *ai,
+ const struct rdma_addrinfo *rai)
{
memset(ai, 0, sizeof(*ai));
if (rai->ai_flags & RAI_PASSIVE)
@@ -141,7 +142,8 @@ static int ucma_convert_in6(int ps, struct sockaddr_ib **dst, socklen_t *dst_len
}
static int ucma_convert_to_rai(struct rdma_addrinfo *rai,
- struct rdma_addrinfo *hints, struct addrinfo *ai)
+ const struct rdma_addrinfo *hints,
+ const struct addrinfo *ai)
{
int ret;
@@ -210,8 +212,8 @@ static int ucma_convert_to_rai(struct rdma_addrinfo *rai,
return ret;
}
-static int ucma_getaddrinfo(char *node, char *service,
- struct rdma_addrinfo *hints,
+static int ucma_getaddrinfo(const char *node, const char *service,
+ const struct rdma_addrinfo *hints,
struct rdma_addrinfo *rai)
{
struct addrinfo ai_hints;
@@ -232,8 +234,8 @@ static int ucma_getaddrinfo(char *node, char *service,
return ret;
}
-int rdma_getaddrinfo(char *node, char *service,
- struct rdma_addrinfo *hints,
+int rdma_getaddrinfo(const char *node, const char *service,
+ const struct rdma_addrinfo *hints,
struct rdma_addrinfo **res)
{
struct rdma_addrinfo *rai;
@@ -140,7 +140,8 @@ extern int af_ib_support;
void ucma_ib_init(void);
void ucma_ib_cleanup(void);
-void ucma_ib_resolve(struct rdma_addrinfo **rai, struct rdma_addrinfo *hints);
+void ucma_ib_resolve(struct rdma_addrinfo **rai,
+ const struct rdma_addrinfo *hints);
struct ib_connect_hdr {
uint8_t cma_version;
@@ -5,9 +5,9 @@ rdma_getaddrinfo \- Provides transport independent address translation.
.B "#include <rdma/rdma_cma.h>"
.P
.B "int" rdma_getaddrinfo
-.BI "(char *" node ","
-.BI "char *" service ","
-.BI "struct rdma_addrinfo *" hints ","
+.BI "(const char *" node ","
+.BI "const char *" service ","
+.BI "const struct rdma_addrinfo *" hints ","
.BI "struct rdma_addrinfo **" res ");"
.SH ARGUMENTS
.IP "node" 12
@@ -668,8 +668,8 @@ int rdma_migrate_id(struct rdma_cm_id *id, struct rdma_event_channel *channel);
/**
* rdma_getaddrinfo - RDMA address and route resolution service.
*/
-int rdma_getaddrinfo(char *node, char *service,
- struct rdma_addrinfo *hints,
+int rdma_getaddrinfo(const char *node, const char *service,
+ const struct rdma_addrinfo *hints,
struct rdma_addrinfo **res);
void rdma_freeaddrinfo(struct rdma_addrinfo *res);
Like getaddrinfo most of the arguments should be const. Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com> --- librdmacm/acm.c | 3 ++- librdmacm/addrinfo.c | 14 ++++++++------ librdmacm/cma.h | 3 ++- librdmacm/man/rdma_getaddrinfo.3 | 6 +++--- librdmacm/rdma_cma.h | 4 ++-- 5 files changed, 17 insertions(+), 13 deletions(-)