[IPoIB] ip_packet.h moved to globally shared inc/kernel
[mirror/winof/.git] / docs / iba / ib_al_ioctl_h.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">\r
2 <html>\r
3 <head>\r
4 <link rel="stylesheet" href="../robodoc.css" type="text/css">\r
5 <title>./inc_doc/iba/ib_al_ioctl_h.html</title>\r
6 <!-- Source: ./inc/iba/ib_al_ioctl.h -->\r
7 <!-- Generated with ROBODoc Version 4.99.17 (Aug  2 2005) -->\r
8 </head>\r
9 <body bgcolor="#FFFFFF">\r
10 <a name="robo_top_of_doc">Generated from ./inc/iba/ib_al_ioctl.h</a> with <a href="http://sourceforge.net/projects/robodoc/">ROBODoc</a> v4.99.17 on Sun Aug 27 2006 10:20:31\r
11 <br />\r
12 <hr />\r
13 \r
14 <h2><a name="robo987">[Structures]<a name="User2dmode20Access20Layer2fual5falloc5fpd5fioctl5ft">\r
15 User-mode Access Layer/ual_alloc_pd_ioctl_t</a></h2>\r
16 \r
17 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
18 <p><strong>NAME</strong></p>\r
19 <span class="NAME"><pre>       <strong>ual_alloc_pd_ioctl_t</strong>\r
20 </pre>\r
21 </span><p><strong>DESCRIPTION</strong></p>\r
22 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
23        <a href="./ib_al_h.html#robo48">ib_alloc_pd</a>\r
24 </pre>\r
25 </span><p><strong>SYNOPSIS</strong></p>\r
26 <span class="SYNOPSIS"><pre>typedef union _ual_alloc_pd_ioctl\r
27 {\r
28         struct _ual_alloc_pd_ioctl_in\r
29         {\r
30                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
31                 uint64_t                                        h_ca;\r
32                 <a href="./ib_types_h.html#robo165">ib_pd_type_t</a>                            type;\r
33                 void* __ptr64                           context;\r
34 \r
35         }       in;\r
36         struct _ual_alloc_pd_ioctl_out\r
37         {\r
38                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
39                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
40                 uint64_t                                        h_pd;\r
41 \r
42         }       out;\r
43 \r
44 }       <strong>ual_alloc_pd_ioctl_t</strong>;\r
45 </pre>\r
46 </span><p><strong>FIELDS</strong></p>\r
47 <span class="FIELDS"><pre>       in.umv_buf\r
48                Opaque to IBAL buffer descriptor to allow the user-mode HCA library to\r
49                exchange private information with the kernel-mode HCA driver.\r
50 \r
51        in.h_ca\r
52                The handle to an open instance of CA returned in a ual_open_ca_ioctl.\r
53 \r
54        in.context\r
55                UAL's pd context. This context will be provided on destroy callback.\r
56 \r
57        out.umv_buf\r
58                Returns the status from the HCA driver to the user-mode HCA library,\r
59                along with any vendor specific output information.\r
60 \r
61        out.status\r
62                Status of the operation\r
63 \r
64        out.h_pd\r
65                The handle to the PD to use in further PD-related IOCTLs.\r
66 </pre>\r
67 </span>\r
68 <hr />\r
69 \r
70 <h2><a name="robo988">[Structures]<a name="User2dmode20Access20Layer2fual5fattach5fmcast5fioctl5ft">\r
71 User-mode Access Layer/ual_attach_mcast_ioctl_t</a></h2>\r
72 \r
73 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
74 <p><strong>NAME</strong></p>\r
75 <span class="NAME"><pre>       <strong>ual_attach_mcast_ioctl_t</strong>\r
76 </pre>\r
77 </span><p><strong>DESCRIPTION</strong></p>\r
78 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
79        verbs attach multicast call.\r
80 </pre>\r
81 </span><p><strong>SYNOPSIS</strong></p>\r
82 <span class="SYNOPSIS"><pre>typedef union _ual_attach_mcast_ioctl\r
83 {\r
84         struct _ual_attach_mcast_ioctl_in\r
85         {\r
86                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
87                 uint64_t                                        h_qp;\r
88                 <a href="./ib_types_h.html#robo861">ib_gid_t</a>                                        mgid;\r
89                 <a href="./ib_types_h.html#robo899">ib_net16_t</a>                                      mlid;\r
90 \r
91         }       in;\r
92         struct _ual_attach_mcast_ioctl_out\r
93         {\r
94                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
95                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
96                 uint64_t                                        h_attach;\r
97 \r
98         }       out;\r
99 \r
100 }       <strong>ual_attach_mcast_ioctl_t</strong>;\r
101 </pre>\r
102 </span><p><strong>FIELDS</strong></p>\r
103 <span class="FIELDS"><pre>       in.umv_buf\r
104                Opaque to IBAL buffer descriptor to allow the user-mode HCA library to\r
105                exchange private information with the kernel-mode HCA driver.\r
106 \r
107        in.h_qp\r
108                Handle to the QP that is joining the multicast group.\r
109 \r
110        in.mgid\r
111                Multicast GID address for this multicast group.\r
112 \r
113        in.mlid\r
114                Multicast LID for this multicast group.\r
115 \r
116        out.umv_buf\r
117                Returns the status from the HCA driver to the user-mode HCA library,\r
118                along with any vendor specific output information.\r
119 \r
120        out.status\r
121                Status of the operation.\r
122 \r
123        h_attach\r
124                Multicast group handle.\r
125 </pre>\r
126 </span>\r
127 <hr />\r
128 \r
129 <h2><a name="robo989">[Structures]<a name="User2dmode20Access20Layer2fual5fbind5ffile5fioctl5ft">\r
130 User-mode Access Layer/ual_bind_file_ioctl_t</a></h2>\r
131 \r
132 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
133 <p><strong>NAME</strong></p>\r
134 <span class="NAME"><pre>       <strong>ual_bind_file_ioctl_t</strong>\r
135 </pre>\r
136 </span><p><strong>DESCRIPTION</strong></p>\r
137 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
138        binding a file handle to an existing proxy context.\r
139 </pre>\r
140 </span><p><strong>SYNOPSIS</strong></p>\r
141 <span class="SYNOPSIS"><pre>typedef struct _ual_bind_file_ioctl\r
142 {\r
143         void* __ptr64                   h_file;\r
144 \r
145 }       <strong>ual_bind_file_ioctl_t</strong>;\r
146 </pre>\r
147 </span><p><strong>FIELDS</strong></p>\r
148 <span class="FIELDS"><pre>       h_file\r
149                File handle from the user-mode process intended for asynchronous requests.\r
150                The IOCTL code will specify the type of asynchronous requests to be\r
151                performed on this file handle.\r
152 </pre>\r
153 </span><p><strong>SEE ALSO</strong></p>\r
154 <span class="SEE_ALSO"><pre>\r
155 </pre>\r
156 </span><p><strong>NOTES</strong></p>\r
157 <span class="NOTES"></span>\r
158 <hr />\r
159 \r
160 <h2><a name="robo990">[Structures]<a name="User2dmode20Access20Layer2fual5fbind5fmw5fioctl5ft">\r
161 User-mode Access Layer/ual_bind_mw_ioctl_t</a></h2>\r
162 \r
163 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
164 <p><strong>NAME</strong></p>\r
165 <span class="NAME"><pre>       <strong>ual_bind_mw_ioctl_t</strong>\r
166 </pre>\r
167 </span><p><strong>DESCRIPTION</strong></p>\r
168 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
169        <a href="./ib_al_h.html#robo58">ib_bind_mw</a>\r
170 </pre>\r
171 </span><p><strong>SYNOPSIS</strong></p>\r
172 <span class="SYNOPSIS"><pre>typedef union _ual_bind_mw_ioctl\r
173 {\r
174         struct _ual_bind_mw_ioctl_in\r
175         {\r
176                 uint64_t                                        h_mw;\r
177                 uint64_t                                        h_qp;\r
178                 <a href="./ib_types_h.html#robo59">ib_bind_wr_t</a>                            mw_bind;\r
179 \r
180         }       in;\r
181         struct _ual_bind_mw_ioctl_out\r
182         {\r
183                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
184                 uint32_t                                        r_key;\r
185 \r
186         }       out;\r
187 \r
188 }       <strong>ual_bind_mw_ioctl_t</strong>;\r
189 </pre>\r
190 </span><p><strong>FIELDS</strong></p>\r
191 <span class="FIELDS"><pre>       in.h_mw\r
192                A handle to an existing memory window.\r
193 \r
194        in.h_qp\r
195                The qp handle to post the bind request.\r
196 \r
197        in.mw_bind\r
198                Bind request.\r
199 \r
200        out.status\r
201                Status of the operation.\r
202 \r
203        out.rkey\r
204                RKey for the memory window.\r
205 </pre>\r
206 </span>\r
207 <hr />\r
208 \r
209 <h2><a name="robo991">[Structures]<a name="User2dmode20Access20Layer2fual5fcancel5fmad5fioctl5ft">\r
210 User-mode Access Layer/ual_cancel_mad_ioctl_t</a></h2>\r
211 \r
212 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
213 <p><strong>NAME</strong></p>\r
214 <span class="NAME"><pre>       <strong>ual_cancel_mad_ioctl_t</strong>\r
215 </pre>\r
216 </span><p><strong>DESCRIPTION</strong></p>\r
217 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
218        <a href="./ib_al_h.html#robo62">ib_cancel_mad</a>\r
219 </pre>\r
220 </span><p><strong>SYNOPSIS</strong></p>\r
221 <span class="SYNOPSIS"><pre>typedef union _ual_cancel_mad_ioctl\r
222 {\r
223         struct _ual_cancel_mad_ioctl_in\r
224         {\r
225                 uint64_t                                        h_mad_svc;\r
226                 void* __ptr64                           h_proxy_element;\r
227 \r
228         }       in;\r
229         struct _ual_cancel_mad_ioctl_out\r
230         {\r
231                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
232 \r
233         }       out;\r
234 \r
235 }       <strong>ual_cancel_mad_ioctl_t</strong>;\r
236 </pre>\r
237 </span><p><strong>FIELDS</strong></p>\r
238 <span class="FIELDS"><pre>       in.h_mad_svc\r
239                contains the handle to the mad service\r
240 \r
241        in.h_mad_send\r
242                this references the handle to the sent MAD operation.\r
243 \r
244        out.status\r
245                Status of the operation.\r
246 </pre>\r
247 </span>\r
248 <hr />\r
249 \r
250 <h2><a name="robo992">[Structures]<a name="User2dmode20Access20Layer2fual5fcancel5fsa5freq5fioctl5ft">\r
251 User-mode Access Layer/ual_cancel_sa_req_ioctl_t</a></h2>\r
252 \r
253 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
254 <p><strong>NAME</strong></p>\r
255 <span class="NAME"><pre>       <strong>ual_cancel_sa_req_ioctl_t</strong>\r
256 </pre>\r
257 </span><p><strong>DESCRIPTION</strong></p>\r
258 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input parameters for cancelling an\r
259        SA request.\r
260 </pre>\r
261 </span><p><strong>SYNOPSIS</strong></p>\r
262 <span class="SYNOPSIS"><pre>typedef struct _ual_cancel_sa_req_ioctl\r
263 {\r
264         uint64_t                        h_sa_req;\r
265 \r
266 }       <strong>ual_cancel_sa_req_ioctl_t</strong>;\r
267 </pre>\r
268 </span><p><strong>PARAMETERS</strong></p>\r
269 <span class="PARAMETERS"><pre>       h_sa_req\r
270                Handle to the query to cancel.\r
271 </pre>\r
272 </span>\r
273 <hr />\r
274 \r
275 <h2><a name="robo993">[Structures]<a name="User2dmode20Access20Layer2fual5fcep5fapr5fioctl5ft">\r
276 User-mode Access Layer/ual_cep_apr_ioctl_t</a></h2>\r
277 \r
278 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
279 <p><strong>NAME</strong></p>\r
280 <span class="NAME"><pre>       <strong>ual_cep_apr_ioctl_t</strong>\r
281 </pre>\r
282 </span><p><strong>DESCRIPTION</strong></p>\r
283 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input parameters for\r
284        ib_cep_apr\r
285 </pre>\r
286 </span><p><strong>SYNOPSIS</strong></p>\r
287 <span class="SYNOPSIS"><pre>typedef union _ual_cep_apr_ioctl\r
288 {\r
289         struct _ual_cep_apr_ioctl_in\r
290         {\r
291                 net32_t                                 cid;\r
292                 <a href="./ib_al_h.html#robo71">ib_cm_apr_t</a>                             cm_apr;\r
293                 uint8_t                                 apr_info[IB_APR_INFO_SIZE];\r
294                 uint8_t                                 pdata[IB_APR_PDATA_SIZE];\r
295 \r
296         }       in;\r
297 \r
298         struct _ual_cep_apr_ioctl_out\r
299         {\r
300                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                 status;\r
301                 <a href="./ib_types_h.html#robo207">ib_qp_mod_t</a>                             apr;\r
302 \r
303         }       out;\r
304 \r
305 }       <strong>ual_cep_apr_ioctl_t</strong>;\r
306 </pre>\r
307 </span><p><strong>FIELDS</strong></p>\r
308 <span class="FIELDS"><pre>       in.h_cm_lap\r
309                The cm_lap connection handle got on the LAP callback.\r
310 \r
311        in.cm_apr\r
312                CM APR parameters.\r
313 </pre>\r
314 </span>\r
315 <hr />\r
316 \r
317 <h2><a name="robo994">[Structures]<a name="User2dmode20Access20Layer2fual5fcep5fdrep5fioctl5ft">\r
318 User-mode Access Layer/ual_cep_drep_ioctl_t</a></h2>\r
319 \r
320 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
321 <p><strong>NAME</strong></p>\r
322 <span class="NAME"><pre>       <strong>ual_cep_drep_ioctl_t</strong>\r
323 </pre>\r
324 </span><p><strong>DESCRIPTION</strong></p>\r
325 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
326        <a href="./ib_al_h.html#robo74">ib_cm_drep</a>\r
327 </pre>\r
328 </span><p><strong>SYNOPSIS</strong></p>\r
329 <span class="SYNOPSIS"><pre>typedef struct _ual_cep_drep_ioctl\r
330 {\r
331         net32_t                                         cid;\r
332         <a href="./ib_al_h.html#robo76">ib_cm_drep_t</a>                            cm_drep;\r
333         uint8_t                                         pdata[IB_DREP_PDATA_SIZE];\r
334 \r
335 }       <strong>ual_cep_drep_ioctl_t</strong>;\r
336 </pre>\r
337 </span><p><strong>FIELDS</strong></p>\r
338 <span class="FIELDS"><pre>       in.h_cm_dreq\r
339                The cm_dreq connection handle got on the callback.\r
340 \r
341        in.cm_drep\r
342                CM DREP parameters.\r
343 </pre>\r
344 </span>\r
345 <hr />\r
346 \r
347 <h2><a name="robo995">[Structures]<a name="User2dmode20Access20Layer2fual5fcep5fdreq5fioctl5ft">\r
348 User-mode Access Layer/ual_cep_dreq_ioctl_t</a></h2>\r
349 \r
350 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
351 <p><strong>NAME</strong></p>\r
352 <span class="NAME"><pre>       <strong>ual_cep_dreq_ioctl_t</strong>\r
353 </pre>\r
354 </span><p><strong>DESCRIPTION</strong></p>\r
355 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input parameters for\r
356        <a href="./ib_al_h.html#robo77">ib_cm_dreq</a>\r
357 </pre>\r
358 </span><p><strong>SYNOPSIS</strong></p>\r
359 <span class="SYNOPSIS"><pre>typedef struct _ual_cep_dreq_ioctl\r
360 {\r
361         net32_t                                         cid;\r
362         uint8_t                                         pdata_len;\r
363         uint8_t                                         pdata[IB_DREQ_PDATA_SIZE];\r
364 \r
365 }       <strong>ual_cep_dreq_ioctl_t</strong>;\r
366 </pre>\r
367 </span><p><strong>FIELDS</strong></p>\r
368 <span class="FIELDS"><pre>       cm_dreq\r
369                CM DREQ parameters.\r
370 </pre>\r
371 </span>\r
372 <hr />\r
373 \r
374 <h2><a name="robo996">[Structures]<a name="User2dmode20Access20Layer2fual5fcep5fget5frtr5fioctl5ft">\r
375 User-mode Access Layer/ual_cep_get_rtr_ioctl_t</a></h2>\r
376 \r
377 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
378 <p><strong>NAME</strong></p>\r
379 <span class="NAME"><pre>       <strong>ual_cep_get_rtr_ioctl_t</strong>\r
380 </pre>\r
381 </span><p><strong>DESCRIPTION</strong></p>\r
382 <span class="DESCRIPTION"><pre>       IOCTL structure containing the output parameters for\r
383        al_cep_get_rtr_attr call.\r
384 </pre>\r
385 </span><p><strong>SYNOPSIS</strong></p>\r
386 <span class="SYNOPSIS"><pre>typedef struct _ual_cep_get_rtr_ioctl\r
387 {\r
388         <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
389         <a href="./ib_types_h.html#robo207">ib_qp_mod_t</a>                                     rtr;\r
390 \r
391 }       <strong>ual_cep_get_rtr_ioctl_t</strong>;\r
392 </pre>\r
393 </span><p><strong>FIELDS</strong></p>\r
394 <span class="FIELDS"><pre>       out.status\r
395                Status of the operation.\r
396 \r
397        out.rtr\r
398                QP modify paramters for RTR state transition.\r
399 </pre>\r
400 </span>\r
401 <hr />\r
402 \r
403 <h2><a name="robo997">[Structures]<a name="User2dmode20Access20Layer2fual5fcep5fget5frts5fioctl5ft">\r
404 User-mode Access Layer/ual_cep_get_rts_ioctl_t</a></h2>\r
405 \r
406 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
407 <p><strong>NAME</strong></p>\r
408 <span class="NAME"><pre>       <strong>ual_cep_get_rts_ioctl_t</strong>\r
409 </pre>\r
410 </span><p><strong>DESCRIPTION</strong></p>\r
411 <span class="DESCRIPTION"><pre>       IOCTL structure containing the output parameters for\r
412        al_cep_get_rts_attr call.\r
413 </pre>\r
414 </span><p><strong>SYNOPSIS</strong></p>\r
415 <span class="SYNOPSIS"><pre>typedef struct _ual_cep_get_rts_ioctl\r
416 {\r
417         <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
418         <a href="./ib_types_h.html#robo207">ib_qp_mod_t</a>                                     rts;\r
419 \r
420 }       <strong>ual_cep_get_rts_ioctl_t</strong>;\r
421 </pre>\r
422 </span><p><strong>FIELDS</strong></p>\r
423 <span class="FIELDS"><pre>       out.status\r
424                Status of the operation.\r
425 \r
426        out.rts\r
427                QP modify paramters for RTS state transition.\r
428 </pre>\r
429 </span>\r
430 <hr />\r
431 \r
432 <h2><a name="robo998">[Structures]<a name="User2dmode20Access20Layer2fual5fcep5fget5ftimewait5fioctl5ft">\r
433 User-mode Access Layer/ual_cep_get_timewait_ioctl_t</a></h2>\r
434 \r
435 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
436 <p><strong>NAME</strong></p>\r
437 <span class="NAME"><pre>       <strong>ual_cep_get_timewait_ioctl_t</strong>\r
438 </pre>\r
439 </span><p><strong>DESCRIPTION</strong></p>\r
440 <span class="DESCRIPTION"><pre>       IOCTL structure containing the output parameters for\r
441        ib_cep_get_timewait\r
442 </pre>\r
443 </span><p><strong>SYNOPSIS</strong></p>\r
444 <span class="SYNOPSIS"><pre>typedef struct _ual_cep_get_timewait_ioctl\r
445 {\r
446         <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
447         uint64_t                                        timewait_us;\r
448 \r
449 }       <strong>ual_cep_get_timewait_ioctl_t</strong>;\r
450 </pre>\r
451 </span><p><strong>FIELDS</strong></p>\r
452 <span class="FIELDS"><pre>       in.status\r
453                Status of the request.\r
454 \r
455        in.timewait_us\r
456                Timewait value, in microseconds.\r
457 </pre>\r
458 </span>\r
459 <hr />\r
460 \r
461 <h2><a name="robo999">[Structures]<a name="User2dmode20Access20Layer2fual5fcep5fhandoff5fioctl5ft">\r
462 User-mode Access Layer/ual_cep_handoff_ioctl_t</a></h2>\r
463 \r
464 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
465 <p><strong>NAME</strong></p>\r
466 <span class="NAME"><pre>       <strong>ual_cep_handoff_ioctl_t</strong>\r
467 </pre>\r
468 </span><p><strong>DESCRIPTION</strong></p>\r
469 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
470        <a href="./ib_al_h.html#robo81">ib_cm_handoff</a>\r
471 </pre>\r
472 </span><p><strong>SYNOPSIS</strong></p>\r
473 <span class="SYNOPSIS"><pre>typedef union _ual_cep_handoff_ioctl\r
474 {\r
475         struct _ual_cep_handoff_ioctl_in\r
476         {\r
477                 uint64_t                                        h_cm;\r
478                 net64_t                                         sid;\r
479 \r
480         }       in;\r
481         struct _ual_cep_handoff_ioctl_out\r
482         {\r
483                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
484 \r
485         }       out;\r
486 \r
487 }       <strong>ual_cep_handoff_ioctl_t</strong>;\r
488 </pre>\r
489 </span><p><strong>FIELDS</strong></p>\r
490 <span class="FIELDS"><pre>       in.h_cm\r
491                The connection handle got on the callback.\r
492 \r
493        in.sid\r
494                Service ID to which to handoff the listen.\r
495 \r
496        out.status\r
497                Status of the operation\r
498 </pre>\r
499 </span>\r
500 <hr />\r
501 \r
502 <h2><a name="robo1000">[Structures]<a name="User2dmode20Access20Layer2fual5fcep5flap5fioctl5ft">\r
503 User-mode Access Layer/ual_cep_lap_ioctl_t</a></h2>\r
504 \r
505 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
506 <p><strong>NAME</strong></p>\r
507 <span class="NAME"><pre>       <strong>ual_cep_lap_ioctl_t</strong>\r
508 </pre>\r
509 </span><p><strong>DESCRIPTION</strong></p>\r
510 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input parameters for\r
511        <a href="./ib_al_h.html#robo82">ib_cm_lap</a>\r
512 </pre>\r
513 </span><p><strong>SYNOPSIS</strong></p>\r
514 <span class="SYNOPSIS"><pre>typedef struct _ual_cep_lap_ioctl\r
515 {\r
516         net32_t                                         cid;\r
517         <a href="./ib_al_h.html#robo84">ib_cm_lap_t</a>                                     cm_lap;\r
518         <a href="./ib_types_h.html#robo933">ib_path_rec_t</a>                           alt_path;\r
519         uint8_t                                         pdata[IB_LAP_PDATA_SIZE];\r
520 \r
521 }       <strong>ual_cep_lap_ioctl_t</strong>;\r
522 </pre>\r
523 </span><p><strong>FIELDS</strong></p>\r
524 <span class="FIELDS"><pre>       in.cm_lap\r
525                CM LAP parameters\r
526 \r
527        in.alt_path\r
528                Alternate path information.\r
529 </pre>\r
530 </span>\r
531 <hr />\r
532 \r
533 <h2><a name="robo1001">[Structures]<a name="User2dmode20Access20Layer2fual5fcep5flisten5fioctl5ft">\r
534 User-mode Access Layer/ual_cep_listen_ioctl_t</a></h2>\r
535 \r
536 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
537 <p><strong>NAME</strong></p>\r
538 <span class="NAME"><pre>       <strong>ual_cep_listen_ioctl_t</strong>\r
539 </pre>\r
540 </span><p><strong>DESCRIPTION</strong></p>\r
541 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input parameters to\r
542        perform a CM listen request.\r
543 </pre>\r
544 </span><p><strong>SYNOPSIS</strong></p>\r
545 <span class="SYNOPSIS"><pre>typedef struct _ual_cep_listen_ioctl\r
546 {\r
547         net32_t                                         cid;\r
548         <a href="./ib_al_h.html#robo64">ib_cep_listen_t</a>                         cep_listen;\r
549         uint8_t                                         compare[IB_REQ_PDATA_SIZE];\r
550 \r
551 }       <strong>ual_cep_listen_ioctl_t</strong>;\r
552 </pre>\r
553 </span><p><strong>FIELDS</strong></p>\r
554 <span class="FIELDS"><pre>       in.cid\r
555                CID of an existing CEP.\r
556 \r
557        in.cep_listen\r
558                Information used to direct the listen request to match incoming\r
559                connection requests.\r
560 </pre>\r
561 </span>\r
562 <hr />\r
563 \r
564 <h2><a name="robo1002">[Structures]<a name="User2dmode20Access20Layer2fual5fcep5fmra5fioctl5ft">\r
565 User-mode Access Layer/ual_cep_mra_ioctl_t</a></h2>\r
566 \r
567 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
568 <p><strong>NAME</strong></p>\r
569 <span class="NAME"><pre>       <strong>ual_cep_mra_ioctl_t</strong>\r
570 </pre>\r
571 </span><p><strong>DESCRIPTION</strong></p>\r
572 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input parameters for\r
573        <a href="./ib_al_h.html#robo87">ib_cm_mra</a>\r
574 </pre>\r
575 </span><p><strong>SYNOPSIS</strong></p>\r
576 <span class="SYNOPSIS"><pre>typedef struct _ual_cep_mra_ioctl\r
577 {\r
578         net32_t                                         cid;\r
579         <a href="./ib_al_h.html#robo89">ib_cm_mra_t</a>                                     cm_mra;\r
580         uint8_t                                         pdata[IB_MRA_PDATA_SIZE];\r
581 \r
582 }       <strong>ual_cep_mra_ioctl_t</strong>;\r
583 </pre>\r
584 </span><p><strong>FIELDS</strong></p>\r
585 <span class="FIELDS"><pre>       in.cid\r
586                The CID for the target CEP.\r
587 \r
588        in.cm_mra\r
589                CM MRA parameters.\r
590 </pre>\r
591 </span>\r
592 <hr />\r
593 \r
594 <h2><a name="robo1003">[Structures]<a name="User2dmode20Access20Layer2fual5fcep5fpoll5fioctl5ft">\r
595 User-mode Access Layer/ual_cep_poll_ioctl_t</a></h2>\r
596 \r
597 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
598 <p><strong>NAME</strong></p>\r
599 <span class="NAME"><pre>       <strong>ual_cep_poll_ioctl_t</strong>\r
600 </pre>\r
601 </span><p><strong>DESCRIPTION</strong></p>\r
602 <span class="DESCRIPTION"><pre>       IOCTL structure containing the output parameters to\r
603        poll for incoming events on a CEP.  The input parameter is the CID.\r
604 </pre>\r
605 </span><p><strong>SYNOPSIS</strong></p>\r
606 <span class="SYNOPSIS"><pre>typedef struct _ual_cep_poll_ioctl\r
607 {\r
608         <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
609         void* __ptr64                           context;\r
610         net32_t                                         new_cid;\r
611         <a href="./ib_al_h.html#robo150">ib_mad_element_t</a>                        element;\r
612         <a href="./ib_types_h.html#robo865">ib_grh_t</a>                                        grh;\r
613         uint8_t                                         mad_buf[<a href="./ib_types_h.html#robo837">MAD_BLOCK_SIZE</a>];\r
614 \r
615 }       <strong>ual_cep_poll_ioctl_t</strong>;\r
616 </pre>\r
617 </span><p><strong>FIELDS</strong></p>\r
618 <span class="FIELDS"><pre>       status\r
619                Status of the operation.\r
620 \r
621        new_cep\r
622                For listen requests, CEP information of CEPs created in response\r
623                to incoming REQs.\r
624 \r
625        mad_buf\r
626                Payload of a received MAD (or failed send)\r
627 </pre>\r
628 </span>\r
629 <hr />\r
630 \r
631 <h2><a name="robo1004">[Structures]<a name="User2dmode20Access20Layer2fual5fcep5frej5fioctl5ft">\r
632 User-mode Access Layer/ual_cep_rej_ioctl_t</a></h2>\r
633 \r
634 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
635 <p><strong>NAME</strong></p>\r
636 <span class="NAME"><pre>       <strong>ual_cep_rej_ioctl_t</strong>\r
637 </pre>\r
638 </span><p><strong>DESCRIPTION</strong></p>\r
639 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input parameters for\r
640        al_cep_rej\r
641 </pre>\r
642 </span><p><strong>SYNOPSIS</strong></p>\r
643 <span class="SYNOPSIS"><pre>typedef struct _ual_cep_rej_ioctl\r
644 {\r
645         net32_t                                         cid;\r
646 \r
647         <a href="./ib_types_h.html#robo238">ib_rej_status_t</a>                         rej_status;\r
648         uint8_t                                         ari_len;\r
649         uint8_t                                         pdata_len;\r
650         uint8_t                                         ari[IB_ARI_SIZE];\r
651         uint8_t                                         pdata[IB_REJ_PDATA_SIZE];\r
652 \r
653 }       <strong>ual_cep_rej_ioctl_t</strong>;\r
654 </pre>\r
655 </span><p><strong>FIELDS</strong></p>\r
656 <span class="FIELDS"><pre>       in.cid\r
657                The CID of the target CEP.\r
658 \r
659        in.rej_status\r
660                Rejection status as defined in IB spec.\r
661 \r
662        in.ari_len\r
663                Length of the ARI data.\r
664 \r
665        in.pdata_len\r
666                Length of the private data.\r
667 \r
668        in.ari\r
669                ARI data.\r
670 \r
671        in.pdata\r
672                Private data.\r
673 </pre>\r
674 </span>\r
675 <hr />\r
676 \r
677 <h2><a name="robo1005">[Structures]<a name="User2dmode20Access20Layer2fual5fcep5frep5fioctl5ft">\r
678 User-mode Access Layer/ual_cep_rep_ioctl_t</a></h2>\r
679 \r
680 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
681 <p><strong>NAME</strong></p>\r
682 <span class="NAME"><pre>       <strong>ual_cep_rep_ioctl_t</strong>\r
683 </pre>\r
684 </span><p><strong>DESCRIPTION</strong></p>\r
685 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
686        al_cep_pre_rep call.\r
687 </pre>\r
688 </span><p><strong>SYNOPSIS</strong></p>\r
689 <span class="SYNOPSIS"><pre>typedef union _ual_cep_rep_ioctl\r
690 {\r
691         struct _ual_cep_rep_ioctl_in\r
692         {\r
693                 void* __ptr64                           context;\r
694                 net32_t                                         cid;\r
695                 <a href="./ib_al_h.html#robo95">ib_cm_rep_t</a>                                     cm_rep;\r
696                 uint8_t                                         pdata[IB_REP_PDATA_SIZE];\r
697 \r
698         }       in;\r
699         struct _ual_cep_rep_ioctl_out\r
700         {\r
701                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
702                 <a href="./ib_types_h.html#robo207">ib_qp_mod_t</a>                                     init;\r
703 \r
704         }       out;\r
705 \r
706 }       <strong>ual_cep_rep_ioctl_t</strong>;\r
707 </pre>\r
708 </span><p><strong>FIELDS</strong></p>\r
709 <span class="FIELDS"><pre>       in.h_cm_req\r
710                The cm_req connection handle got on the callback.\r
711 \r
712        in.cm_rep\r
713                CM REP parameters.\r
714 \r
715        out.status\r
716                Status of the operation.\r
717 \r
718        out.init\r
719                QP modify paramters for INIT state transition.\r
720 </pre>\r
721 </span>\r
722 <hr />\r
723 \r
724 <h2><a name="robo1006">[Structures]<a name="User2dmode20Access20Layer2fual5fcep5frtu5fioctl5ft">\r
725 User-mode Access Layer/ual_cep_rtu_ioctl_t</a></h2>\r
726 \r
727 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
728 <p><strong>NAME</strong></p>\r
729 <span class="NAME"><pre>       <strong>ual_cep_rtu_ioctl_t</strong>\r
730 </pre>\r
731 </span><p><strong>DESCRIPTION</strong></p>\r
732 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input parameters for\r
733        al_cep_rtu call.\r
734 </pre>\r
735 </span><p><strong>SYNOPSIS</strong></p>\r
736 <span class="SYNOPSIS"><pre>typedef struct _ual_cep_rtu_ioctl\r
737 {\r
738         net32_t                                         cid;\r
739         uint8_t                                         pdata_len;\r
740         uint8_t                                         pdata[IB_RTU_PDATA_SIZE];\r
741 \r
742 }       <strong>ual_cep_rtu_ioctl_t</strong>;\r
743 </pre>\r
744 </span><p><strong>FIELDS</strong></p>\r
745 <span class="FIELDS"><pre>       in.cid\r
746                The cm_rep connection handle got on the callback.\r
747 \r
748        in.pdata_len\r
749                Length of private data.\r
750 \r
751        in.pdata\r
752                Private data.\r
753 </pre>\r
754 </span>\r
755 <hr />\r
756 \r
757 <h2><a name="robo1007">[Structures]<a name="User2dmode20Access20Layer2fual5fci5fcall5fioctl5ft">\r
758 User-mode Access Layer/ual_ci_call_ioctl_t</a></h2>\r
759 \r
760 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
761 <p><strong>NAME</strong></p>\r
762 <span class="NAME"><pre>       <strong>ual_ci_call_ioctl_t</strong>\r
763 </pre>\r
764 </span><p><strong>DESCRIPTION</strong></p>\r
765 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
766        <a href="./ib_al_h.html#robo65">ib_ci_call</a>\r
767 </pre>\r
768 </span><p><strong>SYNOPSIS</strong></p>\r
769 <span class="SYNOPSIS"><pre>typedef union _ual_ci_call_ioctl\r
770 {\r
771         struct _ual_ci_call_ioctl_in\r
772         {\r
773                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
774                 <a href="./ib_types_h.html#robo66">ib_ci_op_t</a>                                      ci_op;\r
775                 uint64_t                                        h_ca;\r
776                 uint32_t                                        num_handles;\r
777                 uint64_t                                        handle_array[1];\r
778 \r
779         }       in;\r
780         struct _ual_ci_call_ioctl_out\r
781         {\r
782                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
783                 <a href="./ib_types_h.html#robo66">ib_ci_op_t</a>                                      ci_op;\r
784                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
785 \r
786         }       out;\r
787 \r
788 }       <strong>ual_ci_call_ioctl_t</strong>;\r
789 </pre>\r
790 </span><p><strong>FIELDS</strong></p>\r
791 <span class="FIELDS"><pre>       in.umv_buf\r
792                Opaque to IBAL buffer descriptor to allow the user-mode HCA library to\r
793                exchange private information with the kernel-mode HCA driver.\r
794 \r
795        in.ci_op\r
796                Contains information on the operation that needs to be performed\r
797                by the verbs provider.  The proxy marshals the data buffer between\r
798                user mode and kernel space.\r
799 \r
800        in.h_ca\r
801                The handle to an open instance of CA returned by a ual_open_ca_ioctl.\r
802 \r
803        in.num_handles\r
804                The number of handles in the array at in.p_handle_array.\r
805 \r
806        in.handle_array\r
807                First entry in an array of handles used for this operation.  Ignored if\r
808                in.num_handles is zero.\r
809 \r
810        out.umv_buf\r
811                Returns the status from the HCA driver to the user-mode HCA library,\r
812                along with any vendor specific output information.\r
813 \r
814        out.status\r
815                Status of the operation\r
816 \r
817        out.ci_op\r
818                Contains information on the operation that needs to be performed\r
819                by the verbs provider.  The proxy marshals the data buffer between\r
820                user mode and kernel space.\r
821 </pre>\r
822 </span>\r
823 <hr />\r
824 \r
825 <h2><a name="robo1008">[Structures]<a name="User2dmode20Access20Layer2fual5fclose5fca5fioctl5ft">\r
826 User-mode Access Layer/ual_close_ca_ioctl_t</a></h2>\r
827 \r
828 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
829 <p><strong>NAME</strong></p>\r
830 <span class="NAME"><pre>       <strong>ual_close_ca_ioctl_t</strong>\r
831 </pre>\r
832 </span><p><strong>DESCRIPTION</strong></p>\r
833 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
834        <a href="./ib_al_h.html#robo68">ib_close_ca</a>\r
835 </pre>\r
836 </span><p><strong>SYNOPSIS</strong></p>\r
837 <span class="SYNOPSIS"><pre>typedef union _ual_close_ca_ioctl\r
838 {\r
839         struct _ual_close_ca_ioctl_in\r
840         {\r
841                 uint64_t                                        h_ca;\r
842 \r
843         }       in;\r
844         struct _ual_close_ca_ioctl_out\r
845         {\r
846                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
847 \r
848         }       out;\r
849 \r
850 }       <strong>ual_close_ca_ioctl_t</strong>;\r
851 </pre>\r
852 </span><p><strong>FIELDS</strong></p>\r
853 <span class="FIELDS"><pre>       in.h_ca\r
854                The handle to an open instance of CA (in KAL space).\r
855 \r
856        out.status\r
857                Status of the operation\r
858 </pre>\r
859 </span>\r
860 <hr />\r
861 \r
862 <h2><a name="robo1009">[Structures]<a name="User2dmode20Access20Layer2fual5fcm5freq5fioctl5ft">\r
863 User-mode Access Layer/ual_cm_req_ioctl_t</a></h2>\r
864 \r
865 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
866 <p><strong>NAME</strong></p>\r
867 <span class="NAME"><pre>       <strong>ual_cm_req_ioctl_t</strong>\r
868 </pre>\r
869 </span><p><strong>DESCRIPTION</strong></p>\r
870 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
871        al_cep_pre_req call.\r
872 </pre>\r
873 </span><p><strong>SYNOPSIS</strong></p>\r
874 <span class="SYNOPSIS"><pre>typedef union _ual_cep_req_ioctl\r
875 {\r
876         struct _ual_cep_req_ioctl_in\r
877         {\r
878                 net32_t                                         cid;\r
879                 <a href="./ib_al_h.html#robo98">ib_cm_req_t</a>                                     cm_req;\r
880                 <a href="./ib_types_h.html#robo933">ib_path_rec_t</a>                           paths[2];\r
881                 uint8_t                                         pdata[IB_REQ_PDATA_SIZE];\r
882                 uint8_t                                         compare[IB_REQ_PDATA_SIZE];\r
883 \r
884         }       in;\r
885         struct _ual_cep_req_ioctl_out\r
886         {\r
887                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
888                 <a href="./ib_types_h.html#robo207">ib_qp_mod_t</a>                                     init;\r
889 \r
890         }       out;\r
891 \r
892 }       ual_cep_req_ioctl_t;\r
893 </pre>\r
894 </span><p><strong>FIELDS</strong></p>\r
895 <span class="FIELDS"><pre>       in.cid\r
896                CID of the target CEP.\r
897 \r
898        in.cm_req\r
899                CM REQ parameters.\r
900 \r
901        in.paths\r
902                Array of paths, the first being the primary path to use for the REQ.\r
903 \r
904        out.status\r
905                Status of the operation\r
906 \r
907        out.init\r
908                QP modify paramters for INIT state transition.\r
909 </pre>\r
910 </span>\r
911 <hr />\r
912 \r
913 <h2><a name="robo1010">[Structures]<a name="User2dmode20Access20Layer2fual5fcreate5fav5fioctl5ft">\r
914 User-mode Access Layer/ual_create_av_ioctl_t</a></h2>\r
915 \r
916 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
917 <p><strong>NAME</strong></p>\r
918 <span class="NAME"><pre>       <strong>ual_create_av_ioctl_t</strong>\r
919 </pre>\r
920 </span><p><strong>DESCRIPTION</strong></p>\r
921 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
922        <a href="./ib_al_h.html#robo104">ib_create_av</a>\r
923 </pre>\r
924 </span><p><strong>SYNOPSIS</strong></p>\r
925 <span class="SYNOPSIS"><pre>typedef union _ual_create_av_ioctl\r
926 {\r
927         struct _ual_create_av_ioctl_in\r
928         {\r
929                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
930                 uint64_t                                        h_pd;\r
931                 <a href="./ib_types_h.html#robo57">ib_av_attr_t</a>                            attr;\r
932 \r
933         }       in;\r
934         struct _ual_create_av_ioctl_out\r
935         {\r
936                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
937                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
938                 uint64_t                                        h_av;\r
939 \r
940         }       out;\r
941 \r
942 }       <strong>ual_create_av_ioctl_t</strong>;\r
943 </pre>\r
944 </span><p><strong>FIELDS</strong></p>\r
945 <span class="FIELDS"><pre>       in.umv_buf\r
946                Opaque to IBAL buffer descriptor to allow the user-mode HCA library to\r
947                exchange private information with the kernel-mode HCA driver.\r
948 \r
949        in.h_pd\r
950                The handle to an already allocated PD (in KAL space).\r
951 \r
952        in.attr\r
953                Attributes of the address vector that needs to be created.\r
954 \r
955        out.umv_buf\r
956                Returns the status from the HCA driver to the user-mode HCA library,\r
957                along with any vendor specific output information.\r
958 \r
959        out.status\r
960                Status of the operation.\r
961 \r
962        out.h_av\r
963                Handle to the newly created address vector.\r
964 </pre>\r
965 </span>\r
966 <hr />\r
967 \r
968 <h2><a name="robo1011">[Structures]<a name="User2dmode20Access20Layer2fual5fcreate5fcep5fioctl5ft">\r
969 User-mode Access Layer/ual_create_cep_ioctl_t</a></h2>\r
970 \r
971 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
972 <p><strong>NAME</strong></p>\r
973 <span class="NAME"><pre>       <strong>ual_create_cep_ioctl_t</strong>\r
974 </pre>\r
975 </span><p><strong>DESCRIPTION</strong></p>\r
976 <span class="DESCRIPTION"><pre>       IOCTL structure containing the output parameters to\r
977        create a CEP.\r
978 </pre>\r
979 </span><p><strong>SYNOPSIS</strong></p>\r
980 <span class="SYNOPSIS"><pre>typedef struct _ual_create_cep_ioctl\r
981 {\r
982         <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
983         net32_t                                         cid;\r
984 \r
985 }       <strong>ual_create_cep_ioctl_t</strong>;\r
986 </pre>\r
987 </span><p><strong>FIELDS</strong></p>\r
988 <span class="FIELDS"><pre>       status\r
989                Status of the operation.\r
990 \r
991        cid\r
992                CID of the created CEP.\r
993 </pre>\r
994 </span>\r
995 <hr />\r
996 \r
997 <h2><a name="robo1012">[Structures]<a name="User2dmode20Access20Layer2fual5fcreate5fcq5fioctl5ft">\r
998 User-mode Access Layer/ual_create_cq_ioctl_t</a></h2>\r
999 \r
1000 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1001 <p><strong>NAME</strong></p>\r
1002 <span class="NAME"><pre>       <strong>ual_create_cq_ioctl_t</strong>\r
1003 </pre>\r
1004 </span><p><strong>DESCRIPTION</strong></p>\r
1005 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1006        <a href="./ib_al_h.html#robo105">ib_create_cq</a>\r
1007 </pre>\r
1008 </span><p><strong>SYNOPSIS</strong></p>\r
1009 <span class="SYNOPSIS"><pre>typedef union _ual_create_cq_ioctl\r
1010 {\r
1011         struct _ual_create_cq_ioctl_in\r
1012         {\r
1013                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
1014                 uint64_t                                        h_ca;\r
1015                 void* __ptr64                           h_wait_obj;\r
1016                 void* __ptr64                           context;\r
1017                 uint32_t                                        size;\r
1018                 boolean_t                                       ev_notify;\r
1019 \r
1020         }       in;\r
1021         struct _ual_create_cq_ioctl_out\r
1022         {\r
1023                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
1024                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1025                 uint64_t                                        h_cq;\r
1026                 uint32_t                                        size;\r
1027 \r
1028         }       out;\r
1029 \r
1030 }       <strong>ual_create_cq_ioctl_t</strong>;\r
1031 </pre>\r
1032 </span><p><strong>FIELDS</strong></p>\r
1033 <span class="FIELDS"><pre>       in.umv_buf\r
1034                Opaque to IBAL buffer descriptor to allow the user-mode HCA library to\r
1035                exchange private information with the kernel-mode HCA driver.\r
1036 \r
1037        in.h_ca\r
1038                CA handle on which to create the CQ.\r
1039 \r
1040        in.cq_create\r
1041                Attributes necessary for creating the cq.\r
1042 \r
1043        in.cq_context\r
1044                UAL's cq context that needs to be returned on a callback.\r
1045 \r
1046        in.ev_notify\r
1047                Boolean indicating whether asynchronous events should be\r
1048                forwared to user-mode.\r
1049 \r
1050        out.umv_buf\r
1051                Returns the status from the HCA driver to the user-mode HCA library,\r
1052                along with any vendor specific output information.\r
1053 \r
1054        out.status\r
1055                Status of the operation.\r
1056 \r
1057        h_cq\r
1058                Handle to the newly created CQ.\r
1059 \r
1060        size\r
1061                Actual size of the newly created CQ.\r
1062 </pre>\r
1063 </span>\r
1064 <hr />\r
1065 \r
1066 <h2><a name="robo1013">[Structures]<a name="User2dmode20Access20Layer2fual5fcreate5fmw5fioctl5ft">\r
1067 User-mode Access Layer/ual_create_mw_ioctl_t</a></h2>\r
1068 \r
1069 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1070 <p><strong>NAME</strong></p>\r
1071 <span class="NAME"><pre>       <strong>ual_create_mw_ioctl_t</strong>\r
1072 </pre>\r
1073 </span><p><strong>DESCRIPTION</strong></p>\r
1074 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1075        <a href="./ib_al_h.html#robo108">ib_create_mw</a>\r
1076 </pre>\r
1077 </span><p><strong>SYNOPSIS</strong></p>\r
1078 <span class="SYNOPSIS"><pre>typedef union _ual_create_mw_ioctl\r
1079 {\r
1080         struct _ual_create_mw_ioctl_in\r
1081         {\r
1082                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
1083                 uint64_t                                        h_pd;\r
1084 \r
1085         }       in;\r
1086         struct _ual_create_mw_ioctl_out\r
1087         {\r
1088                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
1089                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1090                 net32_t                                         rkey;\r
1091                 uint64_t                                        h_mw;\r
1092 \r
1093         }       out;\r
1094 \r
1095 }       <strong>ual_create_mw_ioctl_t</strong>;\r
1096 </pre>\r
1097 </span><p><strong>FIELDS</strong></p>\r
1098 <span class="FIELDS"><pre>       in.umv_buf\r
1099                Opaque to IBAL buffer descriptor to allow the user-mode HCA library to\r
1100                exchange private information with the kernel-mode HCA driver.\r
1101 \r
1102        in.h_pd\r
1103                A handle to the protection domain on which the memory window should\r
1104                be created.\r
1105 \r
1106        out.umv_buf\r
1107                Returns the status from the HCA driver to the user-mode HCA library,\r
1108                along with any vendor specific output information.\r
1109 \r
1110        out.status\r
1111                Status of the operation.\r
1112 \r
1113        out.rkey\r
1114                RKey associated with the memory window.\r
1115 \r
1116        h_mw\r
1117                Handle to the newly created MW.\r
1118 </pre>\r
1119 </span>\r
1120 <hr />\r
1121 \r
1122 <h2><a name="robo1014">[Structures]<a name="User2dmode20Access20Layer2fual5fcreate5fqp5fioctl5ft">\r
1123 User-mode Access Layer/ual_create_qp_ioctl_t</a></h2>\r
1124 \r
1125 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1126 <p><strong>NAME</strong></p>\r
1127 <span class="NAME"><pre>       <strong>ual_create_qp_ioctl_t</strong>\r
1128 </pre>\r
1129 </span><p><strong>DESCRIPTION</strong></p>\r
1130 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1131        <a href="./ib_al_h.html#robo109">ib_create_qp</a>\r
1132 </pre>\r
1133 </span><p><strong>SYNOPSIS</strong></p>\r
1134 <span class="SYNOPSIS"><pre>typedef union _ual_create_qp_ioctl\r
1135 {\r
1136         struct _ual_create_qp_ioctl_in\r
1137         {\r
1138                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
1139                 uint64_t                                        h_pd;\r
1140                 <a href="./ib_types_h.html#robo206">ib_qp_create_t</a>                          qp_create;\r
1141                 void* __ptr64                           context;\r
1142                 boolean_t                                       ev_notify;\r
1143 \r
1144         }       in;\r
1145         struct _ual_create_qp_ioctl_out\r
1146         {\r
1147                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
1148                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1149                 <a href="./ib_types_h.html#robo205">ib_qp_attr_t</a>                            attr;\r
1150                 uint64_t                                        h_qp;\r
1151 \r
1152         }       out;\r
1153 \r
1154 }       <strong>ual_create_qp_ioctl_t</strong>;\r
1155 </pre>\r
1156 </span><p><strong>FIELDS</strong></p>\r
1157 <span class="FIELDS"><pre>       in.umv_buf\r
1158                Opaque to IBAL buffer descriptor to allow the user-mode HCA library to\r
1159                exchange private information with the kernel-mode HCA driver.\r
1160 \r
1161        in.h_pd\r
1162                Protection domain on which to create the QP.\r
1163 \r
1164        in.qp_create\r
1165                Attributes necessary for creating the QP.\r
1166 \r
1167        in.context\r
1168                UAL's qp context that needs to be returned on a callback.\r
1169 \r
1170        in.ev_notify\r
1171                Boolean indicating whether asynchronous events should be\r
1172                forwarded to user-mode.\r
1173 \r
1174        out.umv_buf\r
1175                Returns the status from the HCA driver to the user-mode HCA library,\r
1176                along with any vendor specific output information.\r
1177 \r
1178        out.status\r
1179                Status of the operation.\r
1180 \r
1181        out.attr\r
1182                Actual attributes of the newly created QP.\r
1183 \r
1184        out.h_qp\r
1185                Handle for the newly created QP.\r
1186 </pre>\r
1187 </span>\r
1188 <hr />\r
1189 \r
1190 <h2><a name="robo1015">[Structures]<a name="User2dmode20Access20Layer2fual5fdealloc5fpd5fioctl5ft">\r
1191 User-mode Access Layer/ual_dealloc_pd_ioctl_t</a></h2>\r
1192 \r
1193 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1194 <p><strong>NAME</strong></p>\r
1195 <span class="NAME"><pre>       <strong>ual_dealloc_pd_ioctl_t</strong>\r
1196 </pre>\r
1197 </span><p><strong>DESCRIPTION</strong></p>\r
1198 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1199        <a href="./ib_al_h.html#robo110">ib_dealloc_pd</a>\r
1200 </pre>\r
1201 </span><p><strong>SYNOPSIS</strong></p>\r
1202 <span class="SYNOPSIS"><pre>typedef union _ual_dealloc_pd_ioctl\r
1203 {\r
1204         struct _ual_dealloc_pd_ioctl_in\r
1205         {\r
1206                 uint64_t                                        h_pd;\r
1207 \r
1208         }       in;\r
1209         struct _ual_dealloc_pd_ioctl_out\r
1210         {\r
1211                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1212 \r
1213         }       out;\r
1214 \r
1215 }       <strong>ual_dealloc_pd_ioctl_t</strong>;\r
1216 </pre>\r
1217 </span><p><strong>FIELDS</strong></p>\r
1218 <span class="FIELDS"><pre>       in.h_pd\r
1219                The handle of the PD that is going to be deallocated.\r
1220 \r
1221        out.status\r
1222                Status of the operation\r
1223 </pre>\r
1224 </span>\r
1225 <hr />\r
1226 \r
1227 <h2><a name="robo1016">[Structures]<a name="User2dmode20Access20Layer2fual5fdereg5fmad5fpool5fioctl5ft">\r
1228 User-mode Access Layer/ual_dereg_mad_pool_ioctl_t</a></h2>\r
1229 \r
1230 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1231 <p><strong>NAME</strong></p>\r
1232 <span class="NAME"><pre>       <strong>ual_dereg_mad_pool_ioctl_t</strong>\r
1233 </pre>\r
1234 </span><p><strong>DESCRIPTION</strong></p>\r
1235 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1236        deregistering a mad pool to be used with special qp.\r
1237        The kernel proxy will deregister and destroy the mad pool\r
1238        created on behalf of the user process.\r
1239 </pre>\r
1240 </span><p><strong>SYNOPSIS</strong></p>\r
1241 <span class="SYNOPSIS"><pre>typedef union _ual_dereg_mad_pool_ioctl\r
1242 {\r
1243         struct _ual_dereg_mad_pool_ioctl_in\r
1244         {\r
1245                 uint64_t                                        pool_key;\r
1246 \r
1247         }       in;\r
1248         struct _ual_dereg_mad_pool_ioctl_out\r
1249         {\r
1250                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1251 \r
1252         }       out;\r
1253 \r
1254 }       <strong>ual_dereg_mad_pool_ioctl_t</strong>;\r
1255 </pre>\r
1256 </span><p><strong>FIELDS</strong></p>\r
1257 <span class="FIELDS"><pre>       in.pool_key\r
1258                <a href="../complib/cl_pool_h.html#robo24">Pool</a> key to the mad pool in kernel space.\r
1259 \r
1260        out.status\r
1261                Status of the operation\r
1262 </pre>\r
1263 </span>\r
1264 <hr />\r
1265 \r
1266 <h2><a name="robo1017">[Structures]<a name="User2dmode20Access20Layer2fual5fdereg5fmad5fsvc5fioctl5ft">\r
1267 User-mode Access Layer/ual_dereg_mad_svc_ioctl_t</a></h2>\r
1268 \r
1269 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1270 <p><strong>NAME</strong></p>\r
1271 <span class="NAME"><pre>       <strong>ual_dereg_mad_svc_ioctl_t</strong>\r
1272 </pre>\r
1273 </span><p><strong>DESCRIPTION</strong></p>\r
1274 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1275        ib_dereg_mad_svc\r
1276 </pre>\r
1277 </span><p><strong>SYNOPSIS</strong></p>\r
1278 <span class="SYNOPSIS"><pre>typedef union _ual_dereg_mad_svc_ioctl\r
1279 {\r
1280         struct _ual_dereg_mad_svc_ioctl_in\r
1281         {\r
1282                 uint64_t                                        h_mad_svc;\r
1283 \r
1284         }       in;\r
1285         struct _ual_dereg_mad_svc_ioctl_out\r
1286         {\r
1287                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1288 \r
1289         }       out;\r
1290 \r
1291 }       <strong>ual_dereg_mad_svc_ioctl_t</strong>;\r
1292 </pre>\r
1293 </span><p><strong>FIELDS</strong></p>\r
1294 <span class="FIELDS"><pre>       in.h_mad_svc\r
1295                Handle to the mad service.\r
1296 \r
1297        out.status\r
1298                Status of the operation.\r
1299 </pre>\r
1300 </span>\r
1301 <hr />\r
1302 \r
1303 <h2><a name="robo1018">[Structures]<a name="User2dmode20Access20Layer2fual5fdereg5fmr5fioctl5ft">\r
1304 User-mode Access Layer/ual_dereg_mr_ioctl_t</a></h2>\r
1305 \r
1306 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1307 <p><strong>NAME</strong></p>\r
1308 <span class="NAME"><pre>       <strong>ual_dereg_mr_ioctl_t</strong>\r
1309 </pre>\r
1310 </span><p><strong>DESCRIPTION</strong></p>\r
1311 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1312        <a href="./ib_al_h.html#robo112">ib_dereg_mr</a>\r
1313 </pre>\r
1314 </span><p><strong>SYNOPSIS</strong></p>\r
1315 <span class="SYNOPSIS"><pre>typedef union _ual_dereg_mr_ioctl\r
1316 {\r
1317         struct _ual_dereg_mr_ioctl_in\r
1318         {\r
1319                 uint64_t                                        h_mr;\r
1320 \r
1321         }       in;\r
1322         struct _ual_dereg_mr_ioctl_out\r
1323         {\r
1324                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1325         \r
1326         }       out;\r
1327 \r
1328 } <strong>ual_dereg_mr_ioctl_t</strong>;\r
1329 </pre>\r
1330 </span><p><strong>FIELDS</strong></p>\r
1331 <span class="FIELDS"><pre>       in.h_mr\r
1332                A handle to a registered memory region.\r
1333 \r
1334        out.status\r
1335                Status of the operation.\r
1336 </pre>\r
1337 </span>\r
1338 <hr />\r
1339 \r
1340 <h2><a name="robo1019">[Structures]<a name="User2dmode20Access20Layer2fual5fdereg5fpnp5fioctl5ft">\r
1341 User-mode Access Layer/ual_dereg_pnp_ioctl_t</a></h2>\r
1342 \r
1343 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1344 <p><strong>NAME</strong></p>\r
1345 <span class="NAME"><pre>       <strong>ual_dereg_pnp_ioctl_t</strong>\r
1346 </pre>\r
1347 </span><p><strong>DESCRIPTION</strong></p>\r
1348 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input parameters for cancelling an\r
1349        SA request.\r
1350 </pre>\r
1351 </span><p><strong>SYNOPSIS</strong></p>\r
1352 <span class="SYNOPSIS"><pre>typedef struct _ual_dereg_pnp_ioctl\r
1353 {\r
1354         uint64_t                        h_pnp;\r
1355 \r
1356 }       <strong>ual_dereg_pnp_ioctl_t</strong>;\r
1357 </pre>\r
1358 </span><p><strong>NOTES</strong></p>\r
1359 <span class="NOTES"><pre>       This is an asynchronous IOCTL.\r
1360 </pre>\r
1361 </span><p><strong>PARAMETERS</strong></p>\r
1362 <span class="PARAMETERS"><pre>       h_pnp\r
1363                Handle to the PnP registration to deregister.\r
1364 </pre>\r
1365 </span>\r
1366 <hr />\r
1367 \r
1368 <h2><a name="robo1020">[Structures]<a name="User2dmode20Access20Layer2fual5fdestroy5fav5fioctl5ft">\r
1369 User-mode Access Layer/ual_destroy_av_ioctl_t</a></h2>\r
1370 \r
1371 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1372 <p><strong>NAME</strong></p>\r
1373 <span class="NAME"><pre>       <strong>ual_destroy_av_ioctl_t</strong>\r
1374 </pre>\r
1375 </span><p><strong>DESCRIPTION</strong></p>\r
1376 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1377        <a href="./ib_al_h.html#robo115">ib_destroy_av</a>\r
1378 </pre>\r
1379 </span><p><strong>SYNOPSIS</strong></p>\r
1380 <span class="SYNOPSIS"><pre>typedef union _ual_destroy_av_ioctl\r
1381 {\r
1382         struct _ual_destroy_av_ioctl_in\r
1383         {\r
1384                 uint64_t                                        h_av;\r
1385 \r
1386         }       in;\r
1387         struct _ual_destroy_av_ioctl_out\r
1388         {\r
1389                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1390 \r
1391         }       out;\r
1392 \r
1393 }       <strong>ual_destroy_av_ioctl_t</strong>;\r
1394 </pre>\r
1395 </span><p><strong>FIELDS</strong></p>\r
1396 <span class="FIELDS"><pre>       in.h_av\r
1397                A handle to an existing address vector.\r
1398 \r
1399        out.status\r
1400                Status of the operation.\r
1401 </pre>\r
1402 </span>\r
1403 <hr />\r
1404 \r
1405 <h2><a name="robo1021">[Structures]<a name="User2dmode20Access20Layer2fual5fdestroy5fcq5fioctl5ft">\r
1406 User-mode Access Layer/ual_destroy_cq_ioctl_t</a></h2>\r
1407 \r
1408 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1409 <p><strong>NAME</strong></p>\r
1410 <span class="NAME"><pre>       <strong>ual_destroy_cq_ioctl_t</strong>\r
1411 </pre>\r
1412 </span><p><strong>DESCRIPTION</strong></p>\r
1413 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1414        <a href="./ib_al_h.html#robo116">ib_destroy_cq</a>\r
1415 </pre>\r
1416 </span><p><strong>SYNOPSIS</strong></p>\r
1417 <span class="SYNOPSIS"><pre>typedef union _ual_destroy_cq_ioctl\r
1418 {\r
1419         struct _ual_destroy_cq_ioctl_in\r
1420         {\r
1421                 uint64_t                                        h_cq;\r
1422 \r
1423         }       in;\r
1424         struct _ual_destroy_cq_ioctl_out\r
1425         {\r
1426                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1427 \r
1428         }       out;\r
1429 \r
1430 }       <strong>ual_destroy_cq_ioctl_t</strong>;\r
1431 </pre>\r
1432 </span><p><strong>FIELDS</strong></p>\r
1433 <span class="FIELDS"><pre>       in.h_cq\r
1434                Handle of the cq that needs to be destroyed.\r
1435 \r
1436        out.status\r
1437                Status of the operation.\r
1438 </pre>\r
1439 </span>\r
1440 <hr />\r
1441 \r
1442 <h2><a name="robo1022">[Structures]<a name="User2dmode20Access20Layer2fual5fdestroy5fmw5fioctl5ft">\r
1443 User-mode Access Layer/ual_destroy_mw_ioctl_t</a></h2>\r
1444 \r
1445 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1446 <p><strong>NAME</strong></p>\r
1447 <span class="NAME"><pre>       <strong>ual_destroy_mw_ioctl_t</strong>\r
1448 </pre>\r
1449 </span><p><strong>DESCRIPTION</strong></p>\r
1450 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1451        <a href="./ib_al_h.html#robo119">ib_destroy_mw</a>\r
1452 </pre>\r
1453 </span><p><strong>SYNOPSIS</strong></p>\r
1454 <span class="SYNOPSIS"><pre>typedef union _ual_destroy_mw_ioctl\r
1455 {\r
1456         struct _ual_destroy_mw_ioctl_in\r
1457         {\r
1458                 uint64_t                                        h_mw;\r
1459 \r
1460         }       in;\r
1461         struct _ual_destroy_mw_ioctl_out\r
1462         {\r
1463                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1464 \r
1465         }       out;\r
1466 \r
1467 }       <strong>ual_destroy_mw_ioctl_t</strong>;\r
1468 </pre>\r
1469 </span><p><strong>FIELDS</strong></p>\r
1470 <span class="FIELDS"><pre>       in.h_mw\r
1471                A handle to an existing memory window.\r
1472 \r
1473        out.status\r
1474                Status of the operation\r
1475 </pre>\r
1476 </span>\r
1477 <hr />\r
1478 \r
1479 <h2><a name="robo1023">[Structures]<a name="User2dmode20Access20Layer2fual5fdestroy5fqp5fioctl5ft">\r
1480 User-mode Access Layer/ual_destroy_qp_ioctl_t</a></h2>\r
1481 \r
1482 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1483 <p><strong>NAME</strong></p>\r
1484 <span class="NAME"><pre>       <strong>ual_destroy_qp_ioctl_t</strong>\r
1485 </pre>\r
1486 </span><p><strong>DESCRIPTION</strong></p>\r
1487 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1488        <a href="./ib_al_h.html#robo120">ib_destroy_qp</a>\r
1489 </pre>\r
1490 </span><p><strong>SYNOPSIS</strong></p>\r
1491 <span class="SYNOPSIS"><pre>typedef union _ual_destroy_qp_ioctl\r
1492 {\r
1493         struct _ual_destroy_qp_ioctl_in\r
1494         {\r
1495                 uint64_t                                        h_qp;\r
1496 \r
1497         }       in;\r
1498         struct _ual_destroy_qp_ioctl_out\r
1499         {\r
1500                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1501 \r
1502         }       out;\r
1503 \r
1504 }       <strong>ual_destroy_qp_ioctl_t</strong>;\r
1505 </pre>\r
1506 </span><p><strong>FIELDS</strong></p>\r
1507 <span class="FIELDS"><pre>       in.h_qp\r
1508                Handle of the QP that needs to be destroyed.\r
1509 \r
1510        out.status\r
1511                Status of the operation.\r
1512 </pre>\r
1513 </span>\r
1514 <hr />\r
1515 \r
1516 <h2><a name="robo1024">[Structures]<a name="User2dmode20Access20Layer2fual5fdetach5fmcast5fioctl5ft">\r
1517 User-mode Access Layer/ual_detach_mcast_ioctl_t</a></h2>\r
1518 \r
1519 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1520 <p><strong>NAME</strong></p>\r
1521 <span class="NAME"><pre>       <strong>ual_detach_mcast_ioctl_t</strong>\r
1522 </pre>\r
1523 </span><p><strong>DESCRIPTION</strong></p>\r
1524 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1525        verbs detach call.\r
1526 </pre>\r
1527 </span><p><strong>SYNOPSIS</strong></p>\r
1528 <span class="SYNOPSIS"><pre>typedef union _ual_detach_mcast_ioctl\r
1529 {\r
1530         struct _ual_detach_mcast_ioctl_in\r
1531         {\r
1532                 uint64_t                                        h_attach;\r
1533 \r
1534         }       in;\r
1535         struct _ual_detach_mcast_ioctl_out\r
1536         {\r
1537                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1538 \r
1539         }       out;\r
1540 \r
1541 }       <strong>ual_detach_mcast_ioctl_t</strong>;\r
1542 </pre>\r
1543 </span><p><strong>FIELDS</strong></p>\r
1544 <span class="FIELDS"><pre>       in.h_attach\r
1545                A handle to the multicast group.\r
1546 \r
1547        out.status\r
1548                Status of the operation.\r
1549 </pre>\r
1550 </span>\r
1551 <hr />\r
1552 \r
1553 <h2><a name="robo1025">[Structures]<a name="User2dmode20Access20Layer2fual5fforce5fapm5fioctl5ft">\r
1554 User-mode Access Layer/ual_force_apm_ioctl_t</a></h2>\r
1555 \r
1556 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1557 <p><strong>NAME</strong></p>\r
1558 <span class="NAME"><pre>       <strong>ual_force_apm_ioctl_t</strong>\r
1559 </pre>\r
1560 </span><p><strong>DESCRIPTION</strong></p>\r
1561 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1562        <a href="./ib_al_h.html#robo125">ib_force_apm</a>\r
1563 </pre>\r
1564 </span><p><strong>SYNOPSIS</strong></p>\r
1565 <span class="SYNOPSIS"><pre>typedef union _ual_force_apm_ioctl\r
1566 {\r
1567         union _ual_force_apm_ioctl_in\r
1568         {\r
1569                 uint64_t                                        h_qp;\r
1570 \r
1571         }       in;\r
1572         struct _ual_force_apm_ioctl_out\r
1573         {\r
1574                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1575 \r
1576         }       out;\r
1577 \r
1578 }       <strong>ual_force_apm_ioctl_t</strong>;\r
1579 </pre>\r
1580 </span><p><strong>FIELDS</strong></p>\r
1581 <span class="FIELDS"><pre>       in.h_qp\r
1582                A handle to the QP to migrate.\r
1583 \r
1584        out.status\r
1585                Status of the operation\r
1586 </pre>\r
1587 </span>\r
1588 <hr />\r
1589 \r
1590 <h2><a name="robo1026">[Structures]<a name="User2dmode20Access20Layer2fual5fget5fuvp5fname5ft">\r
1591 User-mode Access Layer/ual_get_uvp_name_t</a></h2>\r
1592 \r
1593 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1594 <p><strong>NAME</strong></p>\r
1595 <span class="NAME"><pre>       <strong>ual_get_uvp_name_t</strong>\r
1596 </pre>\r
1597 </span><p><strong>DESCRIPTION</strong></p>\r
1598 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1599        getting the user library information.\r
1600 </pre>\r
1601 </span><p><strong>SYNOPSIS</strong></p>\r
1602 <span class="SYNOPSIS"><pre>typedef union _ual_get_uvp_name\r
1603 {\r
1604         struct _ual_get_uvp_name_in\r
1605         {\r
1606                 <a href="./ib_types_h.html#robo901">ib_net64_t</a>                              ca_guid;\r
1607 \r
1608         }       in;\r
1609         struct _ual_get_uvp_name_out\r
1610         {\r
1611                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                 status;\r
1612                 char                                    uvp_lib_name[MAX_LIB_NAME];\r
1613 \r
1614         }       out;\r
1615 \r
1616 }       ual_get_uvp_name_ioctl_t;\r
1617 </pre>\r
1618 </span><p><strong>FIELDS</strong></p>\r
1619 <span class="FIELDS"><pre>       in.ca_guid\r
1620                The GUID of the channel adapter\r
1621 \r
1622        out.status\r
1623                Status of the operation\r
1624 \r
1625        out.uvp_lib_name\r
1626                The vendor's library name associated with the CA\r
1627 </pre>\r
1628 </span><p><strong>SEE ALSO</strong></p>\r
1629 <span class="SEE_ALSO"><pre>\r
1630 </pre>\r
1631 </span><p><strong>NOTES</strong></p>\r
1632 <span class="NOTES"></span>\r
1633 <hr />\r
1634 \r
1635 <h2><a name="robo1027">[Structures]<a name="User2dmode20Access20Layer2fual5flocal5fmad5fioctl5ft">\r
1636 User-mode Access Layer/ual_local_mad_ioctl_t</a></h2>\r
1637 \r
1638 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1639 <p><strong>NAME</strong></p>\r
1640 <span class="NAME"><pre>       <strong>ual_local_mad_ioctl_t</strong>\r
1641 </pre>\r
1642 </span><p><strong>DESCRIPTION</strong></p>\r
1643 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1644        <a href="./ib_al_h.html#robo149">ib_local_mad</a>\r
1645 </pre>\r
1646 </span><p><strong>SYNOPSIS</strong></p>\r
1647 <span class="SYNOPSIS"><pre>typedef union _ual_local_mad_ioctl\r
1648 {\r
1649         struct _ual_local_mad_ioctl_in\r
1650         {\r
1651                 uint64_t                                        h_ca;\r
1652                 uint8_t                                         port_num;\r
1653                 uint8_t                                         mad_in[<a href="./ib_types_h.html#robo837">MAD_BLOCK_SIZE</a>];\r
1654 \r
1655         }       in;\r
1656         struct _ual_local_mad_ioctl_out\r
1657         {\r
1658                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1659                 uint8_t                                         mad_out[<a href="./ib_types_h.html#robo837">MAD_BLOCK_SIZE</a>];\r
1660 \r
1661         }       out;\r
1662 \r
1663 }       <strong>ual_local_mad_ioctl_t</strong>;\r
1664 /*\r
1665 ** FIELDS\r
1666 *       in.h_ca\r
1667 *               The handle to an open instance of CA returned via a\r
1668 *               ual_open_ca_ioctl structure.\r
1669 *       in.port_num\r
1670 *               Port number this MAD refere to.\r
1671 *       in.mad_in\r
1672 *               Mad structure from user mode to forward to local HCA.\r
1673 *\r
1674 **      out.status\r
1675 *               Status of the operation.\r
1676 *       out.mad_out\r
1677 *               Mad structure answer from local HCA for user mode.\r
1678 </pre>\r
1679 </span>\r
1680 <hr />\r
1681 \r
1682 <h2><a name="robo1028">[Structures]<a name="User2dmode20Access20Layer2fual5fmad5frecv5fioctl5ft">\r
1683 User-mode Access Layer/ual_mad_recv_ioctl_t</a></h2>\r
1684 \r
1685 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1686 <p><strong>NAME</strong></p>\r
1687 <span class="NAME"><pre>       <strong>ual_mad_recv_ioctl_t</strong>\r
1688 </pre>\r
1689 </span><p><strong>DESCRIPTION</strong></p>\r
1690 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters to get\r
1691        the mad_element information upon receiving MAD.\r
1692 </pre>\r
1693 </span><p><strong>SYNOPSIS</strong></p>\r
1694 <span class="SYNOPSIS"><pre>typedef union _ual_mad_recv_ioctl\r
1695 {\r
1696         struct _ual_mad_recv_comp_ioctl_in\r
1697         {\r
1698                 uint64_t                                        h_mad;\r
1699                 <a href="./ib_al_h.html#robo150">ib_mad_element_t</a>* __ptr64       p_user_mad;\r
1700                 <a href="./ib_types_h.html#robo888">ib_mad_t</a>* __ptr64                       p_mad_buf;\r
1701                 <a href="./ib_types_h.html#robo865">ib_grh_t</a>* __ptr64                       p_grh;\r
1702 \r
1703         }       in;\r
1704         struct _ual_mad_recv_comp_ioctl_out\r
1705         {\r
1706                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1707 \r
1708         }       out;\r
1709 \r
1710 } <strong>ual_mad_recv_ioctl_t</strong>;\r
1711 </pre>\r
1712 </span><p><strong>FIELDS</strong></p>\r
1713 <span class="FIELDS"><pre>       in.h_mad\r
1714                Received MAD handle handed to usermode in the MAD recv notification.\r
1715 \r
1716        in.p_user_mad\r
1717                Pointer to a user-mode mad element.\r
1718 \r
1719        in.p_mad_buf\r
1720                Pointer to the MAD element's user-mode buffer.\r
1721 \r
1722        in.p_grh\r
1723                Ponter to the MAD element's user-mode GRH buffer.\r
1724 \r
1725        out.status\r
1726                Status of the operation.\r
1727 </pre>\r
1728 </span>\r
1729 <hr />\r
1730 \r
1731 <h2><a name="robo1029">[Structures]<a name="User2dmode20Access20Layer2fual5fmodify5fav5fioctl5ft">\r
1732 User-mode Access Layer/ual_modify_av_ioctl_t</a></h2>\r
1733 \r
1734 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1735 <p><strong>NAME</strong></p>\r
1736 <span class="NAME"><pre>       <strong>ual_modify_av_ioctl_t</strong>\r
1737 </pre>\r
1738 </span><p><strong>DESCRIPTION</strong></p>\r
1739 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1740        <a href="./ib_al_h.html#robo155">ib_modify_av</a>\r
1741 </pre>\r
1742 </span><p><strong>SYNOPSIS</strong></p>\r
1743 <span class="SYNOPSIS"><pre>typedef union _ual_modify_av_ioctl\r
1744 {\r
1745         struct _ual_modify_av_ioctl_in\r
1746         {\r
1747                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
1748                 uint64_t                                        h_av;\r
1749                 <a href="./ib_types_h.html#robo57">ib_av_attr_t</a>                            attr;\r
1750 \r
1751         }       in;\r
1752         struct _ual_modify_av_ioctl_out\r
1753         {\r
1754                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
1755                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1756 \r
1757         }       out;\r
1758 \r
1759 }       <strong>ual_modify_av_ioctl_t</strong>;\r
1760 </pre>\r
1761 </span><p><strong>FIELDS</strong></p>\r
1762 <span class="FIELDS"><pre>       in.umv_buf\r
1763                Opaque to IBAL buffer descriptor to allow the user-mode HCA library to\r
1764                exchange private information with the kernel-mode HCA driver.\r
1765 \r
1766        in.h_av\r
1767                A handle to an existing address vector.\r
1768 \r
1769        in.attr\r
1770                The requested attributes to be used for modifying the address vector.\r
1771 \r
1772        out.umv_buf\r
1773                Returns the status from the HCA driver to the user-mode HCA library,\r
1774                along with any vendor specific output information.\r
1775 \r
1776        out.status\r
1777                Status of the operation\r
1778 </pre>\r
1779 </span>\r
1780 <hr />\r
1781 \r
1782 <h2><a name="robo1030">[Structures]<a name="User2dmode20Access20Layer2fual5fmodify5fca5fioctl5ft">\r
1783 User-mode Access Layer/ual_modify_ca_ioctl_t</a></h2>\r
1784 \r
1785 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1786 <p><strong>NAME</strong></p>\r
1787 <span class="NAME"><pre>       <strong>ual_modify_ca_ioctl_t</strong>\r
1788 </pre>\r
1789 </span><p><strong>DESCRIPTION</strong></p>\r
1790 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1791        <a href="./ib_al_h.html#robo156">ib_modify_ca</a>\r
1792 </pre>\r
1793 </span><p><strong>SYNOPSIS</strong></p>\r
1794 <span class="SYNOPSIS"><pre>typedef union _ual_modify_ca_ioctl\r
1795 {\r
1796         struct _ual_modify_ca_ioctl_in\r
1797         {\r
1798                 uint64_t                                        h_ca;\r
1799                 uint8_t                                         port_num;\r
1800                 <a href="./ib_types_h.html#robo61">ib_ca_mod_t</a>                                     ca_mod;\r
1801                 <a href="./ib_types_h.html#robo199">ib_port_attr_mod_t</a>                      port_attr_mod;\r
1802 \r
1803         }       in;\r
1804         struct _ual_modify_ca_ioclt_out\r
1805         {\r
1806                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1807 \r
1808         }       out;\r
1809 \r
1810 \r
1811 }       <strong>ual_modify_ca_ioctl_t</strong>;\r
1812 </pre>\r
1813 </span><p><strong>FIELDS</strong></p>\r
1814 <span class="FIELDS"><pre>       in.h_ca\r
1815                The handle to an open instance of CA (in KAL space).\r
1816 \r
1817        in.port_num\r
1818                An index of the port that is being modified.\r
1819 \r
1820        in.ca_mod\r
1821                The mask of the attributes and counters to modify.\r
1822 \r
1823        in.port_attr_mod\r
1824                <a href="../complib/cl_list_h.html#robo15">List</a> of port attribute information to modify.\r
1825 \r
1826        out.status\r
1827                Status of the operation\r
1828 </pre>\r
1829 </span>\r
1830 <hr />\r
1831 \r
1832 <h2><a name="robo1031">[Structures]<a name="User2dmode20Access20Layer2fual5fmodify5fcq5fioctl5ft">\r
1833 User-mode Access Layer/ual_modify_cq_ioctl_t</a></h2>\r
1834 \r
1835 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1836 <p><strong>NAME</strong></p>\r
1837 <span class="NAME"><pre>       <strong>ual_modify_cq_ioctl_t</strong>\r
1838 </pre>\r
1839 </span><p><strong>DESCRIPTION</strong></p>\r
1840 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1841        <a href="./ib_al_h.html#robo157">ib_modify_cq</a>\r
1842 </pre>\r
1843 </span><p><strong>SYNOPSIS</strong></p>\r
1844 <span class="SYNOPSIS"><pre>typedef union _ual_modify_cq_ioctl\r
1845 {\r
1846         struct _ual_modify_cq_ioctl_in\r
1847         {\r
1848                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
1849                 uint64_t                                        h_cq;\r
1850                 uint32_t                                        size;\r
1851 \r
1852         }       in;\r
1853         struct _ual_modify_cq_ioctl_out\r
1854         {\r
1855                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
1856                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1857                 uint32_t                                        size;\r
1858 \r
1859         }       out;\r
1860 \r
1861 }       <strong>ual_modify_cq_ioctl_t</strong>;\r
1862 </pre>\r
1863 </span><p><strong>FIELDS</strong></p>\r
1864 <span class="FIELDS"><pre>       in.umv_buf\r
1865                Opaque to IBAL buffer descriptor to allow the user-mode HCA library to\r
1866                exchange private information with the kernel-mode HCA driver.\r
1867 \r
1868        in.h_cq\r
1869                A handle to the CQ to modify.\r
1870 \r
1871        in.size\r
1872                The requested new size of the CQ.\r
1873 \r
1874        out.umv_buf\r
1875                Returns the status from the HCA driver to the user-mode HCA library,\r
1876                along with any vendor specific output information.\r
1877 \r
1878        out.status\r
1879                Status of the operation.\r
1880 \r
1881        out.size\r
1882                The actual size of the CQ.\r
1883 </pre>\r
1884 </span>\r
1885 <hr />\r
1886 \r
1887 <h2><a name="robo1032">[Structures]<a name="User2dmode20Access20Layer2fual5fmodify5fqp5fioctl5ft">\r
1888 User-mode Access Layer/ual_modify_qp_ioctl_t</a></h2>\r
1889 \r
1890 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1891 <p><strong>NAME</strong></p>\r
1892 <span class="NAME"><pre>       <strong>ual_modify_qp_ioctl_t</strong>\r
1893 </pre>\r
1894 </span><p><strong>DESCRIPTION</strong></p>\r
1895 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1896        <a href="./ib_al_h.html#robo158">ib_modify_qp</a>\r
1897 </pre>\r
1898 </span><p><strong>SYNOPSIS</strong></p>\r
1899 <span class="SYNOPSIS"><pre>typedef union _ual_modify_qp_ioctl\r
1900 {\r
1901         struct _ual_modify_qp_ioctl_in\r
1902         {\r
1903                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
1904                 uint64_t                                        h_qp;\r
1905                 <a href="./ib_types_h.html#robo207">ib_qp_mod_t</a>                                     modify_attr;\r
1906 \r
1907         }       in;\r
1908         struct _ual_modify_qp_ioctl_out\r
1909         {\r
1910                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
1911                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1912                 //ib_qp_query_t                         query_attr; // Not returned by AL\r
1913 \r
1914         }       out;\r
1915 \r
1916 }       <strong>ual_modify_qp_ioctl_t</strong>;\r
1917 </pre>\r
1918 </span><p><strong>FIELDS</strong></p>\r
1919 <span class="FIELDS"><pre>       in.umv_buf\r
1920                Opaque to IBAL buffer descriptor to allow the user-mode HCA library to\r
1921                exchange private information with the kernel-mode HCA driver.\r
1922 \r
1923        in.h_qp\r
1924                A handle to an existing Queue Pair.\r
1925 \r
1926        in.modify_attr\r
1927                Attributes used for modifying the QP.\r
1928 \r
1929        out.umv_buf\r
1930                Returns the status from the HCA driver to the user-mode HCA library,\r
1931                along with any vendor specific output information.\r
1932 \r
1933        out.status\r
1934                Status of the operation.\r
1935 \r
1936        out.query_attr\r
1937                On return from the ioctl, contains the actual attributes of\r
1938                the QP just modified.\r
1939 </pre>\r
1940 </span>\r
1941 <hr />\r
1942 \r
1943 <h2><a name="robo1033">[Structures]<a name="User2dmode20Access20Layer2fual5fopen5fca5fioctl5ft">\r
1944 User-mode Access Layer/ual_open_ca_ioctl_t</a></h2>\r
1945 \r
1946 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
1947 <p><strong>NAME</strong></p>\r
1948 <span class="NAME"><pre>       <strong>ual_open_ca_ioctl_t</strong>\r
1949 </pre>\r
1950 </span><p><strong>DESCRIPTION</strong></p>\r
1951 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
1952        <a href="./ib_al_h.html#robo164">ib_open_ca</a>\r
1953 </pre>\r
1954 </span><p><strong>SYNOPSIS</strong></p>\r
1955 <span class="SYNOPSIS"><pre>typedef union _ual_open_ca_ioctl\r
1956 {\r
1957         struct _ual_open_ca_ioctl_in\r
1958         {\r
1959                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
1960                 <a href="./ib_types_h.html#robo901">ib_net64_t</a>                                      guid;\r
1961                 void* __ptr64                           context;\r
1962 \r
1963         }       in;\r
1964 \r
1965         struct _ual_open_ca_ioctl_out\r
1966         {\r
1967                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
1968                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
1969                 uint64_t                                        h_ca;\r
1970 \r
1971         }       out;\r
1972 \r
1973 }       <strong>ual_open_ca_ioctl_t</strong>;\r
1974 </pre>\r
1975 </span><p><strong>FIELDS</strong></p>\r
1976 <span class="FIELDS"><pre>       in.umv_buf\r
1977                Opaque to IBAL buffer descriptor to allow the user-mode HCA library to\r
1978                exchange private information with the kernel-mode HCA driver.\r
1979 \r
1980        in.guid\r
1981                The GUID of the channel adapter to open.\r
1982 \r
1983        in.context\r
1984                A caller-specified context to associate with this opened instance\r
1985                of the channel adapter.  This context is returned to the user when\r
1986                invoking asynchronous callbacks referencing this channel adapter.\r
1987 \r
1988        out.umv_buf\r
1989                Returns the status from the HCA driver to the user-mode HCA library,\r
1990                along with any vendor specific output information.\r
1991 \r
1992        out.status\r
1993                Status of the operation\r
1994 \r
1995        out.h_ca\r
1996                On return from IOCTL, contains the CA Handle from AL.\r
1997 </pre>\r
1998 </span>\r
1999 <hr />\r
2000 \r
2001 <h2><a name="robo1034">[Structures]<a name="User2dmode20Access20Layer2fual5fpeek5fcq5fioctl5ft">\r
2002 User-mode Access Layer/ual_peek_cq_ioctl_t</a></h2>\r
2003 \r
2004 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2005 <p><strong>NAME</strong></p>\r
2006 <span class="NAME"><pre>       <strong>ual_peek_cq_ioctl_t</strong>\r
2007 </pre>\r
2008 </span><p><strong>DESCRIPTION</strong></p>\r
2009 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
2010        <a href="./ib_al_h.html#robo166">ib_peek_cq</a>\r
2011 </pre>\r
2012 </span><p><strong>SYNOPSIS</strong></p>\r
2013 <span class="SYNOPSIS"><pre>typedef union _ual_peek_cq_ioctl\r
2014 {\r
2015         struct _ual_peek_cq_ioctl_in\r
2016         {\r
2017                 uint64_t                                        h_cq;\r
2018 \r
2019         }       in;\r
2020         struct _ual_peek_cq_ioctl_out\r
2021         {\r
2022                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
2023                 uint32_t                                        n_cqes;\r
2024 \r
2025         }       out;\r
2026 \r
2027 } <strong>ual_peek_cq_ioctl_t</strong>;\r
2028 </pre>\r
2029 </span><p><strong>FIELDS</strong></p>\r
2030 <span class="FIELDS"><pre>       in.h_cq\r
2031                A handle to a CQ.\r
2032 \r
2033        out.status\r
2034                Status of the operation.\r
2035 \r
2036        out.n_cqes\r
2037                The number of completion queue entries currently on the CQ.\r
2038 </pre>\r
2039 </span>\r
2040 <hr />\r
2041 \r
2042 <h2><a name="robo1035">[Structures]<a name="User2dmode20Access20Layer2fual5fpoll5fcq5fioctl5ft">\r
2043 User-mode Access Layer/ual_poll_cq_ioctl_t</a></h2>\r
2044 \r
2045 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2046 <p><strong>NAME</strong></p>\r
2047 <span class="NAME"><pre>       <strong>ual_poll_cq_ioctl_t</strong>\r
2048 </pre>\r
2049 </span><p><strong>DESCRIPTION</strong></p>\r
2050 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
2051        <a href="./ib_al_h.html#robo198">ib_poll_cq</a>\r
2052 </pre>\r
2053 </span><p><strong>SYNOPSIS</strong></p>\r
2054 <span class="SYNOPSIS"><pre>typedef union _ual_poll_cq_ioctl\r
2055 {\r
2056         struct _ual_poll_cq_ioctl_in\r
2057         {\r
2058                 uint64_t                                        h_cq;\r
2059                 uint32_t                                        num_wc;\r
2060 \r
2061         }       in;\r
2062         struct _ual_poll_cq_ioctl_out\r
2063         {\r
2064                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
2065                 uint32_t                                        num_wc;\r
2066                 <a href="./ib_types_h.html#robo260">ib_wc_t</a>                                         wc[1];\r
2067                 /* Additional WC's follow. */\r
2068         }       out;\r
2069 \r
2070 }       <strong>ual_poll_cq_ioctl_t</strong>;\r
2071 </pre>\r
2072 </span><p><strong>FIELDS</strong></p>\r
2073 <span class="FIELDS"><pre>       in.h_cq\r
2074                A handle to cq that is going to be polled for completions.\r
2075 \r
2076        in.num_wc\r
2077                Number of work completions in the output array.\r
2078 \r
2079        out.status\r
2080                Status of the operation.\r
2081 \r
2082        out.num_wc\r
2083                Number of work completions polled.\r
2084 \r
2085        out.wc\r
2086                First work completion in the array to use for polling.\r
2087 </pre>\r
2088 </span>\r
2089 <hr />\r
2090 \r
2091 <h2><a name="robo1036">[Structures]<a name="User2dmode20Access20Layer2fual5fpoll5fpnp5fioctl5ft">\r
2092 User-mode Access Layer/ual_poll_pnp_ioctl_t</a></h2>\r
2093 \r
2094 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2095 <p><strong>NAME</strong></p>\r
2096 <span class="NAME"><pre>       <strong>ual_poll_pnp_ioctl_t</strong>\r
2097 </pre>\r
2098 </span><p><strong>DESCRIPTION</strong></p>\r
2099 <span class="DESCRIPTION"><pre>       IOCTL structure containing the parameters for retriveing data for\r
2100        a PnP event.\r
2101 </pre>\r
2102 </span><p><strong>SYNOPSIS</strong></p>\r
2103 <span class="SYNOPSIS"><pre>typedef union _ual_poll_pnp_ioctl\r
2104 {\r
2105         struct _ual_poll_pnp_ioctl_in\r
2106         {\r
2107                 uint64_t                                        evt_hdl;\r
2108 \r
2109         }       in;\r
2110         struct _ual_poll_pnp_ioctl_out\r
2111         {\r
2112                 <a href="./ib_al_h.html#robo196">ib_pnp_rec_t</a>                            pnp_rec;\r
2113 \r
2114         }       out;\r
2115 \r
2116 }       <strong>ual_poll_pnp_ioctl_t</strong>;\r
2117 </pre>\r
2118 </span><p><strong>NOTES</strong></p>\r
2119 <span class="NOTES"><pre>       This is a synchronous IOCTL.\r
2120 </pre>\r
2121 </span><p><strong>PARAMETERS</strong></p>\r
2122 <span class="PARAMETERS"><pre>       in.evt_hdl\r
2123                Handle to a new PnP event.\r
2124 \r
2125        out.pnp_rec\r
2126                Buffer for the new PnP event.\r
2127 </pre>\r
2128 </span>\r
2129 <hr />\r
2130 \r
2131 <h2><a name="robo1037">[Structures]<a name="User2dmode20Access20Layer2fual5fpost5frecv5fioctl5ft">\r
2132 User-mode Access Layer/ual_post_recv_ioctl_t</a></h2>\r
2133 \r
2134 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2135 <p><strong>NAME</strong></p>\r
2136 <span class="NAME"><pre>       <strong>ual_post_recv_ioctl_t</strong>\r
2137 </pre>\r
2138 </span><p><strong>DESCRIPTION</strong></p>\r
2139 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
2140        <a href="./ib_al_h.html#robo202">ib_post_recv</a>\r
2141 </pre>\r
2142 </span><p><strong>SYNOPSIS</strong></p>\r
2143 <span class="SYNOPSIS"><pre>typedef union _ual_post_recv_ioctl\r
2144 {\r
2145         struct _ual_post_recv_ioctl_in\r
2146         {\r
2147                 uint64_t                                        h_qp;\r
2148                 uint32_t                                        num_wr;\r
2149                 uint32_t                                        num_ds;\r
2150                 <a href="./ib_types_h.html#robo225">ib_recv_wr_t</a>                            recv_wr[1];\r
2151                 /* Additional work requests follow, followed by data segments. */\r
2152 \r
2153         }       in;\r
2154         struct _ual_post_recv_ioctl_out\r
2155         {\r
2156                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
2157                 uint32_t                                        failed_cnt;\r
2158 \r
2159         }       out;\r
2160 \r
2161 }       <strong>ual_post_recv_ioctl_t</strong>;\r
2162 </pre>\r
2163 </span><p><strong>FIELDS</strong></p>\r
2164 <span class="FIELDS"><pre>       in.h_qp\r
2165                A handle to QP where the work request is being posted.\r
2166 \r
2167        in.num_wr\r
2168                Number of work request items in the array of work requests.\r
2169 \r
2170        in.num_ds\r
2171                Number of data segments following the array of work requests.\r
2172 \r
2173        in.recv_wr\r
2174                First work request in the array of work requests being posted.\r
2175 \r
2176        out.status\r
2177                Status of the operation.\r
2178 \r
2179        failed_cnt\r
2180                Number of work request that failed.\r
2181 </pre>\r
2182 </span>\r
2183 <hr />\r
2184 \r
2185 <h2><a name="robo1038">[Structures]<a name="User2dmode20Access20Layer2fual5fpost5fsend5fioctl5ft">\r
2186 User-mode Access Layer/ual_post_send_ioctl_t</a></h2>\r
2187 \r
2188 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2189 <p><strong>NAME</strong></p>\r
2190 <span class="NAME"><pre>       <strong>ual_post_send_ioctl_t</strong>\r
2191 </pre>\r
2192 </span><p><strong>DESCRIPTION</strong></p>\r
2193 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
2194        <a href="./ib_al_h.html#robo203">ib_post_send</a>\r
2195 </pre>\r
2196 </span><p><strong>SYNOPSIS</strong></p>\r
2197 <span class="SYNOPSIS"><pre>typedef union _ual_post_send_ioctl\r
2198 {\r
2199         struct _ual_post_send_ioctl_in\r
2200         {\r
2201                 uint64_t                                        h_qp;\r
2202                 uint32_t                                        num_wr;\r
2203                 uint32_t                                        num_ds;\r
2204                 <a href="./ib_types_h.html#robo249">ib_send_wr_t</a>                            send_wr[1];\r
2205                 /* Additional work requests follow, followed by data segments. */\r
2206 \r
2207         }       in;\r
2208         struct _ual_post_send_ioctl_out\r
2209         {\r
2210                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
2211                 uint32_t                                        failed_cnt;\r
2212 \r
2213         }       out;\r
2214 \r
2215 }       <strong>ual_post_send_ioctl_t</strong>;\r
2216 </pre>\r
2217 </span><p><strong>FIELDS</strong></p>\r
2218 <span class="FIELDS"><pre>       in.h_qp\r
2219                A handle to QP where the work request is being posted.\r
2220 \r
2221        in.num_wr\r
2222                Number of work request items in the array of work requests.\r
2223 \r
2224        in.num_ds\r
2225                Number of data segments following the array of work requests.\r
2226 \r
2227        in.send_wr\r
2228                First work request in the array of work requests being posted.\r
2229 \r
2230        out.status\r
2231                Status of the operation.\r
2232 \r
2233        out.failed_cnt\r
2234                Number of work request that failed.\r
2235 </pre>\r
2236 </span>\r
2237 <hr />\r
2238 \r
2239 <h2><a name="robo1039">[Structures]<a name="User2dmode20Access20Layer2fual5fquery5fav5fioctl5ft">\r
2240 User-mode Access Layer/ual_query_av_ioctl_t</a></h2>\r
2241 \r
2242 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2243 <p><strong>NAME</strong></p>\r
2244 <span class="NAME"><pre>       <strong>ual_query_av_ioctl_t</strong>\r
2245 </pre>\r
2246 </span><p><strong>DESCRIPTION</strong></p>\r
2247 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
2248        <a href="./ib_al_h.html#robo212">ib_query_av</a>\r
2249 </pre>\r
2250 </span><p><strong>SYNOPSIS</strong></p>\r
2251 <span class="SYNOPSIS"><pre>typedef union _ual_query_av_ioctl\r
2252 {\r
2253         struct _ual_query_av_ioctl_in\r
2254         {\r
2255                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
2256                 uint64_t                                        h_av;\r
2257 \r
2258         }       in;\r
2259         struct _ual_query_av_ioctl_out\r
2260         {\r
2261                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
2262                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
2263                 <a href="./ib_types_h.html#robo57">ib_av_attr_t</a>                            attr;\r
2264                 void* __ptr64                           pd_context;\r
2265 \r
2266         }       out;\r
2267 \r
2268 }       <strong>ual_query_av_ioctl_t</strong>;\r
2269 </pre>\r
2270 </span><p><strong>FIELDS</strong></p>\r
2271 <span class="FIELDS"><pre>       in.umv_buf\r
2272                Opaque to IBAL buffer descriptor to allow the user-mode HCA library to\r
2273                exchange private information with the kernel-mode HCA driver.\r
2274 \r
2275        in.h_av\r
2276                A handle to an existing address vector.\r
2277 \r
2278        out.umv_buf\r
2279                Returns the status from the HCA driver to the user-mode HCA library,\r
2280                along with any vendor specific output information.\r
2281 \r
2282        out.status\r
2283                Status of the operation.\r
2284 \r
2285        out.attr\r
2286                Attributes of the address vector.\r
2287 \r
2288        pd_context\r
2289                Context associated with the PD when created.\r
2290 </pre>\r
2291 </span>\r
2292 <hr />\r
2293 \r
2294 <h2><a name="robo1040">[Structures]<a name="User2dmode20Access20Layer2fual5fquery5fca5fioctl5ft">\r
2295 User-mode Access Layer/ual_query_ca_ioctl_t</a></h2>\r
2296 \r
2297 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2298 <p><strong>NAME</strong></p>\r
2299 <span class="NAME"><pre>       <strong>ual_query_ca_ioctl_t</strong>\r
2300 </pre>\r
2301 </span><p><strong>DESCRIPTION</strong></p>\r
2302 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
2303        <a href="./ib_al_h.html#robo213">ib_query_ca</a>\r
2304 </pre>\r
2305 </span><p><strong>SYNOPSIS</strong></p>\r
2306 <span class="SYNOPSIS"><pre>typedef union _ual_query_ca_ioctl\r
2307 {\r
2308         struct _ual_query_ca_ioctl_in\r
2309         {\r
2310                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
2311                 uint64_t                                        h_ca;\r
2312                 uint32_t                                        byte_cnt;\r
2313                 <a href="./ib_types_h.html#robo60">ib_ca_attr_t</a>* __ptr64           p_ca_attr;\r
2314 \r
2315         }       in;\r
2316         struct _ual_query_ca_ioctl_out\r
2317         {\r
2318                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
2319                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
2320                 uint32_t                                        byte_cnt;\r
2321 \r
2322         }       out;\r
2323 \r
2324 }       <strong>ual_query_ca_ioctl_t</strong>;\r
2325 </pre>\r
2326 </span><p><strong>FIELDS</strong></p>\r
2327 <span class="FIELDS"><pre>       in.umv_buf\r
2328                Opaque to IBAL buffer descriptor to allow the user-mode HCA library to\r
2329                exchange private information with the kernel-mode HCA driver.\r
2330 \r
2331        in.h_ca\r
2332                The handle to an open instance of CA returned via a\r
2333                ual_open_ca_ioctl structure.\r
2334 \r
2335        in.byte_cnt\r
2336                Specifies the size of the data buffer referenced by the p_ca_attr\r
2337                parameter.\r
2338 \r
2339        p_ca_attr\r
2340                A reference to a buffer where the channel adapter attributes,\r
2341                including port attribute information will be copied.  If this parameter\r
2342                is NULL, then the required buffer size needed to return all of the CA\r
2343                attribute information is returned through the out.byte_cnt parameter.\r
2344                The <a href="./ib_types_h.html#robo60">ib_ca_attr_t</a> structure for the specified channel adapter is stored\r
2345                at the top of this buffer.\r
2346 \r
2347        out.umv_buf\r
2348                Returns the status from the HCA driver to the user-mode HCA library,\r
2349                along with any vendor specific output information.\r
2350 \r
2351        out.status\r
2352                Status of the operation\r
2353 \r
2354        out.byte_cnt\r
2355                Contains the number of bytes used or needed to copy all CA attributes.\r
2356 </pre>\r
2357 </span>\r
2358 <hr />\r
2359 \r
2360 <h2><a name="robo1041">[Structures]<a name="User2dmode20Access20Layer2fual5fquery5fcq5fioctl5ft">\r
2361 User-mode Access Layer/ual_query_cq_ioctl_t</a></h2>\r
2362 \r
2363 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2364 <p><strong>NAME</strong></p>\r
2365 <span class="NAME"><pre>       <strong>ual_query_cq_ioctl_t</strong>\r
2366 </pre>\r
2367 </span><p><strong>DESCRIPTION</strong></p>\r
2368 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
2369        <a href="./ib_al_h.html#robo215">ib_query_cq</a>\r
2370 </pre>\r
2371 </span><p><strong>SYNOPSIS</strong></p>\r
2372 <span class="SYNOPSIS"><pre>typedef union _ual_query_cq_ioctl\r
2373 {\r
2374         struct _ual_query_cq_ioctl_in\r
2375         {\r
2376                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
2377                 uint64_t                                        h_cq;\r
2378 \r
2379         }       in;\r
2380         struct _ual_query_cq_ioctl_out\r
2381         {\r
2382                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
2383                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
2384                 uint32_t                                        size;\r
2385 \r
2386         }       out;\r
2387 \r
2388 }       <strong>ual_query_cq_ioctl_t</strong>;\r
2389 </pre>\r
2390 </span><p><strong>FIELDS</strong></p>\r
2391 <span class="FIELDS"><pre>       in.umv_buf\r
2392                Opaque to IBAL buffer descriptor to allow the user-mode HCA library to\r
2393                exchange private information with the kernel-mode HCA driver.\r
2394 \r
2395        in.h_cq\r
2396                A handle to an existing CQ.\r
2397 \r
2398        out.umv_buf\r
2399                Returns the status from the HCA driver to the user-mode HCA library,\r
2400                along with any vendor specific output information.\r
2401 \r
2402        out.status\r
2403                Status of the operation.\r
2404 \r
2405        out.size\r
2406                The size of the CQ.\r
2407 </pre>\r
2408 </span>\r
2409 <hr />\r
2410 \r
2411 <h2><a name="robo1042">[Structures]<a name="User2dmode20Access20Layer2fual5fquery5fmr5fioctl5ft">\r
2412 User-mode Access Layer/ual_query_mr_ioctl_t</a></h2>\r
2413 \r
2414 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2415 <p><strong>NAME</strong></p>\r
2416 <span class="NAME"><pre>       <strong>ual_query_mr_ioctl_t</strong>\r
2417 </pre>\r
2418 </span><p><strong>DESCRIPTION</strong></p>\r
2419 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
2420        <a href="./ib_al_h.html#robo216">ib_query_mr</a>\r
2421 </pre>\r
2422 </span><p><strong>SYNOPSIS</strong></p>\r
2423 <span class="SYNOPSIS"><pre>typedef union _ual_query_mr_ioctl\r
2424 {\r
2425         struct _ual_query_mr_ioctl_in\r
2426         {\r
2427                 uint64_t                                        h_mr;\r
2428 \r
2429         }       in;\r
2430         struct _ual_query_mr_ioctl_out\r
2431         {\r
2432                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
2433                 <a href="./ib_types_h.html#robo159">ib_mr_attr_t</a>                            attr;\r
2434 \r
2435         }       out;\r
2436 \r
2437 }       <strong>ual_query_mr_ioctl_t</strong>;\r
2438 </pre>\r
2439 </span><p><strong>FIELDS</strong></p>\r
2440 <span class="FIELDS"><pre>       in.h_mr\r
2441                A handle to a registered memory region.\r
2442 \r
2443        out.status\r
2444                Status of the operation.\r
2445 \r
2446        out.attr\r
2447                Attributes of the registered memory region.\r
2448 </pre>\r
2449 </span>\r
2450 <hr />\r
2451 \r
2452 <h2><a name="robo1043">[Structures]<a name="User2dmode20Access20Layer2fual5fquery5fmw5fioctl5ft">\r
2453 User-mode Access Layer/ual_query_mw_ioctl_t</a></h2>\r
2454 \r
2455 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2456 <p><strong>NAME</strong></p>\r
2457 <span class="NAME"><pre>       <strong>ual_query_mw_ioctl_t</strong>\r
2458 </pre>\r
2459 </span><p><strong>DESCRIPTION</strong></p>\r
2460 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
2461        <a href="./ib_al_h.html#robo217">ib_query_mw</a>\r
2462 </pre>\r
2463 </span><p><strong>SYNOPSIS</strong></p>\r
2464 <span class="SYNOPSIS"><pre>typedef union _ual_query_mw_ioctl\r
2465 {\r
2466         struct _ual_query_mw_ioctl_in\r
2467         {\r
2468                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
2469                 uint64_t                                        h_mw;\r
2470 \r
2471         }       in;\r
2472         struct _ual_query_mw_ioctl_out\r
2473         {\r
2474                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
2475                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
2476                 void* __ptr64                           pd_context;\r
2477                 net32_t                                         rkey;\r
2478 \r
2479         }       out;\r
2480 \r
2481 }       <strong>ual_query_mw_ioctl_t</strong>;\r
2482 </pre>\r
2483 </span><p><strong>FIELDS</strong></p>\r
2484 <span class="FIELDS"><pre>       in.umv_buf\r
2485                Opaque to IBAL buffer descriptor to allow the user-mode HCA library to\r
2486                exchange private information with the kernel-mode HCA driver.\r
2487 \r
2488        in.h_mw\r
2489                A handle to an existing memory window.\r
2490 \r
2491        out.umv_buf\r
2492                Returns the status from the HCA driver to the user-mode HCA library,\r
2493                along with any vendor specific output information.\r
2494 \r
2495        out.status\r
2496                Status of the operation.\r
2497 \r
2498        pd_context\r
2499                This user-mode context for the protection domain\r
2500                associated with the memory window.\r
2501 \r
2502        rkey\r
2503                RKey associated with the memory window.\r
2504 </pre>\r
2505 </span>\r
2506 <hr />\r
2507 \r
2508 <h2><a name="robo1044">[Structures]<a name="User2dmode20Access20Layer2fual5fquery5fqp5fioctl5ft">\r
2509 User-mode Access Layer/ual_query_qp_ioctl_t</a></h2>\r
2510 \r
2511 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2512 <p><strong>NAME</strong></p>\r
2513 <span class="NAME"><pre>       <strong>ual_query_qp_ioctl_t</strong>\r
2514 </pre>\r
2515 </span><p><strong>DESCRIPTION</strong></p>\r
2516 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
2517        <a href="./ib_al_h.html#robo218">ib_query_qp</a>\r
2518 </pre>\r
2519 </span><p><strong>SYNOPSIS</strong></p>\r
2520 <span class="SYNOPSIS"><pre>typedef union _ual_query_qp_ioctl\r
2521 {\r
2522         struct _ual_query_qp_ioctl_in\r
2523         {\r
2524                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
2525                 uint64_t                                        h_qp;\r
2526 \r
2527         }       in;\r
2528         struct _ual_query_qp_ioctl_out\r
2529         {\r
2530                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
2531                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
2532                 <a href="./ib_types_h.html#robo205">ib_qp_attr_t</a>                            attr;\r
2533 \r
2534         }       out;\r
2535 \r
2536 } <strong>ual_query_qp_ioctl_t</strong>;\r
2537 </pre>\r
2538 </span><p><strong>FIELDS</strong></p>\r
2539 <span class="FIELDS"><pre>       in.umv_buf\r
2540                Opaque to IBAL buffer descriptor to allow the user-mode HCA library to\r
2541                exchange private information with the kernel-mode HCA driver.\r
2542 \r
2543        h_qp\r
2544                Handle to the QP whose attributes to query.\r
2545 \r
2546        out.umv_buf\r
2547                Returns the status from the HCA driver to the user-mode HCA library,\r
2548                along with any vendor specific output information.\r
2549 \r
2550        out.status\r
2551                Status of the operation.\r
2552 \r
2553        out.attr\r
2554                Attributes of the QP.\r
2555 </pre>\r
2556 </span>\r
2557 <hr />\r
2558 \r
2559 <h2><a name="robo1045">[Structures]<a name="User2dmode20Access20Layer2fual5frearm5fcq5fioctl5ft">\r
2560 User-mode Access Layer/ual_rearm_cq_ioctl_t</a></h2>\r
2561 \r
2562 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2563 <p><strong>NAME</strong></p>\r
2564 <span class="NAME"><pre>       <strong>ual_rearm_cq_ioctl_t</strong>\r
2565 </pre>\r
2566 </span><p><strong>DESCRIPTION</strong></p>\r
2567 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
2568        <a href="./ib_al_h.html#robo222">ib_rearm_cq</a>\r
2569 </pre>\r
2570 </span><p><strong>SYNOPSIS</strong></p>\r
2571 <span class="SYNOPSIS"><pre>typedef union _ual_rearm_cq_ioctl\r
2572 {\r
2573         struct _ual_rearm_cq_ioctl_in\r
2574         {\r
2575                 uint64_t                                        h_cq;\r
2576                 boolean_t                                       solicited;\r
2577 \r
2578         }       in;\r
2579         struct _ual_rearm_cq_ioctl_out\r
2580         {\r
2581                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
2582 \r
2583         }       out;\r
2584 \r
2585 }       <strong>ual_rearm_cq_ioctl_t</strong>;\r
2586 </pre>\r
2587 </span><p><strong>FIELDS</strong></p>\r
2588 <span class="FIELDS"><pre>       in.h_cq\r
2589                A handle to a CQ.\r
2590 \r
2591        in.solicited\r
2592                Flag for rearm CQ.\r
2593 \r
2594        out.status\r
2595                Status of the operation.\r
2596 </pre>\r
2597 </span>\r
2598 <hr />\r
2599 \r
2600 <h2><a name="robo1046">[Structures]<a name="User2dmode20Access20Layer2fual5frearm5fn5fcq5fioctl5ft">\r
2601 User-mode Access Layer/ual_rearm_n_cq_ioctl_t</a></h2>\r
2602 \r
2603 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2604 <p><strong>NAME</strong></p>\r
2605 <span class="NAME"><pre>       <strong>ual_rearm_n_cq_ioctl_t</strong>\r
2606 </pre>\r
2607 </span><p><strong>DESCRIPTION</strong></p>\r
2608 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
2609        <a href="./ib_al_h.html#robo223">ib_rearm_n_cq</a>\r
2610 </pre>\r
2611 </span><p><strong>SYNOPSIS</strong></p>\r
2612 <span class="SYNOPSIS"><pre>typedef union _ual_rearm_n_cq_ioctl\r
2613 {\r
2614         struct _ual_rearm_n_cq_ioctl_in\r
2615         {\r
2616                 uint64_t                                        h_cq;\r
2617                 uint32_t                                        n_cqes;\r
2618 \r
2619         }       in;\r
2620         struct _ual_rearm_n_cq_ioctl_out\r
2621         {\r
2622                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
2623 \r
2624         }       out;\r
2625 \r
2626 }       <strong>ual_rearm_n_cq_ioctl_t</strong>;\r
2627 </pre>\r
2628 </span><p><strong>FIELDS</strong></p>\r
2629 <span class="FIELDS"><pre>       in.h_cq\r
2630                A handle to a CQ.\r
2631 \r
2632        in.n_cqes\r
2633                Rearm the CQ to signal when the next N completions are added.\r
2634 \r
2635        in.status\r
2636                Status of the operation.\r
2637 </pre>\r
2638 </span>\r
2639 <hr />\r
2640 \r
2641 <h2><a name="robo1047">[Structures]<a name="User2dmode20Access20Layer2fual5frearm5fpnp5fioctl5fin5ft">\r
2642 User-mode Access Layer/ual_rearm_pnp_ioctl_in_t</a></h2>\r
2643 \r
2644 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2645 <p><strong>NAME</strong></p>\r
2646 <span class="NAME"><pre>       <strong>ual_rearm_pnp_ioctl_in_t</strong>\r
2647 </pre>\r
2648 </span><p><strong>DESCRIPTION</strong></p>\r
2649 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input parameters for requesting\r
2650        notification of the next PnP event.\r
2651 </pre>\r
2652 </span><p><strong>SYNOPSIS</strong></p>\r
2653 <span class="SYNOPSIS"><pre>typedef struct _ual_rearm_pnp_ioctl_in\r
2654 {\r
2655         uint64_t                                        pnp_hdl;\r
2656         uint64_t                                        last_evt_hdl;\r
2657         void* __ptr64                           last_evt_context;\r
2658         <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         last_evt_status;\r
2659 \r
2660 }       <strong>ual_rearm_pnp_ioctl_in_t</strong>;\r
2661 </pre>\r
2662 </span><p><strong>NOTES</strong></p>\r
2663 <span class="NOTES"><pre>       This is an asynchronous IOCTL.\r
2664 \r
2665        The output parameters are a <a href="#robo1048">ual_rearm_pnp_ioctl_out_t</a>.\r
2666 </pre>\r
2667 </span><p><strong>PARAMETERS</strong></p>\r
2668 <span class="PARAMETERS"><pre>       pnp_hdl\r
2669                Handle to the PnP registration to rearm.\r
2670 \r
2671        last_evt_hdl\r
2672                Handle to the last PnP event processed.\r
2673 \r
2674        last_evt_context\r
2675                Context value to set for the last reported PnP event.\r
2676 \r
2677        last_evt_status\r
2678                Status value to return for the last reported PnP event.\r
2679 </pre>\r
2680 </span>\r
2681 <hr />\r
2682 \r
2683 <h2><a name="robo1048">[Structures]<a name="User2dmode20Access20Layer2fual5frearm5fpnp5fioctl5fout5ft">\r
2684 User-mode Access Layer/ual_rearm_pnp_ioctl_out_t</a></h2>\r
2685 \r
2686 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2687 <p><strong>NAME</strong></p>\r
2688 <span class="NAME"><pre>       <strong>ual_rearm_pnp_ioctl_out_t</strong>\r
2689 </pre>\r
2690 </span><p><strong>DESCRIPTION</strong></p>\r
2691 <span class="DESCRIPTION"><pre>       IOCTL structure containing the output parameters for a PnP event.\r
2692 </pre>\r
2693 </span><p><strong>SYNOPSIS</strong></p>\r
2694 <span class="SYNOPSIS"><pre>typedef struct _ual_rearm_pnp_ioctl_out\r
2695 {\r
2696         uint64_t                                        evt_hdl;\r
2697         uint32_t                                        evt_size;\r
2698 \r
2699 }       <strong>ual_rearm_pnp_ioctl_out_t</strong>;\r
2700 </pre>\r
2701 </span><p><strong>NOTES</strong></p>\r
2702 <span class="NOTES"><pre>       This is an asynchronous IOCTL.\r
2703 \r
2704        The output parameters are identical to that of ual_reg_pnp_ioctl_t.\r
2705 </pre>\r
2706 </span><p><strong>PARAMETERS</strong></p>\r
2707 <span class="PARAMETERS"><pre>       evt_hdl\r
2708                Handle to a new PnP event.\r
2709 \r
2710        evt_size\r
2711                Buffer size needed to poll the new PnP event.\r
2712 </pre>\r
2713 </span>\r
2714 <hr />\r
2715 \r
2716 <h2><a name="robo1049">[Structures]<a name="User2dmode20Access20Layer2fual5freg5fmad5fpool5fioctl5ft">\r
2717 User-mode Access Layer/ual_reg_mad_pool_ioctl_t</a></h2>\r
2718 \r
2719 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2720 <p><strong>NAME</strong></p>\r
2721 <span class="NAME"><pre>       <strong>ual_reg_mad_pool_ioctl_t</strong>\r
2722 </pre>\r
2723 </span><p><strong>DESCRIPTION</strong></p>\r
2724 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
2725        registering a mad pool to be used with special qp. This ioctl\r
2726        will result in user-mode pool registered. Additionally,\r
2727        the kernel proxy will allocate a kernel mad pool and register it\r
2728        so that later mad_sends will have the appropriate pool in kernel.\r
2729 </pre>\r
2730 </span><p><strong>SYNOPSIS</strong></p>\r
2731 <span class="SYNOPSIS"><pre>typedef union _ual_reg_mad_pool_ioctl\r
2732 {\r
2733         struct _ual_reg_mad_pool_ioctl_in\r
2734         {\r
2735                 uint64_t                                        h_pd;\r
2736 \r
2737         }       in;\r
2738         struct _ual_reg_mad_pool_ioctl_out\r
2739         {\r
2740                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
2741                 uint64_t                                        pool_key;\r
2742 \r
2743         }       out;\r
2744 \r
2745 }       <strong>ual_reg_mad_pool_ioctl_t</strong>;\r
2746 </pre>\r
2747 </span><p><strong>FIELDS</strong></p>\r
2748 <span class="FIELDS"><pre>       in.h_pd\r
2749                PD associated with the pool\r
2750 \r
2751        out.status\r
2752                Status of the operation.\r
2753 \r
2754        out.pool_key\r
2755                <a href="../complib/cl_pool_h.html#robo24">Pool</a> key to the mad pool in kernel space\r
2756 </pre>\r
2757 </span>\r
2758 <hr />\r
2759 \r
2760 <h2><a name="robo1050">[Structures]<a name="User2dmode20Access20Layer2fual5freg5fmad5fsvc5fioctl5ft">\r
2761 User-mode Access Layer/ual_reg_mad_svc_ioctl_t</a></h2>\r
2762 \r
2763 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2764 <p><strong>NAME</strong></p>\r
2765 <span class="NAME"><pre>       <strong>ual_reg_mad_svc_ioctl_t</strong>\r
2766 </pre>\r
2767 </span><p><strong>DESCRIPTION</strong></p>\r
2768 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
2769        <a href="./ib_al_h.html#robo228">ib_reg_mad_svc</a>\r
2770 </pre>\r
2771 </span><p><strong>SYNOPSIS</strong></p>\r
2772 <span class="SYNOPSIS"><pre>typedef union _ual_reg_mad_svc_ioctl\r
2773 {\r
2774         struct _ual_reg_mad_svc_ioctl_in\r
2775         {\r
2776                 uint64_t                                        h_qp;\r
2777                 <a href="./ib_al_h.html#robo151">ib_mad_svc_t</a>                            mad_svc;\r
2778 \r
2779         }       in;\r
2780         struct _ual_reg_mad_svc_ioctl_out\r
2781         {\r
2782                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
2783                 uint64_t                                        h_mad_svc;\r
2784 \r
2785         }       out;\r
2786 \r
2787 }       <strong>ual_reg_mad_svc_ioctl_t</strong>;\r
2788 </pre>\r
2789 </span><p><strong>FIELDS</strong></p>\r
2790 <span class="FIELDS"><pre>       in.h_qp\r
2791                Handle to the special QP or MAD QP.\r
2792 \r
2793        in.mad_svc\r
2794                Mad service definition.\r
2795 \r
2796        out.status\r
2797                Status of the operation.\r
2798 \r
2799        out.h_mad_svc\r
2800                Handle to the mad service.\r
2801 </pre>\r
2802 </span>\r
2803 <hr />\r
2804 \r
2805 <h2><a name="robo1051">[Structures]<a name="User2dmode20Access20Layer2fual5freg5fmem5fioctl5ft">\r
2806 User-mode Access Layer/ual_reg_mem_ioctl_t</a></h2>\r
2807 \r
2808 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2809 <p><strong>NAME</strong></p>\r
2810 <span class="NAME"><pre>       <strong>ual_reg_mem_ioctl_t</strong>\r
2811 </pre>\r
2812 </span><p><strong>DESCRIPTION</strong></p>\r
2813 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
2814        <a href="./ib_al_h.html#robo229">ib_reg_mem</a>\r
2815 </pre>\r
2816 </span><p><strong>SYNOPSIS</strong></p>\r
2817 <span class="SYNOPSIS"><pre>typedef union _ual_reg_mem_ioctl\r
2818 {\r
2819         struct _ual_reg_mem_ioctl_in\r
2820         {\r
2821                 uint64_t                                        h_pd;\r
2822                 <a href="./ib_types_h.html#robo160">ib_mr_create_t</a>                          mem_create;\r
2823 \r
2824         }       in;\r
2825         struct _ual_reg_mem_ioctl_out\r
2826         {\r
2827                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
2828                 net32_t                                         lkey;\r
2829                 net32_t                                         rkey;\r
2830                 uint64_t                                        h_mr;\r
2831 \r
2832         }       out;\r
2833 \r
2834 }       <strong>ual_reg_mem_ioctl_t</strong>;\r
2835 </pre>\r
2836 </span><p><strong>FIELDS</strong></p>\r
2837 <span class="FIELDS"><pre>       in.h_pd\r
2838                Handle to the protection domain on which to register the memory.\r
2839 \r
2840        in.mem_create\r
2841                Information for registering the memory region.\r
2842 \r
2843        out.status\r
2844                Status of the operation.\r
2845 \r
2846        out.lkey\r
2847                LKey value returned by verb.\r
2848 \r
2849        out.rkey\r
2850                RKey value returned by verb.\r
2851 \r
2852        h_mr\r
2853                Handle to the registered memory region.\r
2854 </pre>\r
2855 </span>\r
2856 <hr />\r
2857 \r
2858 <h2><a name="robo1052">[Structures]<a name="User2dmode20Access20Layer2fual5freg5fpnp5fioctl5fin5ft">\r
2859 User-mode Access Layer/ual_reg_pnp_ioctl_in_t</a></h2>\r
2860 \r
2861 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2862 <p><strong>NAME</strong></p>\r
2863 <span class="NAME"><pre>       <strong>ual_reg_pnp_ioctl_in_t</strong>\r
2864 </pre>\r
2865 </span><p><strong>DESCRIPTION</strong></p>\r
2866 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input parameters for registering\r
2867        for PnP events.\r
2868 </pre>\r
2869 </span><p><strong>SYNOPSIS</strong></p>\r
2870 <span class="SYNOPSIS"><pre>typedef struct _ual_reg_pnp_ioctl_in\r
2871 {\r
2872         <a href="./ib_al_h.html#robo190">ib_pnp_class_t</a>                          pnp_class;\r
2873         void* __ptr64                           sync_event;\r
2874         <a href="./ib_types_h.html#robo49">ib_api_status_t</a>* __ptr64        p_status;\r
2875         uint64_t* __ptr64                       p_hdl;\r
2876 \r
2877 }       <strong>ual_reg_pnp_ioctl_in_t</strong>;\r
2878 </pre>\r
2879 </span><p><strong>NOTES</strong></p>\r
2880 <span class="NOTES"><pre>       This is an asynchronous IOCTL.\r
2881 \r
2882        The output parameters are a <a href="#robo1048">ual_rearm_pnp_ioctl_out_t</a>.\r
2883 </pre>\r
2884 </span><p><strong>PARAMETERS</strong></p>\r
2885 <span class="PARAMETERS"><pre>       pnp_class\r
2886                Class of PnP events for which to register.\r
2887 \r
2888        p_status\r
2889                Pointer to user-mode status variable to set in failure case.\r
2890 \r
2891        p_hdl\r
2892                Pointer to user-mode handle variable to set in success case.\r
2893 </pre>\r
2894 </span>\r
2895 <hr />\r
2896 \r
2897 <h2><a name="robo1053">[Structures]<a name="User2dmode20Access20Layer2fual5freg5fshared5fioctl5ft">\r
2898 User-mode Access Layer/ual_reg_shared_ioctl_t</a></h2>\r
2899 \r
2900 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2901 <p><strong>NAME</strong></p>\r
2902 <span class="NAME"><pre>       <strong>ual_reg_shared_ioctl_t</strong>\r
2903 </pre>\r
2904 </span><p><strong>DESCRIPTION</strong></p>\r
2905 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
2906        <a href="./ib_al_h.html#robo232">ib_reg_shared</a>\r
2907 </pre>\r
2908 </span><p><strong>SYNOPSIS</strong></p>\r
2909 <span class="SYNOPSIS"><pre>typedef union _ual_reg_shared_ioctl\r
2910 {\r
2911         struct _ual_reg_shared_ioctl_in\r
2912         {\r
2913                 uint64_t                                        h_mr;\r
2914                 uint64_t                                        h_pd;\r
2915                 <a href="./ib_types_h.html#robo45">ib_access_t</a>                                     access_ctrl;\r
2916                 uint64_t                                        vaddr;\r
2917 \r
2918         }       in;\r
2919         struct _ual_reg_shared_ioctl_out\r
2920         {\r
2921                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
2922                 uint64_t                                        vaddr;\r
2923                 net32_t                                         lkey;\r
2924                 net32_t                                         rkey;\r
2925                 uint64_t                                        h_new_mr;\r
2926 \r
2927         }       out;\r
2928 \r
2929 }       <strong>ual_reg_shared_ioctl_t</strong>;\r
2930 </pre>\r
2931 </span><p><strong>FIELDS</strong></p>\r
2932 <span class="FIELDS"><pre>       in.h_mr\r
2933                A handle to the existing registered memory region.\r
2934 \r
2935        in.h_pd\r
2936                A handle to the PD on which memory is being registered.\r
2937 \r
2938        in.access_ctrl\r
2939                Access control for the new memory region.\r
2940 \r
2941        in.vaddr\r
2942                Requested virtual address.\r
2943 \r
2944        out.status\r
2945                Status of the operation.\r
2946 \r
2947        out.vaddr\r
2948                Actual virtual address of the registered region.\r
2949 \r
2950        out.l_key\r
2951                LKey of the memory region.\r
2952 \r
2953        out.rkey\r
2954                RKey of the memory region.\r
2955 \r
2956        h_new_mr\r
2957                Handle to the registered memory region.\r
2958 </pre>\r
2959 </span>\r
2960 <hr />\r
2961 \r
2962 <h2><a name="robo1054">[Structures]<a name="User2dmode20Access20Layer2fual5freg5fshmid5fioctl5ft">\r
2963 User-mode Access Layer/ual_reg_shmid_ioctl_t</a></h2>\r
2964 \r
2965 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
2966 <p><strong>NAME</strong></p>\r
2967 <span class="NAME"><pre>       <strong>ual_reg_shmid_ioctl_t</strong>\r
2968 </pre>\r
2969 </span><p><strong>DESCRIPTION</strong></p>\r
2970 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
2971        ib_create_shmid\r
2972 </pre>\r
2973 </span><p><strong>SYNOPSIS</strong></p>\r
2974 <span class="SYNOPSIS"><pre>typedef union _ual_reg_shmid_ioctl\r
2975 {\r
2976         struct _ual_reg_shmid_ioctl_in\r
2977         {\r
2978                 uint64_t                                        h_pd;\r
2979                 <a href="./ib_al_h.html#robo250">ib_shmid_t</a>                                      shmid;\r
2980                 <a href="./ib_types_h.html#robo160">ib_mr_create_t</a>                          mr_create;\r
2981 \r
2982         }       in;\r
2983         struct _ual_reg_shmid_ioctl_out\r
2984         {\r
2985                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
2986                 uint64_t                                        vaddr;\r
2987                 net32_t                                         lkey;\r
2988                 net32_t                                         rkey;\r
2989                 uint64_t                                        h_mr;\r
2990 \r
2991         }       out;\r
2992 \r
2993 }       <strong>ual_reg_shmid_ioctl_t</strong>;\r
2994 </pre>\r
2995 </span><p><strong>PARAMETERS</strong></p>\r
2996 <span class="PARAMETERS"><pre>       in.h_pd\r
2997                A handle to an existing protection domain that the memory\r
2998                should be registered with.\r
2999 \r
3000        in.shmid\r
3001                An identifier to the shared memory region.\r
3002 \r
3003        in.mr_create\r
3004                Information describing the attributes of the memory region to\r
3005                register.\r
3006 \r
3007        out.status\r
3008                Status of the operation.\r
3009 \r
3010        out.vaddr\r
3011                Assigned I/O virtual address for the memory region.\r
3012 \r
3013        out.lkey\r
3014                The local access key associated with this registered memory\r
3015                region.\r
3016 \r
3017        out.rkey\r
3018                A key that may be used by a remote end-point when performing RDMA\r
3019                or atomic operations to this registered memory region.\r
3020 \r
3021        out.h_mr\r
3022                Upon successful completion of this call, this references a handle\r
3023                to the registered memory region.  This handle is used when performing\r
3024                data transfers and to deregister the memory.\r
3025 </pre>\r
3026 </span>\r
3027 <hr />\r
3028 \r
3029 <h2><a name="robo1055">[Structures]<a name="User2dmode20Access20Layer2fual5frereg5fmem5fioctl5ft">\r
3030 User-mode Access Layer/ual_rereg_mem_ioctl_t</a></h2>\r
3031 \r
3032 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
3033 <p><strong>NAME</strong></p>\r
3034 <span class="NAME"><pre>       <strong>ual_rereg_mem_ioctl_t</strong>\r
3035 </pre>\r
3036 </span><p><strong>DESCRIPTION</strong></p>\r
3037 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
3038        ib_modify_mr\r
3039 </pre>\r
3040 </span><p><strong>SYNOPSIS</strong></p>\r
3041 <span class="SYNOPSIS"><pre>typedef union _ual_rereg_mem_ioctl\r
3042 {\r
3043         struct _ual_rereg_mem_ioctl_in\r
3044         {\r
3045                 uint64_t                                        h_mr;\r
3046                 <a href="./ib_types_h.html#robo161">ib_mr_mod_t</a>                                     mem_mod_mask;\r
3047                 <a href="./ib_types_h.html#robo160">ib_mr_create_t</a>                          mem_create;\r
3048                 uint64_t                                        h_pd;\r
3049 \r
3050         }       in;\r
3051         struct _ual_rereg_mem_ioctl_out\r
3052         {\r
3053                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
3054                 net32_t                                         lkey;\r
3055                 net32_t                                         rkey;\r
3056 \r
3057         }       out;\r
3058 \r
3059 }       <strong>ual_rereg_mem_ioctl_t</strong>;\r
3060 </pre>\r
3061 </span><p><strong>FIELDS</strong></p>\r
3062 <span class="FIELDS"><pre>       in.h_mr\r
3063                A handle to a registered memory region that is being modified.\r
3064 \r
3065        in.mem_mod_mask\r
3066                The attributes to use when modifying the memory region.\r
3067 \r
3068        in.mem_create\r
3069                Information to use for modifying the memory region.  Required only\r
3070                for changes other than the PD.\r
3071 \r
3072        in.h_pd\r
3073                PD Handle for changing protection domains.\r
3074 \r
3075        out.status\r
3076                Status of the operation.\r
3077 \r
3078        out.l_key\r
3079                LKey of the memory region.\r
3080 \r
3081        out.rkey\r
3082                RKey of the memory region.\r
3083 </pre>\r
3084 </span>\r
3085 <hr />\r
3086 \r
3087 <h2><a name="robo1056">[Structures]<a name="User2dmode20Access20Layer2fual5fsend5fmad5fioctl5ft">\r
3088 User-mode Access Layer/ual_send_mad_ioctl_t</a></h2>\r
3089 \r
3090 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
3091 <p><strong>NAME</strong></p>\r
3092 <span class="NAME"><pre>       <strong>ual_send_mad_ioctl_t</strong>\r
3093 </pre>\r
3094 </span><p><strong>DESCRIPTION</strong></p>\r
3095 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
3096        <a href="./ib_al_h.html#robo247">ib_send_mad</a>\r
3097 </pre>\r
3098 </span><p><strong>SYNOPSIS</strong></p>\r
3099 <span class="SYNOPSIS"><pre>typedef union _ual_send_mad_ioctl\r
3100 {\r
3101         struct _ual_send_mad_ioctl_in\r
3102         {\r
3103                 uint64_t                                                h_mad_svc;\r
3104                 uint64_t                                                pool_key;\r
3105                 uint64_t                                                h_av;\r
3106                 <a href="./ib_al_h.html#robo150">ib_mad_element_t</a>* __ptr64               p_mad_element;\r
3107                 uint32_t                                                size;\r
3108                 void* __ptr64* __ptr64          ph_proxy;\r
3109 \r
3110         }       in;\r
3111         struct _ual_send_mad_ioctl_out\r
3112         {\r
3113                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                                 status;\r
3114 \r
3115         }       out;\r
3116 \r
3117 }       <strong>ual_send_mad_ioctl_t</strong>;\r
3118 </pre>\r
3119 </span><p><strong>FIELDS</strong></p>\r
3120 <span class="FIELDS"><pre>       in.h_mad_svc\r
3121                Handle to the mad service.\r
3122 \r
3123        in.pool_key\r
3124                <a href="../complib/cl_pool_h.html#robo24">Pool</a> key associated with the pool in kernel space.\r
3125 \r
3126        in.h_av\r
3127                handle to address vector of MAD.\r
3128 \r
3129        in.p_mad_element\r
3130                Pointer to the user-mode MAD element.  The proxy marshals this data.\r
3131 \r
3132        in.size\r
3133                size of MAD buffer to send.\r
3134 \r
3135        in.ph_proxy\r
3136                Location to which to write the context used to cancel the MAD.\r
3137 \r
3138        out.status\r
3139                Status of the operation.\r
3140 </pre>\r
3141 </span>\r
3142 <hr />\r
3143 \r
3144 <h2><a name="robo1057">[Structures]<a name="User2dmode20Access20Layer2fual5fsend5fsa5freq5ft">\r
3145 User-mode Access Layer/ual_send_sa_req_t</a></h2>\r
3146 \r
3147 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
3148 <p><strong>NAME</strong></p>\r
3149 <span class="NAME"><pre>       <strong>ual_send_sa_req_t</strong>\r
3150 </pre>\r
3151 </span><p><strong>DESCRIPTION</strong></p>\r
3152 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters for\r
3153        ib_create_shmid\r
3154 </pre>\r
3155 </span><p><strong>SYNOPSIS</strong></p>\r
3156 <span class="SYNOPSIS"><pre>typedef union _ual_send_sa_req_ioctl\r
3157 {\r
3158         struct _ual_send_sa_req_ioctl_in\r
3159         {\r
3160                 net64_t                                         port_guid;\r
3161                 uint32_t                                        timeout_ms;\r
3162                 uint32_t                                        retry_cnt;\r
3163                 <a href="./ib_al_h.html#robo258">ib_user_query_t</a>                         sa_req;\r
3164                 uint8_t                                         attr[IB_SA_DATA_SIZE];\r
3165                 uint64_t* __ptr64                       ph_sa_req;\r
3166                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>* __ptr64        p_status;\r
3167 \r
3168         }       in;\r
3169         struct _ual_send_sa_req_ioctl_out\r
3170         {\r
3171                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
3172                 uint64_t                                        h_resp;\r
3173                 uint32_t                                        resp_size;\r
3174 \r
3175         }       out;\r
3176 \r
3177 }       ual_send_sa_req_ioctl_t;\r
3178 </pre>\r
3179 </span><p><strong>PARAMETERS</strong></p>\r
3180 <span class="PARAMETERS"><pre>       in.sa_mad_data\r
3181                The SA request to send.\r
3182 \r
3183        in.attr\r
3184                The SA attribute data to send.\r
3185 \r
3186        in.ph_sa_req\r
3187                Pointer to UAL's query handle.  The proxy fills this in\r
3188                before returning from the IOCTL handler to allow cancelation.\r
3189 \r
3190        in.p_status\r
3191                Pointer to status of the query.\r
3192 \r
3193        out.status\r
3194                Status of the query if it was initiated successfully.\r
3195 \r
3196        out.h_resp\r
3197                Handle to a response MAD.\r
3198 \r
3199        out.resp_size\r
3200                Size, in bytes, of the response MAD's buffer.\r
3201 </pre>\r
3202 </span>\r
3203 <hr />\r
3204 \r
3205 <h2><a name="robo1058">[Structures]<a name="User2dmode20Access20Layer2fual5fspl5fqp5fioctl5ft">\r
3206 User-mode Access Layer/ual_spl_qp_ioctl_t</a></h2>\r
3207 \r
3208 <p>[<a href="#robo_top_of_doc">top</a>][<a href="../robo_strutures.html#top">index</a>]</p>\r
3209 <p><strong>NAME</strong></p>\r
3210 <span class="NAME"><pre>       <strong>ual_spl_qp_ioctl_t</strong>\r
3211 </pre>\r
3212 </span><p><strong>DESCRIPTION</strong></p>\r
3213 <span class="DESCRIPTION"><pre>       IOCTL structure containing the input and output parameters to get\r
3214        the alias qp from KAL.\r
3215 </pre>\r
3216 </span><p><strong>SYNOPSIS</strong></p>\r
3217 <span class="SYNOPSIS"><pre>typedef union _ual_spl_qp_ioctl\r
3218 {\r
3219         struct _ual_spl_qp_ioctl_in\r
3220         {\r
3221                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
3222                 uint64_t                                        h_pd;\r
3223                 <a href="./ib_types_h.html#robo901">ib_net64_t</a>                                      port_guid;\r
3224                 <a href="./ib_types_h.html#robo206">ib_qp_create_t</a>                          qp_create;\r
3225                 void* __ptr64                           context;\r
3226 \r
3227         }       in;\r
3228         struct _ual_spl_qp_ioctl_out\r
3229         {\r
3230                 <a href="./ib_ci_h.html#robo1164">ci_umv_buf_t</a>                            umv_buf;\r
3231                 <a href="./ib_types_h.html#robo49">ib_api_status_t</a>                         status;\r
3232                 uint64_t                                        h_qp;\r
3233 \r
3234         }       out;\r
3235 \r
3236 }       <strong>ual_spl_qp_ioctl_t</strong>;\r
3237 </pre>\r
3238 </span><p><strong>FIELDS</strong></p>\r
3239 <span class="FIELDS"><pre>       in.h_pd\r
3240                Protection domain for the special qp.\r
3241 \r
3242        in.port_guid\r
3243                Port GUID on which to allocate the special QP.\r
3244 \r
3245        in.qp_create\r
3246                Special QP creation parameters.\r
3247 \r
3248        in.qp_context\r
3249                Context to associate with the QP, to be used in any notifications.\r
3250 \r
3251        out.status\r
3252                Status of the operation.\r
3253 \r
3254        out.h_qp\r
3255                Handle to the special QP.\r
3256 </pre>\r
3257 </span>\r
3258 </body>\r
3259 </html>\r