[DAPL2] DAPL Counters & 2.0.3 extensions to support counter retrieval.
[mirror/winof/.git] / ulp / dapl2 / dapl / common / dapl_ep_post_send.c
1 /*\r
2  * Copyright (c) 2002-2005, Network Appliance, Inc. All rights reserved.\r
3  *\r
4  * This Software is licensed under one of the following licenses:\r
5  *\r
6  * 1) under the terms of the "Common Public License 1.0" a copy of which is\r
7  *    in the file LICENSE.txt in the root directory. The license is also\r
8  *    available from the Open Source Initiative, see\r
9  *    http://www.opensource.org/licenses/cpl.php.\r
10  *\r
11  * 2) under the terms of the "The BSD License" a copy of which is in the file\r
12  *    LICENSE2.txt in the root directory. The license is also available from\r
13  *    the Open Source Initiative, see\r
14  *    http://www.opensource.org/licenses/bsd-license.php.\r
15  *\r
16  * 3) under the terms of the "GNU General Public License (GPL) Version 2" a \r
17  *    copy of which is in the file LICENSE3.txt in the root directory. The \r
18  *    license is also available from the Open Source Initiative, see\r
19  *    http://www.opensource.org/licenses/gpl-license.php.\r
20  *\r
21  * Licensee has the right to choose one of the above licenses.\r
22  *\r
23  * Redistributions of source code must retain the above copyright\r
24  * notice and one of the license notices.\r
25  *\r
26  * Redistributions in binary form must reproduce both the above copyright\r
27  * notice, one of the license notices in the documentation\r
28  * and/or other materials provided with the distribution.\r
29  */\r
30 \r
31 /**********************************************************************\r
32  * \r
33  * MODULE: dapl_ep_post_send.c\r
34  *\r
35  * PURPOSE: Endpoint management\r
36  * Description: Interfaces in this file are completely described in\r
37  *              the DAPL 1.1 API, Chapter 6, section 5\r
38  *\r
39  * $Id: dapl_ep_post_send.c 1364 2005-10-31 18:30:14Z jlentini $\r
40  **********************************************************************/\r
41 \r
42 #include "dapl_ep_util.h"\r
43 \r
44 /*\r
45  * dapl_ep_post_send\r
46  *\r
47  * DAPL Requirements Version xxx, 6.5.10\r
48  *\r
49  * Request a transfer of all the data from the local_iov over\r
50  * the connection of the ep handle Endpoint to the remote side.\r
51  *\r
52  * Input:\r
53  *      ep_handle\r
54  *      num_segments\r
55  *      local_iov\r
56  *      user_cookie\r
57  *      completion_flags\r
58  *\r
59  * Output:\r
60  *      None\r
61  * Returns:\r
62  *      DAT_SUCCESS\r
63  *      DAT_INSUFFICIENT_RESOURCES\r
64  *      DAT_INVALID_PARAMETER\r
65  *      DAT_INVALID_STATE\r
66  *      DAT_PROTECTION_VIOLATION\r
67  *      DAT_PRIVILEGES_VIOLATION\r
68  */\r
69 DAT_RETURN DAT_API\r
70 dapl_ep_post_send (\r
71         IN      DAT_EP_HANDLE           ep_handle,\r
72         IN      DAT_COUNT               num_segments,\r
73         IN      DAT_LMR_TRIPLET         *local_iov,\r
74         IN      DAT_DTO_COOKIE          user_cookie,\r
75         IN      DAT_COMPLETION_FLAGS    completion_flags )\r
76 {\r
77     DAT_RMR_TRIPLET     remote_iov = {0,0,0};\r
78     DAT_RETURN          dat_status;\r
79 \r
80     dapl_dbg_log (DAPL_DBG_TYPE_API,\r
81                   "dapl_ep_post_send (%p, %d, %p, %p, %x)\n",\r
82                   ep_handle, \r
83                   num_segments, \r
84                   local_iov, \r
85                   user_cookie.as_64,\r
86                   completion_flags);\r
87 \r
88     dat_status = dapl_ep_post_send_req(ep_handle,\r
89                                  num_segments,\r
90                                  local_iov,\r
91                                  user_cookie,\r
92                                  &remote_iov,\r
93                                  completion_flags,\r
94                                  DAPL_DTO_TYPE_SEND,\r
95                                  OP_SEND);\r
96 \r
97     dapl_dbg_log (DAPL_DBG_TYPE_RTN,\r
98                   "dapl_ep_post_send () returns 0x%x\n",\r
99                   dat_status);\r
100 \r
101 \r
102     return dat_status;\r
103 }\r