[ofw] [RFC] [PATCH] winverbs: convert ib_api_status to wvstatus
Sean Hefty
sean.hefty at intel.com
Wed Mar 5 09:53:07 PST 2008
Enable code to convert from ib_api_status_t to HRESULT values.
Signed-off-by: Sean Hefty <sean.hefty at intel.com>
---
Note that code was there in initial check-in, but commented out. For
the most part, converting the status is only necessary when reporting
errors. Compiled tested only.
Index: SOURCES
===================================================================
--- SOURCES (revision 971)
+++ SOURCES (working copy)
@@ -27,8 +27,15 @@
USER_C_FLAGS=$(USER_C_FLAGS) -DEXPORT_WV_SYMBOLS
-TARGETLIBS= \
+TARGETLIBS=\
$(SDK_LIB_PATH)\kernel32.lib \
- $(SDK_LIB_PATH)\uuid.lib
+ $(SDK_LIB_PATH)\uuid.lib \
+!if $(FREEBUILD)
+ $(TARGETPATH)\*\complib.lib \
+ $(TARGETPATH)\*\ibal.lib
+!else
+ $(TARGETPATH)\*\complibd.lib \
+ $(TARGETPATH)\*\ibald.lib
+!endif
MSC_WARNING_LEVEL= /W4
Index: wv_base.h
===================================================================
--- wv_base.h (revision 961)
+++ wv_base.h (working copy)
@@ -32,9 +32,10 @@
#ifndef _WV_BASE_H_
#define _WV_BASE_H_
-#include "windows.h"
-//#include "iba\ib_types.h"
+#include <windows.h>
+#include <iba\ib_types.h>
+
__inline void* __cdecl operator new(size_t size)
{
return HeapAlloc(GetProcessHeap(), 0, size);
@@ -45,6 +46,6 @@
HeapFree(GetProcessHeap(), 0, pObj);
}
-//HRESULT ConvertIbalStatus(ib_api_status_t status);
+HRESULT ConvertIbalStatus(ib_api_status_t status);
#endif // _WV_BASE_H_
\ No newline at end of file
Index: wv_main.cpp
===================================================================
--- wv_main.cpp (revision 971)
+++ wv_main.cpp (working copy)
@@ -72,63 +72,63 @@
return hr;
}
-//HRESULT ConvertIbalStatus(ib_api_status_t status)
-//{
-// switch (status)
-// {
-// case IB_SUCCESS: return WV_SUCCESS;
-// case IB_INSUFFICIENT_RESOURCES: return WV_INSUFFICIENT_RESOURCES;
-// case IB_INSUFFICIENT_MEMORY: return WV_NO_MEMORY;
-// case IB_INVALID_PARAMETER: return WV_INVALID_PARAMETER;
-// case IB_INVALID_SETTING: return WV_INVALID_PARAMETER;
-// case IB_NOT_FOUND: return WV_INVALID_ADDRESS;
-// case IB_TIMEOUT: return WV_TIMEOUT;
-// case IB_CANCELED: return WV_CANCELLED;
-// case IB_INTERRUPTED: return WV_CANCELLED;
-// case IB_INVALID_PERMISSION: return WV_ACCESS_VIOLATION;
-// case IB_UNSUPPORTED: return WV_NOT_SUPPORTED;
-// case IB_OVERFLOW: return WV_BUFFER_OVERFLOW;
-// case IB_MAX_MCAST_QPS_REACHED: return WV_INSUFFICIENT_RESOURCES;
-// case IB_INVALID_QP_STATE: return WV_INVALID_PARAMETER;
-// case IB_INVALID_APM_STATE: return WV_INVALID_PARAMETER;
-// case IB_INVALID_PORT_STATE: return WV_INVALID_PARAMETER;
-// case IB_INVALID_STATE: return WV_INVALID_PARAMETER;
-// case IB_RESOURCE_BUSY: return WV_DEVICE_BUSY;
-// case IB_INVALID_PKEY: return WV_INVALID_HANDLE;
-// case IB_INVALID_LKEY: return WV_INVALID_HANDLE;
-// case IB_INVALID_RKEY: return WV_INVALID_HANDLE;
-// case IB_INVALID_MAX_WRS: return WV_INSUFFICIENT_RESOURCES;
-// case IB_INVALID_MAX_SGE: return WV_INSUFFICIENT_RESOURCES;
-// case IB_INVALID_CQ_SIZE: return WV_INSUFFICIENT_RESOURCES;
-// case IB_INVALID_SRQ_SIZE: return WV_INSUFFICIENT_RESOURCES;
-// case IB_INVALID_SERVICE_TYPE: return WV_NOT_SUPPORTED;
-// case IB_INVALID_GID: return WV_INVALID_ADDRESS;
-// case IB_INVALID_LID: return WV_INVALID_ADDRESS;
-// case IB_INVALID_GUID: return WV_INVALID_ADDRESS;
-// case IB_INVALID_CA_HANDLE: return WV_INVALID_HANDLE;
-// case IB_INVALID_AV_HANDLE: return WV_INVALID_HANDLE;
-// case IB_INVALID_CQ_HANDLE: return WV_INVALID_HANDLE;
-// case IB_INVALID_QP_HANDLE: return WV_INVALID_HANDLE;
-// case IB_INVALID_SRQ_HANDLE: return WV_INVALID_HANDLE;
-// case IB_INVALID_PD_HANDLE: return WV_INVALID_HANDLE;
-// case IB_INVALID_MR_HANDLE: return WV_INVALID_HANDLE;
-// case IB_INVALID_FMR_HANDLE: return WV_INVALID_HANDLE;
-// case IB_INVALID_MW_HANDLE: return WV_INVALID_HANDLE;
-// case IB_INVALID_MCAST_HANDLE: return WV_INVALID_HANDLE;
-// case IB_INVALID_CALLBACK: return WV_INVALID_PARAMETER;
-// case IB_INVALID_AL_HANDLE: return WV_INVALID_HANDLE;
-// case IB_INVALID_HANDLE: return WV_INVALID_HANDLE;
-// case IB_ERROR: return WV_UNKNOWN_ERROR;
-// case IB_REMOTE_ERROR: return WV_REMOTE_OP_ERROR;
-// case IB_VERBS_PROCESSING_DONE: return WV_SUCCESS;
-// case IB_INVALID_WR_TYPE: return WV_INVALID_PARAMETER;
-// case IB_QP_IN_TIMEWAIT: return WV_INVALID_PARAMETER;
-// case IB_EE_IN_TIMEWAIT: return WV_INVALID_PARAMETER;
-// case IB_INVALID_PORT: return WV_INVALID_ADDRESS;
-// case IB_NOT_DONE: return WV_PENDING;
-// case IB_INVALID_INDEX: return WV_INVALID_PARAMETER;
-// case IB_NO_MATCH: return WV_INVALID_PARAMETER;
-// case IB_PENDING: return WV_PENDING;
-// default: return WV_UNKNOWN_ERROR;
-// }
-//}
+HRESULT ConvertIbalStatus(ib_api_status_t status)
+{
+ switch (status)
+ {
+ case IB_SUCCESS: return WV_SUCCESS;
+ case IB_INSUFFICIENT_RESOURCES: return WV_INSUFFICIENT_RESOURCES;
+ case IB_INSUFFICIENT_MEMORY: return WV_NO_MEMORY;
+ case IB_INVALID_PARAMETER: return WV_INVALID_PARAMETER;
+ case IB_INVALID_SETTING: return WV_INVALID_PARAMETER;
+ case IB_NOT_FOUND: return WV_INVALID_ADDRESS;
+ case IB_TIMEOUT: return WV_TIMEOUT;
+ case IB_CANCELED: return WV_CANCELLED;
+ case IB_INTERRUPTED: return WV_CANCELLED;
+ case IB_INVALID_PERMISSION: return WV_ACCESS_VIOLATION;
+ case IB_UNSUPPORTED: return WV_NOT_SUPPORTED;
+ case IB_OVERFLOW: return WV_BUFFER_OVERFLOW;
+ case IB_MAX_MCAST_QPS_REACHED: return WV_INSUFFICIENT_RESOURCES;
+ case IB_INVALID_QP_STATE: return WV_INVALID_PARAMETER;
+ case IB_INVALID_APM_STATE: return WV_INVALID_PARAMETER;
+ case IB_INVALID_PORT_STATE: return WV_INVALID_PARAMETER;
+ case IB_INVALID_STATE: return WV_INVALID_PARAMETER;
+ case IB_RESOURCE_BUSY: return WV_DEVICE_BUSY;
+ case IB_INVALID_PKEY: return WV_INVALID_HANDLE;
+ case IB_INVALID_LKEY: return WV_INVALID_HANDLE;
+ case IB_INVALID_RKEY: return WV_INVALID_HANDLE;
+ case IB_INVALID_MAX_WRS: return WV_INSUFFICIENT_RESOURCES;
+ case IB_INVALID_MAX_SGE: return WV_INSUFFICIENT_RESOURCES;
+ case IB_INVALID_CQ_SIZE: return WV_INSUFFICIENT_RESOURCES;
+ case IB_INVALID_SRQ_SIZE: return WV_INSUFFICIENT_RESOURCES;
+ case IB_INVALID_SERVICE_TYPE: return WV_NOT_SUPPORTED;
+ case IB_INVALID_GID: return WV_INVALID_ADDRESS;
+ case IB_INVALID_LID: return WV_INVALID_ADDRESS;
+ case IB_INVALID_GUID: return WV_INVALID_ADDRESS;
+ case IB_INVALID_CA_HANDLE: return WV_INVALID_HANDLE;
+ case IB_INVALID_AV_HANDLE: return WV_INVALID_HANDLE;
+ case IB_INVALID_CQ_HANDLE: return WV_INVALID_HANDLE;
+ case IB_INVALID_QP_HANDLE: return WV_INVALID_HANDLE;
+ case IB_INVALID_SRQ_HANDLE: return WV_INVALID_HANDLE;
+ case IB_INVALID_PD_HANDLE: return WV_INVALID_HANDLE;
+ case IB_INVALID_MR_HANDLE: return WV_INVALID_HANDLE;
+ case IB_INVALID_FMR_HANDLE: return WV_INVALID_HANDLE;
+ case IB_INVALID_MW_HANDLE: return WV_INVALID_HANDLE;
+ case IB_INVALID_MCAST_HANDLE: return WV_INVALID_HANDLE;
+ case IB_INVALID_CALLBACK: return WV_INVALID_PARAMETER;
+ case IB_INVALID_AL_HANDLE: return WV_INVALID_HANDLE;
+ case IB_INVALID_HANDLE: return WV_INVALID_HANDLE;
+ case IB_ERROR: return WV_UNKNOWN_ERROR;
+ case IB_REMOTE_ERROR: return WV_REMOTE_OP_ERROR;
+ case IB_VERBS_PROCESSING_DONE: return WV_SUCCESS;
+ case IB_INVALID_WR_TYPE: return WV_INVALID_PARAMETER;
+ case IB_QP_IN_TIMEWAIT: return WV_INVALID_PARAMETER;
+ case IB_EE_IN_TIMEWAIT: return WV_INVALID_PARAMETER;
+ case IB_INVALID_PORT: return WV_INVALID_ADDRESS;
+ case IB_NOT_DONE: return WV_PENDING;
+ case IB_INVALID_INDEX: return WV_INVALID_PARAMETER;
+ case IB_NO_MATCH: return WV_INVALID_PARAMETER;
+ case IB_PENDING: return WV_PENDING;
+ default: return WV_UNKNOWN_ERROR;
+ }
+}
More information about the ofw
mailing list