2 * Copyright (c) 2005 SilverStorm Technologies. All rights reserved.
\r
4 * This software is available to you under the OpenIB.org BSD license
\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
11 * - Redistributions of source code must retain the above
\r
12 * copyright notice, this list of conditions and the following
\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
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 AND
\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
32 /* protos from socketinfo.c */
\r
33 struct ibsp_socket_info *
\r
34 create_socket_info( void );
\r
38 struct ibsp_socket_info *socket_info );
\r
40 /* protos from extension.c */
\r
45 IN DWORD dwBufferLength,
\r
47 OUT LPINT lpErrno );
\r
50 IBSPDeregisterMemory(
\r
53 OUT LPINT lpErrno );
\r
56 IBSPRegisterRdmaMemory(
\r
59 IN DWORD dwBufferLength,
\r
61 OUT LPVOID lpRdmaBufferDescriptor,
\r
62 IN OUT LPDWORD lpdwDescriptorLength,
\r
63 OUT LPINT lpErrno );
\r
66 IBSPDeregisterRdmaMemory(
\r
68 IN LPVOID lpRdmaBufferDescriptor,
\r
69 IN DWORD dwDescriptorLength,
\r
70 OUT LPINT lpErrno );
\r
75 IN LPWSABUFEX lpBuffers,
\r
76 IN DWORD dwBufferCount,
\r
77 IN LPVOID lpTargetBufferDescriptor,
\r
78 IN DWORD dwTargetDescriptorLength,
\r
79 IN DWORD dwTargetBufferOffset,
\r
80 OUT LPDWORD lpdwNumberOfBytesWritten,
\r
82 IN LPWSAOVERLAPPED lpOverlapped,
\r
83 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
\r
84 IN LPWSATHREADID lpThreadId,
\r
85 OUT LPINT lpErrno );
\r
90 IN LPWSABUFEX lpBuffers,
\r
91 IN DWORD dwBufferCount,
\r
92 IN LPVOID lpTargetBufferDescriptor,
\r
93 IN DWORD dwTargetDescriptorLength,
\r
94 IN DWORD dwTargetBufferOffset,
\r
95 OUT LPDWORD lpdwNumberOfBytesRead,
\r
97 IN LPWSAOVERLAPPED lpOverlapped,
\r
98 IN LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
\r
99 IN LPWSATHREADID lpThreadId,
\r
100 OUT LPINT lpErrno );
\r
103 IBSPMemoryRegistrationCacheCallback(
\r
104 IN LPVOID lpvAddress,
\r
106 OUT LPINT lpErrno );
\r
108 /* Protos from ibsp_iblow.c */
\r
110 ib_release( void );
\r
113 ibsp_initialize( void );
\r
117 IN OUT struct ibsp_socket_info *socket_info );
\r
121 IN OUT struct ibsp_socket_info *socket_info );
\r
124 shutdown_and_destroy_socket_info(
\r
125 IN OUT struct ibsp_socket_info *socket_info,
\r
126 IN int old_state );
\r
129 destroy_qp_and_release_ressources(
\r
130 IN OUT struct ibsp_socket_info *socket_info );
\r
134 void *cq_context );
\r
138 IN OUT struct ibsp_socket_info *socket_info );
\r
141 ibsp_dup_overlap_abort(
\r
142 IN OUT struct ibsp_socket_info *socket_info );
\r
144 /* Protos from misc.c */
\r
147 IN const ib_api_status_t status );
\r
149 /* Protos from ibsp_ip.c */
\r
151 update_all_ip_addrs(void);
\r
155 IN const void* const p_key1,
\r
156 IN const void* const p_key2 );
\r
159 query_guid_address(
\r
160 IN struct ibsp_port *port,
\r
161 IN ib_net32_t ip_addr,
\r
162 OUT ib_net64_t *port_guid );
\r
166 IN struct ibsp_port *port,
\r
167 IN ib_net64_t dest_port_guid,
\r
168 OUT ib_path_rec_t *path_rec );
\r
172 IN OUT LPSOCKET_ADDRESS_LIST ip_list,
\r
173 IN OUT LPDWORD ip_list_size,
\r
174 OUT LPINT lpErrno );
\r
177 get_port_from_ip_address(
\r
178 IN const struct in_addr sin_addr );
\r
180 /* Protos from ibsp_cm.c */
\r
183 IN struct ibsp_socket_info *socket_info,
\r
184 OUT LPINT lpErrno );
\r
188 IN struct ibsp_socket_info *socket_info );
\r
192 IN const ib_cm_handle_t h_cm,
\r
193 IN const ib_rej_status_t rej_status );
\r
197 IN struct ibsp_socket_info *socket_info,
\r
198 IN ib_cm_req_rec_t *cm_req_received,
\r
199 OUT LPINT lpErrno );
\r
203 IN struct ibsp_socket_info *socket_info,
\r
204 IN ib_path_rec_t *path_rec,
\r
205 OUT LPINT lpErrno );
\r
209 IN struct ibsp_socket_info *socket_info,
\r
210 IN struct disconnect_reason *reason );
\r
214 register_pnp( void );
\r
217 unregister_pnp( void );
\r
221 struct ibsp_hca *hca);
\r
223 /* ibsp_duplicate.c */
\r
225 setup_duplicate_socket(
\r
226 IN struct ibsp_socket_info *socket_info,
\r
227 IN DWORD identifier );
\r
230 prepare_duplicate_socket(
\r
231 IN struct ibsp_socket_info *socket_info,
\r
232 IN DWORD dwProcessId );
\r
235 struct memory_node *
\r
237 IN struct mr_list *mem_list,
\r
238 IN ib_access_t acl_mask,
\r
242 struct memory_node *
\r
243 ib_register_memory(
\r
244 IN struct mr_list *mem_list,
\r
245 IN ib_pd_handle_t pd,
\r
248 IN ib_access_t access_ctrl,
\r
249 OUT LPINT lpErrno );
\r
252 ib_deregister_memory(
\r
253 IN struct mr_list *mem_list,
\r
254 IN struct memory_node *node,
\r
255 OUT LPINT lpErrno );
\r
258 ib_deregister_all_mr(
\r
259 IN struct mr_list *mem_list );
\r
262 ibsp_post_select_event(
\r
263 struct ibsp_socket_info *socket_info,
\r
269 init_globals( void );
\r
272 release_globals( void );
\r