winverbs/nd: do not convert timeout status value
[mirror/winof/.git] / ulp / netdirect / user / nd_base.cpp
1 /*\r
2  * Copyright (c) 2009 Intel Corporation. All rights reserved.\r
3  *\r
4  * This software is available to you under the OpenIB.org BSD license\r
5  * below:\r
6  *\r
7  *     Redistribution and use in source and binary forms, with or\r
8  *     without modification, are permitted provided that the following\r
9  *     conditions are met:\r
10  *\r
11  *      - Redistributions of source code must retain the above\r
12  *        copyright notice, this list of conditions and the following\r
13  *        disclaimer.\r
14  *\r
15  *      - Redistributions in binary form must reproduce the above\r
16  *        copyright notice, this list of conditions and the following\r
17  *        disclaimer in the documentation and/or other materials\r
18  *        provided with the distribution.\r
19  *\r
20  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
21  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
22  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AWV\r
23  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\r
24  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\r
25  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
26  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r
27  * SOFTWARE.\r
28  */\r
29 \r
30 #include "nd_base.h"\r
31 #include <ndstatus.h>\r
32 \r
33 CNDBase::CNDBase()\r
34 {\r
35         m_nRef = 1;\r
36 }\r
37 \r
38 STDMETHODIMP_(ULONG) CNDBase::\r
39 AddRef(void)\r
40 {\r
41         return InterlockedIncrement(&m_nRef);\r
42 }\r
43 \r
44 STDMETHODIMP_(ULONG) CNDBase::\r
45 Release(void)\r
46 {\r
47         ULONG ref;\r
48 \r
49         ref = (ULONG) InterlockedDecrement(&m_nRef);\r
50         if (ref == 0) {\r
51                 Delete();\r
52         }\r
53         return ref;\r
54 }\r
55 \r
56 HRESULT NDConvertWVStatus(HRESULT hr)\r
57 {\r
58         switch (hr) {\r
59         case WV_IO_PENDING:\r
60                 return ND_PENDING;\r
61         default:\r
62                 return hr;\r
63         }\r
64 }\r