Same patch as posted previously for libibverbs/libmthca.

---

librdma pulls in types from under linux/ directory which are
broken on some distros/compilers. There's no good reason for us to do so:
integer types of specific widths are specified in stdint.h in a portable way.

Signed-off-by: Michael S. Tsirkin <[EMAIL PROTECTED]>

Index: openib/src/userspace/librdmacm/include/rdma/rdma_cma_abi.h
===================================================================
--- openib/src/userspace/librdmacm/include/rdma/rdma_cma_abi.h  (revision 7599)
+++ openib/src/userspace/librdmacm/include/rdma/rdma_cma_abi.h  (working copy)
@@ -33,6 +33,7 @@
 #ifndef RDMA_CMA_ABI_H
 #define RDMA_CMA_ABI_H
 
+#include <stdint.h>
 #include <infiniband/sa-kern-abi.h>
 
 /*
@@ -63,146 +64,146 @@
 };
 
 struct ucma_abi_cmd_hdr {
-       __u32 cmd;
-       __u16 in;
-       __u16 out;
+       uint32_t cmd;
+       uint16_t in;
+       uint16_t out;
 };
 
 struct ucma_abi_create_id {
-       __u64 uid;
-       __u64 response;
+       uint64_t uid;
+       uint64_t response;
 };
 
 struct ucma_abi_create_id_resp {
-       __u32 id;
+       uint32_t id;
 };
 
 struct ucma_abi_destroy_id {
-       __u64 response;
-       __u32 id;
-       __u32 reserved;
+       uint64_t response;
+       uint32_t id;
+       uint32_t reserved;
 };
 
 struct ucma_abi_destroy_id_resp {
-       __u32 events_reported;
+       uint32_t events_reported;
 };
 
 struct ucma_abi_bind_addr {
-       __u64 response;
+       uint64_t response;
        struct sockaddr_in6 addr;
-       __u32 id;
+       uint32_t id;
 };
 
 struct ucma_abi_resolve_addr {
        struct sockaddr_in6 src_addr;
        struct sockaddr_in6 dst_addr;
-       __u32 id;
-       __u32 timeout_ms;
+       uint32_t id;
+       uint32_t timeout_ms;
 };
 
 struct ucma_abi_resolve_route {
-       __u32 id;
-       __u32 timeout_ms;
+       uint32_t id;
+       uint32_t timeout_ms;
 };
 
 struct ucma_abi_query_route {
-       __u64 response;
-       __u32 id;
-       __u32 reserved;
+       uint64_t response;
+       uint32_t id;
+       uint32_t reserved;
 };
 
 struct ucma_abi_query_route_resp {
-       __u64 node_guid;
+       uint64_t node_guid;
        struct ibv_kern_path_rec ib_route[2];
        struct sockaddr_in6 src_addr;
        struct sockaddr_in6 dst_addr;
-       __u32 num_paths;
-       __u8 port_num;
-       __u8 reserved[3];
+       uint32_t num_paths;
+       uint8_t port_num;
+       uint8_t reserved[3];
 };
 
 struct ucma_abi_conn_param {
-       __u32 qp_num;
-       __u32 qp_type;
-       __u8  private_data[RDMA_MAX_PRIVATE_DATA];
-       __u8  private_data_len;
-       __u8  srq;
-       __u8  responder_resources;
-       __u8  initiator_depth;
-       __u8  flow_control;
-       __u8  retry_count;
-       __u8  rnr_retry_count;
-       __u8  valid;
+       uint32_t qp_num;
+       uint32_t qp_type;
+       uint8_t  private_data[RDMA_MAX_PRIVATE_DATA];
+       uint8_t  private_data_len;
+       uint8_t  srq;
+       uint8_t  responder_resources;
+       uint8_t  initiator_depth;
+       uint8_t  flow_control;
+       uint8_t  retry_count;
+       uint8_t  rnr_retry_count;
+       uint8_t  valid;
 };
 
 struct ucma_abi_connect {
        struct ucma_abi_conn_param conn_param;
-       __u32 id;
-       __u32 reserved;
+       uint32_t id;
+       uint32_t reserved;
 };
 
 struct ucma_abi_listen {
-       __u32 id;
-       __u32 backlog;
+       uint32_t id;
+       uint32_t backlog;
 };
 
 struct ucma_abi_accept {
-       __u64 uid;
+       uint64_t uid;
        struct ucma_abi_conn_param conn_param;
-       __u32 id;
-       __u32 reserved;
+       uint32_t id;
+       uint32_t reserved;
 };
 
 struct ucma_abi_reject {
-       __u32 id;
-       __u8  private_data_len;
-       __u8  reserved[3];
-       __u8  private_data[RDMA_MAX_PRIVATE_DATA];
+       uint32_t id;
+       uint8_t  private_data_len;
+       uint8_t  reserved[3];
+       uint8_t  private_data[RDMA_MAX_PRIVATE_DATA];
 };
 
 struct ucma_abi_disconnect {
-       __u32 id;
+       uint32_t id;
 };
 
 struct ucma_abi_init_qp_attr {
-       __u64 response;
-       __u32 id;
-       __u32 qp_state;
+       uint64_t response;
+       uint32_t id;
+       uint32_t qp_state;
 };
 
 struct ucma_abi_get_event {
-       __u64 response;
+       uint64_t response;
 };
 
 struct ucma_abi_event_resp {
-       __u64 uid;
-       __u32 id;
-       __u32 event;
-       __u32 status;
-       __u8  private_data_len;
-       __u8  reserved[3];
-       __u8  private_data[RDMA_MAX_PRIVATE_DATA];
+       uint64_t uid;
+       uint32_t id;
+       uint32_t event;
+       uint32_t status;
+       uint8_t  private_data_len;
+       uint8_t  reserved[3];
+       uint8_t  private_data[RDMA_MAX_PRIVATE_DATA];
 };
 
 struct ucma_abi_get_option {
-       __u64 response;
-       __u64 optval;
-       __u32 id;
-       __u32 level;
-       __u32 optname;
-       __u32 optlen;
+       uint64_t response;
+       uint64_t optval;
+       uint32_t id;
+       uint32_t level;
+       uint32_t optname;
+       uint32_t optlen;
 };
 
 struct ucma_abi_get_option_resp {
-       __u32 optlen;
+       uint32_t optlen;
 };
 
 struct ucma_abi_set_option {
-       __u64 optval;
-       __u32 id;
-       __u32 level;
-       __u32 optname;
-       __u32 optlen;
+       uint64_t optval;
+       uint32_t id;
+       uint32_t level;
+       uint32_t optname;
+       uint32_t optlen;
 };
 
 #endif /* RDMA_CMA_ABI_H */
