From 5109b8c2be57655ff47836f641f85c819896ee8c Mon Sep 17 00:00:00 2001 From: shefty Date: Thu, 6 Mar 2008 07:40:05 +0000 Subject: [PATCH] wv/main: add ConvertIbalStatus routine to map ibal return values to wvstatus Signed-off-by: Sean Hefty git-svn-id: svn://openib.tc.cornell.edu/gen1@979 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- .../winverbs/core/winverbs/user/wv_base.h | 7 +- .../winverbs/core/winverbs/user/wv_main.cpp | 120 +++++++++--------- 2 files changed, 64 insertions(+), 63 deletions(-) diff --git a/branches/winverbs/core/winverbs/user/wv_base.h b/branches/winverbs/core/winverbs/user/wv_base.h index ecec90b5..f49e7d90 100644 --- a/branches/winverbs/core/winverbs/user/wv_base.h +++ b/branches/winverbs/core/winverbs/user/wv_base.h @@ -32,8 +32,9 @@ #ifndef _WV_BASE_H_ #define _WV_BASE_H_ -#include "windows.h" -//#include "iba\ib_types.h" +#include + +#include __inline void* __cdecl operator new(size_t size) { @@ -45,6 +46,6 @@ __inline void __cdecl operator delete(void *pObj) 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 diff --git a/branches/winverbs/core/winverbs/user/wv_main.cpp b/branches/winverbs/core/winverbs/user/wv_main.cpp index 24d70387..70840961 100644 --- a/branches/winverbs/core/winverbs/user/wv_main.cpp +++ b/branches/winverbs/core/winverbs/user/wv_main.cpp @@ -72,63 +72,63 @@ err1: 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; + } +} -- 2.41.0