[ofw] Re: [ofa-general] [RFC] 3/5: IB ACM: libibacm

Ira Weiny weiny2 at llnl.gov
Fri Sep 18 14:32:16 PDT 2009


On Thu, 17 Sep 2009 23:09:22 -0700
"Sean Hefty" <sean.hefty at intel.com> wrote:

> >Although not a fit IMO, the pragmatic solution is to move ib_types,h into
> >libibumad. I think it is better there than OpenSM which was never quite right
> >either. That can at least start to eliminate the duplications in this area.
> 
> ib_types.h includes complib header files...
> 

Rough hack.  Does windows have stdint.h, byteswap.h, and endian.h?

To do this right I would remove the "IN" and "OUT" stuff.

Ira

From: Ira Weiny <weiny2 at llnl.gov>
Date: Fri, 18 Sep 2009 14:29:12 -0700
Subject: [PATCH] Quick hack...

Remove CL compatiblity from ib_types.h

use stdint.h

convert boolean_t
	typedef int boolean_t
	FALSE == 0
	TRUE == 1

use byteswap.h and endian.h
and
Copy byte swap macros

define "IN", "OUT", and "OPTIONAL"

Signed-off-by: Ira Weiny <weiny2 at llnl.gov>
---
 opensm/include/iba/ib_types.h |  277 ++++++++++++++++++++++++++--------------
 1 files changed, 180 insertions(+), 97 deletions(-)

diff --git a/opensm/include/iba/ib_types.h b/opensm/include/iba/ib_types.h
index c9d81cb..c0ce5cd 100644
--- a/opensm/include/iba/ib_types.h
+++ b/opensm/include/iba/ib_types.h
@@ -38,8 +38,9 @@
 #define __IB_TYPES_H__
 
 #include <string.h>
-#include <complib/cl_types.h>
-#include <complib/cl_byteswap.h>
+#include <stdint.h>
+#include <byteswap.h>
+#include <endian.h>
 
 #ifdef __cplusplus
 #  define BEGIN_C_DECLS extern "C" {
@@ -49,6 +50,88 @@
 #  define END_C_DECLS
 #endif				/* __cplusplus */
 
+/** =========================================================================
+ * complib stuff
+ */
+#ifndef		IN
+#define		IN		/* Function input parameter */
+#endif
+#ifndef		OUT
+#define		OUT		/* Function output parameter */
+#endif
+#ifndef		OPTIONAL
+#define		OPTIONAL	/* Optional function parameter - NULL if not used */
+#endif
+
+#ifndef __BYTE_ORDER
+#error "__BYTE_ORDER macro undefined. Missing in endian.h?"
+#endif
+
+/* 16bit */
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+#define CL_NTOH16( x )		(uint16_t)(		\
+			(((uint16_t)(x) & 0x00FF) << 8) |		\
+			(((uint16_t)(x) & 0xFF00) >> 8) )
+#else
+#define CL_NTOH16( x )	(x)
+#endif
+#define CL_HTON16				CL_NTOH16
+
+/* 32bit */
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+#define CL_NTOH32( x )		(uint32_t)(			\
+			(((uint32_t)(x) & 0x000000FF) << 24) |	\
+			(((uint32_t)(x) & 0x0000FF00) << 8) |	\
+			(((uint32_t)(x) & 0x00FF0000) >> 8) |	\
+			(((uint32_t)(x) & 0xFF000000) >> 24) )
+#else
+#define CL_NTOH32( x )		(x)
+#endif
+#define CL_HTON32	CL_NTOH32
+
+/* 64bit */
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+#define CL_NTOH64( x )		(uint64_t)(					\
+			(((uint64_t)(x) & 0x00000000000000FFULL) << 56) |	\
+			(((uint64_t)(x) & 0x000000000000FF00ULL) << 40) |	\
+			(((uint64_t)(x) & 0x0000000000FF0000ULL) << 24) |	\
+			(((uint64_t)(x) & 0x00000000FF000000ULL) << 8 ) |	\
+			(((uint64_t)(x) & 0x000000FF00000000ULL) >> 8 ) |	\
+			(((uint64_t)(x) & 0x0000FF0000000000ULL) >> 24) |	\
+			(((uint64_t)(x) & 0x00FF000000000000ULL) >> 40) |	\
+			(((uint64_t)(x) & 0xFF00000000000000ULL) >> 56) )
+#else
+#define CL_NTOH64( x )		(x)
+#endif
+#define CL_HTON64				CL_NTOH64
+
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+#define cl_ntoh16(x)	bswap_16(x)
+#define cl_hton16(x)	bswap_16(x)
+#define cl_ntoh32(x)	bswap_32(x)
+#define cl_hton32(x)	bswap_32(x)
+#define cl_ntoh64(x)	(uint64_t)bswap_64(x)
+#define cl_hton64(x)	(uint64_t)bswap_64(x)
+#else				/* Big Endian */
+#define cl_ntoh16(x)	(x)
+#define cl_hton16(x)	(x)
+#define cl_ntoh32(x)	(x)
+#define cl_hton32(x)	(x)
+#define cl_ntoh64(x)	(x)
+#define cl_hton64(x)	(x)
+#endif
+
+#if defined (_DEBUG_)
+#include <assert.h>
+#define CL_ASSERT	assert
+#else				/* _DEBUG_ */
+#define CL_ASSERT( __exp__ )
+#endif				/* _DEBUG_ */
+
+/** =========================================================================
+ * end complib stuff
+ */
+
 BEGIN_C_DECLS
 #if defined( WIN32 ) || defined( _WIN64 )
 #if defined( EXPORT_AL_SYMBOLS )