Index: openib/src/userspace/librdmacm/configure.in
===================================================================
--- openib/src/userspace/librdmacm/configure.in (revision 7599)
+++ openib/src/userspace/librdmacm/configure.in (working copy)
@@ -23,19 +23,21 @@
 AC_CHECK_SIZEOF(long)
 
 dnl Checks for libraries
+AC_CHECK_LIB(sysfs, sysfs_open_class, [],
+    AC_MSG_ERROR([sysfs_open_class() not found.  librdmacm requires 
libsysfs.]))
+
 if test "$disable_libcheck" != "yes"
 then
-AC_CHECK_LIB(sysfs, sysfs_open_class, [],
-    AC_MSG_ERROR([sysfs_open_class() not found.  librdmacm requires 
libsysfs.]))
 AC_CHECK_LIB(ibverbs, ibv_get_device_list, [],
     AC_MSG_ERROR([ibv_get_device_list() not found.  librdmacm requires 
libibverbs.]))
 fi
 
 dnl Checks for header files.
+AC_CHECK_HEADER(sysfs/libsysfs.h, [],
+    AC_MSG_ERROR([<sysfs/libsysfs.h> not found.  librdmacm requires 
libsysfs.]))
+
 if test "$disable_libcheck" != "yes"
 then
-AC_CHECK_HEADER(sysfs/libsysfs.h, [],
-    AC_MSG_ERROR([<sysfs/libsysfs.h> not found.  librdmacm requires 
libsysfs.]))
 AC_CHECK_HEADER(infiniband/verbs.h, [],
     AC_MSG_ERROR([<infiniband/verbs.h> not found.  Is libibverbs installed?]))
 fi

-- 
MST
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to