* Destruction of an rdma_cm_id will block until related events have been
* acknowledged.
* See also:
- * rdma_ack_cm_event, rdma_create_event_channel
+ * rdma_ack_cm_event, rdma_create_event_channel, rdma_event_str
*/
int rdma_get_cm_event(struct rdma_event_channel *channel,
struct rdma_cm_event **event);
*/
void rdma_free_devices(struct ibv_context **list);
+/**
+ * rdma_event_str - Returns a string representation of an rdma cm event.
+ * @event: Asynchronous event.
+ * Description:
+ * Returns a string representation of an asynchronous event.
+ * See also:
+ * rdma_get_cm_event
+ */
+const char *rdma_event_str(enum rdma_cm_event_type event);
+
#ifdef __cplusplus
}
#endif
--- /dev/null
+.TH "RDMA_EVENT_STR" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
+.SH NAME
+rdma_event_str \- Returns a string representation of an rdma cm event.
+.SH SYNOPSIS
+.B "#include <rdma/rdma_cma.h>"
+.P
+.B "char *" rdma_event_str
+.BI "("enum ibv_event_type " event ");"
+.SH ARGUMENTS
+.IP "event" 12
+Asynchronous event.
+.SH "DESCRIPTION"
+Returns a string representation of an asynchronous event.
+.SH "SEE ALSO"
+rdma_get_cm_event(3)
.SH "SEE ALSO"
rdma_ack_cm_event(3), rdma_create_event_channel(3), rdma_resolve_addr(3),
rdma_resolve_route(3), rdma_connect(3), rdma_listen(3), rdma_join_multicast(3),
-rdma_destroy_id(3)
+rdma_destroy_id(3), rdma_event_str(3)
*event = &evt->event;
return 0;
}
+
+const char *rdma_event_str(enum rdma_cm_event_type event)
+{
+ switch (event) {
+ case RDMA_CM_EVENT_ADDR_RESOLVED:
+ return "RDMA_CM_EVENT_ADDR_RESOLVED";
+ case RDMA_CM_EVENT_ADDR_ERROR:
+ return "RDMA_CM_EVENT_ADDR_ERROR";
+ case RDMA_CM_EVENT_ROUTE_RESOLVED:
+ return "RDMA_CM_EVENT_ROUTE_RESOLVED";
+ case RDMA_CM_EVENT_ROUTE_ERROR:
+ return "RDMA_CM_EVENT_ROUTE_ERROR";
+ case RDMA_CM_EVENT_CONNECT_REQUEST:
+ return "RDMA_CM_EVENT_CONNECT_REQUEST";
+ case RDMA_CM_EVENT_CONNECT_RESPONSE:
+ return "RDMA_CM_EVENT_CONNECT_RESPONSE";
+ case RDMA_CM_EVENT_CONNECT_ERROR:
+ return "RDMA_CM_EVENT_CONNECT_ERROR";
+ case RDMA_CM_EVENT_UNREACHABLE:
+ return "RDMA_CM_EVENT_UNREACHABLE";
+ case RDMA_CM_EVENT_REJECTED:
+ return "RDMA_CM_EVENT_REJECTED";
+ case RDMA_CM_EVENT_ESTABLISHED:
+ return "RDMA_CM_EVENT_ESTABLISHED";
+ case RDMA_CM_EVENT_DISCONNECTED:
+ return "RDMA_CM_EVENT_DISCONNECTED";
+ case RDMA_CM_EVENT_DEVICE_REMOVAL:
+ return "RDMA_CM_EVENT_DEVICE_REMOVAL";
+ case RDMA_CM_EVENT_MULTICAST_JOIN:
+ return "RDMA_CM_EVENT_MULTICAST_JOIN";
+ case RDMA_CM_EVENT_MULTICAST_ERROR:
+ return "RDMA_CM_EVENT_MULTICAST_ERROR";
+ default:
+ return "UNKNOWN EVENT";
+ }
+}