@@ -564,7 +647,7 @@ BEGIN_C_DECLS
 *
 * SYNOPSIS
 */
-static inline boolean_t OSM_API
+static inline int OSM_API
 ib_class_is_vendor_specific_low(IN const uint8_t class_code)
 {
 	return ((class_code >= IB_MCLASS_VENDOR_LOW_RANGE_MIN) &&
@@ -577,8 +660,8 @@ ib_class_is_vendor_specific_low(IN const uint8_t class_code)
 *		[in] The Management Datagram Class Code
 *
 * RETURN VALUE
-*	TRUE if the class is in the Low range of Vendor Specific MADs
-*	FALSE otherwise.
+*	1 if the class is in the Low range of Vendor Specific MADs
+*	0 otherwise.
 *
 * NOTES
 *
@@ -596,7 +679,7 @@ ib_class_is_vendor_specific_low(IN const uint8_t class_code)
 *
 * SYNOPSIS
 */
-static inline boolean_t OSM_API
+static inline int OSM_API
 ib_class_is_vendor_specific_high(IN const uint8_t class_code)
 {
 	return ((class_code >= IB_MCLASS_VENDOR_HIGH_RANGE_MIN) &&
@@ -609,8 +692,8 @@ ib_class_is_vendor_specific_high(IN const uint8_t class_code)
 *		[in] The Management Datagram Class Code
 *
 * RETURN VALUE
-*	TRUE if the class is in the High range of Vendor Specific MADs
-*	FALSE otherwise.
+*	1 if the class is in the High range of Vendor Specific MADs
+*	0 otherwise.
 *
 * NOTES
 *
@@ -627,7 +710,7 @@ ib_class_is_vendor_specific_high(IN const uint8_t class_code)
 *
 * SYNOPSIS
 */
-static inline boolean_t OSM_API
+static inline int OSM_API
 ib_class_is_vendor_specific(IN const uint8_t class_code)
 {
 	return (ib_class_is_vendor_specific_low(class_code) ||
@@ -640,8 +723,8 @@ ib_class_is_vendor_specific(IN const uint8_t class_code)
 *		[in] The Management Datagram Class Code
 *
 * RETURN VALUE
-*	TRUE if the class is a Vendor Specific MAD
-*	FALSE otherwise.
+*	1 if the class is a Vendor Specific MAD
+*	0 otherwise.
 *
 * NOTES
 *
@@ -658,7 +741,7 @@ ib_class_is_vendor_specific(IN const uint8_t class_code)
 *
 * SYNOPSIS
 */
-static inline boolean_t OSM_API ib_class_is_rmpp(IN const uint8_t class_code)
+static inline int OSM_API ib_class_is_rmpp(IN const uint8_t class_code)
 {
 	return ((class_code == IB_MCLASS_SUBN_ADM) ||
 		(class_code == IB_MCLASS_DEV_MGMT) ||
@@ -673,8 +756,8 @@ static inline boolean_t OSM_API ib_class_is_rmpp(IN const uint8_t class_code)
 *		[in] The Management Datagram Class Code
 *
 * RETURN VALUE
-*	TRUE if the class supports RMPP
-*	FALSE otherwise.
+*	1 if the class supports RMPP
+*	0 otherwise.
 *
 * NOTES
 *
@@ -2077,7 +2160,7 @@ static inline ib_net16_t OSM_API ib_pkey_get_base(IN const ib_net16_t pkey)
 *
 * SYNOPSIS
 */
-static inline boolean_t OSM_API ib_pkey_is_full_member(IN const ib_net16_t pkey)
+static inline int OSM_API ib_pkey_is_full_member(IN const ib_net16_t pkey)
 {
 	return ((pkey & IB_PKEY_TYPE_MASK) == IB_PKEY_TYPE_MASK);
 }
@@ -2088,8 +2171,8 @@ static inline boolean_t OSM_API ib_pkey_is_full_member(IN const ib_net16_t pkey)
 *		[in] P_Key value
 *
 * RETURN VALUE
-*	TRUE if the port is a full member of the partition.
-*	FALSE otherwise.
+*	1 if the port is a full member of the partition.
+*	0 otherwise.
 *
 * NOTES
 *
@@ -2102,15 +2185,15 @@ static inline boolean_t OSM_API ib_pkey_is_full_member(IN const ib_net16_t pkey)
 *	ib_pkey_is_invalid
 *
 * DESCRIPTION
-*	Returns TRUE if the given P_Key is an invalid P_Key
+*	Returns 1 if the given P_Key is an invalid P_Key
 *  C10-116: the CI shall regard a P_Key as invalid if its low-order
 *           15 bits are all zero...
 *
 * SYNOPSIS
 */
-static inline boolean_t OSM_API ib_pkey_is_invalid(IN const ib_net16_t pkey)
+static inline int OSM_API ib_pkey_is_invalid(IN const ib_net16_t pkey)
 {
-	return ib_pkey_get_base(pkey) == 0x0000 ? TRUE : FALSE;
+	return ib_pkey_get_base(pkey) == 0x0000 ? 1 : 0;
 }
 
 /*
@@ -2167,11 +2250,11 @@ typedef union _ib_gid {
 *	ib_gid_is_multicast
 *
 * DESCRIPTION
-*       Returns a boolean indicating whether a GID is a multicast GID.
+*       Returns a int indicating whether a GID is a multicast GID.
 *
 * SYNOPSIS
 */
-static inline boolean_t OSM_API ib_gid_is_multicast(IN const ib_gid_t * p_gid)
+static inline int OSM_API ib_gid_is_multicast(IN const ib_gid_t * p_gid)
 {
 	return (p_gid->raw[0] == 0xFF);
 }
@@ -2273,12 +2356,12 @@ ib_gid_get_subnet_prefix(IN const ib_gid_t * const p_gid)
 *	ib_gid_is_link_local
 *
 * DESCRIPTION
-*	Returns TRUE if the unicast GID scoping indicates link local,
-*	FALSE otherwise.
+*	Returns 1 if the unicast GID scoping indicates link local,
+*	0 otherwise.
 *
 * SYNOPSIS
 */
-static inline boolean_t OSM_API
+static inline int OSM_API
 ib_gid_is_link_local(IN const ib_gid_t * const p_gid)
 {
 	return ((ib_gid_get_subnet_prefix(p_gid) &
@@ -2291,8 +2374,8 @@ ib_gid_is_link_local(IN const ib_gid_t * const p_gid)
 *		[in] Pointer to the GID object.
 *
 * RETURN VALUES
-*	Returns TRUE if the unicast GID scoping indicates link local,
-*	FALSE otherwise.
+*	Returns 1 if the unicast GID scoping indicates link local,
+*	0 otherwise.
 *
 * NOTES
 *
@@ -2305,12 +2388,12 @@ ib_gid_is_link_local(IN const ib_gid_t * const p_gid)
 *	ib_gid_is_site_local
 *
 * DESCRIPTION
-*	Returns TRUE if the unicast GID scoping indicates site local,
-*	FALSE otherwise.
+*	Returns 1 if the unicast GID scoping indicates site local,
+*	0 otherwise.
 *
 * SYNOPSIS
 */
-static inline boolean_t OSM_API
+static inline int OSM_API
 ib_gid_is_site_local(IN const ib_gid_t * const p_gid)
 {
 	return ((ib_gid_get_subnet_prefix(p_gid) &
@@ -2324,8 +2407,8 @@ ib_gid_is_site_local(IN const ib_gid_t * const p_gid)
 *		[in] Pointer to the GID object.
 *
 * RETURN VALUES
-*	Returns TRUE if the unicast GID scoping indicates site local,
-*	FALSE otherwise.
+*	Returns 1 if the unicast GID scoping indicates site local,
+*	0 otherwise.
 *
 * NOTES
 *
@@ -3779,13 +3862,13 @@ ib_mad_init_response(IN const ib_mad_t * const p_req_mad,
 *	ib_mad_is_response
 *
 * DESCRIPTION
-*	Returns TRUE if the MAD is a response ('R' bit set)
+*	Returns 1 if the MAD is a response ('R' bit set)
 *	or if the MAD is a TRAP REPRESS,
-*	FALSE otherwise.
+*	0 otherwise.
 *
 * SYNOPSIS
 */
-static inline boolean_t OSM_API
+static inline int OSM_API
 ib_mad_is_response(IN const ib_mad_t * const p_mad)
 {
 	CL_ASSERT(p_mad);
@@ -3799,8 +3882,8 @@ ib_mad_is_response(IN const ib_mad_t * const p_mad)
 *		[in] Pointer to the MAD.
 *
 * RETURN VALUES
-*	Returns TRUE if the MAD is a response ('R' bit set),
-*	FALSE otherwise.
+*	Returns 1 if the MAD is a response ('R' bit set),
+*	0 otherwise.
 *
 * NOTES
 *
@@ -3836,11 +3919,11 @@ ib_mad_is_response(IN const ib_mad_t * const p_mad)
 *	ib_rmpp_is_flag_set
 *
 * DESCRIPTION
-*	Returns TRUE if the MAD has the given RMPP flag set.
+*	Returns 1 if the MAD has the given RMPP flag set.
 *
 * SYNOPSIS
 */
-static inline boolean_t OSM_API
+static inline int OSM_API
 ib_rmpp_is_flag_set(IN const ib_rmpp_mad_t * const p_rmpp_mad,
 		    IN const uint8_t flag)
 {
@@ -3857,7 +3940,7 @@ ib_rmpp_is_flag_set(IN const ib_rmpp_mad_t * const p_rmpp_mad,
 *		[in] The RMPP flag being examined.
 *
 * RETURN VALUES
-*	Returns TRUE if the MAD has the given RMPP flag set.
+*	Returns 1 if the MAD has the given RMPP flag set.
 *
 * NOTES
 *
@@ -4031,11 +4114,11 @@ ib_smp_get_status(IN const ib_smp_t * const p_smp)
 *	ib_smp_is_response
 *
 * DESCRIPTION
-*	Returns TRUE if the SMP is a response MAD, FALSE otherwise.
+*	Returns 1 if the SMP is a response MAD, 0 otherwise.
 *
 * SYNOPSIS
 */
-static inline boolean_t OSM_API
+static inline int OSM_API
 ib_smp_is_response(IN const ib_smp_t * const p_smp)
 {
 	return (ib_mad_is_response((const ib_mad_t *)p_smp));
@@ -4047,7 +4130,7 @@ ib_smp_is_response(IN const ib_smp_t * const p_smp)
 *		[in] Pointer to the SMP packet.
 *
 * RETURN VALUES
-*	Returns TRUE if the SMP is a response MAD, FALSE otherwise.
+*	Returns 1 if the SMP is a response MAD, 0 otherwise.
 *
 * NOTES
 *
@@ -4060,11 +4143,11 @@ ib_smp_is_response(IN const ib_smp_t * const p_smp)
 *	ib_smp_is_d
 *
 * DESCRIPTION
-*	Returns TRUE if the SMP 'D' (direction) bit is set.
+*	Returns 1 if the SMP 'D' (direction) bit is set.
 *
 * SYNOPSIS
 */
-static inline boolean_t OSM_API ib_smp_is_d(IN const ib_smp_t * const p_smp)
+static inline int OSM_API ib_smp_is_d(IN const ib_smp_t * const p_smp)
 {
 	return ((p_smp->status & IB_SMP_DIRECTION) == IB_SMP_DIRECTION);
 }
@@ -4075,7 +4158,7 @@ static inline boolean_t OSM_API ib_smp_is_d(IN const ib_smp_t * const p_smp)
 *		[in] Pointer to the SMP packet.
 *
 * RETURN VALUES
-*	Returns TRUE if the SMP 'D' (direction) bit is set.
+*	Returns 1 if the SMP 'D' (direction) bit is set.
 *
 * NOTES
 *
@@ -4306,7 +4389,7 @@ ib_sa_mad_get_payload_ptr(IN const ib_sa_mad_t * const p_sa_mad)
 
 #define IB_NODE_INFO_PORT_NUM_MASK		(CL_HTON32(0xFF000000))
 #define IB_NODE_INFO_VEND_ID_MASK		(CL_HTON32(0x00FFFFFF))
-#if CPU_LE
+#if __BYTE_ORDER == __LITTLE_ENDIAN
 #define IB_NODE_INFO_PORT_NUM_SHIFT 0
 #else
 #define IB_NODE_INFO_PORT_NUM_SHIFT 24
@@ -5924,7 +6007,7 @@ typedef struct _ib_switch_info_record {
 *
 * SYNOPSIS
 */
-static inline boolean_t OSM_API
+static inline int OSM_API
 ib_switch_info_get_state_change(IN const ib_switch_info_t * const p_si)
 {
 	return ((p_si->life_state & IB_SWITCH_PSC) == IB_SWITCH_PSC);
@@ -5980,7 +6063,7 @@ ib_switch_info_clear_state_change(IN ib_switch_info_t * const p_si)
 *
 * SYNOPSIS
 */
-static inline boolean_t OSM_API
+static inline int OSM_API
 ib_switch_info_get_opt_sl2vlmapping(IN const ib_switch_info_t * const p_si)
 {
         return ((p_si->life_state & 0x01) == 0x01);
@@ -6004,13 +6087,13 @@ ib_switch_info_get_opt_sl2vlmapping(IN const ib_switch_info_t * const p_si)
 *	ib_switch_info_is_enhanced_port0
 *
 * DESCRIPTION
-*	Returns TRUE if the enhancedPort0 bit is on (meaning the switch
+*	Returns 1 if the enhancedPort0 bit is on (meaning the switch
 *  port zero supports enhanced functions).
-*  Returns FALSE otherwise.
+*  Returns 0 otherwise.
 *
 * SYNOPSIS
 */
-static inline boolean_t OSM_API
+static inline int OSM_API
 ib_switch_info_is_enhanced_port0(IN const ib_switch_info_t * const p_si)
 {
 	return ((p_si->flags & 0x08) == 0x08);
@@ -6022,7 +6105,7 @@ ib_switch_info_is_enhanced_port0(IN const ib_switch_info_t * const p_si)
 *		[in] Pointer to a SwitchInfo attribute.
 *
 * RETURN VALUES
-*	Returns TRUE if the switch supports enhanced port 0. FALSE otherwise.
+*	Returns 1 if the switch supports enhanced port 0. 0 otherwise.
 *
 * NOTES
 *
@@ -7257,7 +7340,7 @@ typedef struct _ib_mad_notice_attr	// Total Size calc  Accumulated
 *
 * SYNOPSIS
 */
-static inline boolean_t OSM_API
+static inline int OSM_API
 ib_notice_is_generic(IN const ib_mad_notice_attr_t * p_ntc)
 {
 	return (p_ntc->generic_type & 0x80);
@@ -7269,7 +7352,7 @@ ib_notice_is_generic(IN const ib_mad_notice_attr_t * p_ntc)
 *		[in] Pointer to  the notice MAD attribute
 *
 * RETURN VALUES
-*	TRUE if mad is generic
+*	1 if mad is generic
 *
 * SEE ALSO
 *	ib_mad_notice_attr_t
@@ -7296,7 +7379,7 @@ ib_notice_get_type(IN const ib_mad_notice_attr_t * p_ntc)
 *		[in] Pointer to  the notice MAD attribute
 *
 * RETURN VALUES
-*	TRUE if mad is generic
+*	1 if mad is generic
 *
 * SEE ALSO
 *	ib_mad_notice_attr_t
@@ -8687,27 +8770,27 @@ typedef enum _ib_atomic_t {
 * SYNOPSIS
 */
 typedef struct _ib_port_cap {
-	boolean_t cm;
-	boolean_t snmp;
-	boolean_t dev_mgmt;
-	boolean_t vend;
-	boolean_t sm;
-	boolean_t sm_disable;
-	boolean_t qkey_ctr;
-	boolean_t pkey_ctr;
-	boolean_t notice;
-	boolean_t trap;
-	boolean_t apm;
-	boolean_t slmap;
-	boolean_t pkey_nvram;
-	boolean_t mkey_nvram;
-	boolean_t sysguid;
-	boolean_t dr_notice;
-	boolean_t boot_mgmt;
-	boolean_t capm_notice;
-	boolean_t reinit;
-	boolean_t ledinfo;
-	boolean_t port_active;
+	int cm;
+	int snmp;
+	int dev_mgmt;
+	int vend;
+	int sm;
+	int sm_disable;
+	int qkey_ctr;
+	int pkey_ctr;
+	int notice;
+	int trap;
+	int apm;
+	int slmap;
+	int pkey_nvram;
+	int mkey_nvram;
+	int sysguid;
+	int dr_notice;
+	int boot_mgmt;
+	int capm_notice;
+	int reinit;
+	int ledinfo;
+	int port_active;
 } ib_port_cap_t;
 /*****/
 
@@ -8858,19 +8941,19 @@ typedef struct _ib_ca_attr {
 	 * timeout = 4.096 microseconds * 2^local_ack_delay
 	 */
 	uint8_t local_ack_delay;
-	boolean_t bad_pkey_ctr_support;
-	boolean_t bad_qkey_ctr_support;
-	boolean_t raw_mcast_support;
-	boolean_t apm_support;
-	boolean_t av_port_check;
-	boolean_t change_primary_port;
-	boolean_t modify_wr_depth;
-	boolean_t current_qp_state_support;
-	boolean_t shutdown_port_capability;
-	boolean_t init_type_support;
-	boolean_t port_active_event_support;
-	boolean_t system_image_guid_support;
-	boolean_t hw_agents;
+	int bad_pkey_ctr_support;
+	int bad_qkey_ctr_support;
+	int raw_mcast_support;
+	int apm_support;
+	int av_port_check;
+	int change_primary_port;
+	int modify_wr_depth;
+	int current_qp_state_support;
+	int shutdown_port_capability;
+	int init_type_support;
+	int port_active_event_support;
+	int system_image_guid_support;
+	int hw_agents;
 	ib_net64_t system_image_guid;
 	uint32_t num_page_sizes;
 	uint8_t num_ports;
@@ -9091,7 +9174,7 @@ typedef struct _ib_av_attr {
 	uint8_t port_num;
 	uint8_t sl;
 	ib_net16_t dlid;
-	boolean_t grh_valid;
+	int grh_valid;
 	ib_grh_t grh;
 	uint8_t static_rate;
 	uint8_t path_bits;
@@ -9252,7 +9335,7 @@ typedef struct _ib_qp_create {
 	uint32_t rq_sge;
 	ib_cq_handle_t h_sq_cq;
 	ib_cq_handle_t h_rq_cq;
-	boolean_t sq_signaled;
+	int sq_signaled;
 } ib_qp_create_t;
 /*
 * FIELDS
@@ -9301,8 +9384,8 @@ typedef struct _ib_qp_create {
 *	sq_signaled
 *		A flag that is used to indicate whether the queue pair will signal
 *		an event upon completion of a send work request.  If set to
-*		TRUE, send work requests will always generate a completion
-*		event.  If set to FALSE, a completion event will only be
+*		1, send work requests will always generate a completion
+*		event.  If set to 0, a completion event will only be
 *		generated if the send_opt field of the send work request has the
 *		IB_SEND_OPT_SIGNALED flag set.
 *
@@ -9333,7 +9416,7 @@ typedef struct _ib_qp_attr {
 	ib_cq_handle_t h_sq_cq;
 	ib_cq_handle_t h_rq_cq;
 	ib_rdd_handle_t h_rdd;
-	boolean_t sq_signaled;
+	int sq_signaled;
 	ib_qp_state_t state;
 	ib_net32_t num;
 	ib_net32_t dest_num;
@@ -9452,7 +9535,7 @@ typedef struct _ib_qp_mod {
 			uint16_t pkey_index;
 		} rts;
 		struct _qp_sqd {
-			boolean_t sqd_event;
+			int sqd_event;
 		} sqd;
 	} state;
 } ib_qp_mod_t;
@@ -9555,7 +9638,7 @@ typedef struct _ib_eec_mod {
 			uint8_t primary_port;
 		} rts;
 		struct _eec_sqd {
-			boolean_t sqd_event;
+			int sqd_event;
 		} sqd;
 	} state;
 } ib_eec_mod_t;
-- 
1.5.4.5




More information about the ofw mailing list