Hi Sean, On 22:29 Thu 29 Jan , Sasha Khapyorsky wrote: > On 11:35 Thu 29 Jan , Sean Hefty wrote: > > > > Stan came across an issue while porting saquery to Windows resulting from > > duplicate definitions for IB_MAD_METHOD_*. These are defined as enums in > > mad.h, > > but as #define values in ib_types.h. > > Why it should be a problem? ib_types.h is included in saquery.c after > mad.h and as far as I understand "defines" will work instead of "enums". > Opposite inclusion order could cause the problem of course.
BTW is it true that WinOF uses its own version of ib_types.h? A lot of time ago I posted patch (below) which removes '#ifdef *WIN*' stuff there. Would be interested to know is it relevant yet? Sasha commit 467537604b56df11d8eec6cbf2fcb8d3963a6afc Author: Sasha Khapyorsky <[email protected]> Date: Fri Nov 30 06:20:13 2007 +0200 opensm/ib_types.h: remove ifdef WIN conditions It was stated couple of times that in windows another instance of ib_types.h file is used. If so we don't need to keep those 'ifdef WIN' conditions here. Also this removes empty __ptr64 macro. Signed-off-by: Sasha Khapyorsky <[email protected]> diff --git a/opensm/include/iba/ib_types.h b/opensm/include/iba/ib_types.h index 09ec257..821c4c9 100644 --- a/opensm/include/iba/ib_types.h +++ b/opensm/include/iba/ib_types.h @@ -49,20 +49,9 @@ #endif /* __cplusplus */ BEGIN_C_DECLS -#if defined( WIN32 ) || defined( _WIN64 ) -#if defined( EXPORT_AL_SYMBOLS ) -#define OSM_EXPORT __declspec(dllexport) -#else -#define OSM_EXPORT __declspec(dllimport) -#endif -#define OSM_API __stdcall -#define OSM_CDECL __cdecl -#else #define OSM_EXPORT extern #define OSM_API #define OSM_CDECL -#define __ptr64 -#endif /****h* IBA Base/Constants * NAME * Constants @@ -8255,22 +8244,21 @@ typedef struct _ib_ioc_info { /* * The following definitions are shared between the Access Layer and VPD */ -typedef struct _ib_ca *__ptr64 ib_ca_handle_t; -typedef struct _ib_pd *__ptr64 ib_pd_handle_t; -typedef struct _ib_rdd *__ptr64 ib_rdd_handle_t; -typedef struct _ib_mr *__ptr64 ib_mr_handle_t; -typedef struct _ib_mw *__ptr64 ib_mw_handle_t; -typedef struct _ib_qp *__ptr64 ib_qp_handle_t; -typedef struct _ib_eec *__ptr64 ib_eec_handle_t; -typedef struct _ib_cq *__ptr64 ib_cq_handle_t; -typedef struct _ib_av *__ptr64 ib_av_handle_t; -typedef struct _ib_mcast *__ptr64 ib_mcast_handle_t; +typedef struct _ib_ca * ib_ca_handle_t; +typedef struct _ib_pd * ib_pd_handle_t; +typedef struct _ib_rdd * ib_rdd_handle_t; +typedef struct _ib_mr * ib_mr_handle_t; +typedef struct _ib_mw * ib_mw_handle_t; +typedef struct _ib_qp * ib_qp_handle_t; +typedef struct _ib_eec * ib_eec_handle_t; +typedef struct _ib_cq * ib_cq_handle_t; +typedef struct _ib_av * ib_av_handle_t; +typedef struct _ib_mcast * ib_mcast_handle_t; /* Currently for windows branch, use the extended version of ib special verbs struct in order to be compliant with Infinicon ib_types; later we'll change it to support OpenSM ib_types.h */ -#ifndef WIN32 /****d* Access Layer/ib_api_status_t * NAME * ib_api_status_t @@ -10712,8 +10700,4 @@ typedef struct _ib_ci_op { *****/ END_C_DECLS -#endif /* ndef WIN32 */ -#if defined( __WIN__ ) -#include <iba/ib_types_extended.h> -#endif #endif /* __IB_TYPES_H__ */ _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
