]> git.openfabrics.org - ~shefty/librdmacm.git/commitdiff
librdmacm/cma: add routine to convert rdma cm events to strings
authorSean Hefty <sean.hefty@intel.com>
Thu, 21 Jun 2007 22:36:38 +0000 (15:36 -0700)
committerSean Hefty <sean.hefty@intel.com>
Thu, 21 Jun 2007 22:36:38 +0000 (15:36 -0700)
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
include/rdma/rdma_cma.h
man/rdma_event_str.3 [new file with mode: 0644]
man/rdma_get_cm_event.3
src/cma.c
src/librdmacm.map

index f920ae04a52ef0a5899a6f19bc9c5688644b65a6..43c71d5f9a86af72a6d12414011cb87c7f5bd747 100644 (file)
@@ -463,7 +463,7 @@ int rdma_leave_multicast(struct rdma_cm_id *id, struct sockaddr *addr);
  *   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);
@@ -519,6 +519,16 @@ struct ibv_context **rdma_get_devices(int *num_devices);
  */
 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
diff --git a/man/rdma_event_str.3 b/man/rdma_event_str.3
new file mode 100644 (file)
index 0000000..a6ee3e5
--- /dev/null
@@ -0,0 +1,15 @@
+.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)
index a26009271b1e15b91514b1677434df561d6f3066..252a7abbb7ac1266b3b42b0a5d6f69d59c18c0cc 100644 (file)
@@ -62,4 +62,4 @@ no longer accessible and should be rejoined, if desired.
 .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)
index fdadb69b638959df85aea6554bbe689229390f46..357953003d8000fbf9d15285f6d44326baa6db64 100644 (file)
--- a/src/cma.c
+++ b/src/cma.c
@@ -1359,3 +1359,39 @@ retry:
        *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";
+       }
+}
index 06e97652fe80f542b342b89d1368c47d35a79878..eafeae462828225c40a604e9d396574cd2341aff 100644 (file)
@@ -23,5 +23,6 @@ RDMACM_1.0 {
                rdma_leave_multicast;
                rdma_get_devices;
                rdma_free_devices;
+               rdma_event_str;
        local: *;
 };